Làm sao để trở thành một lập trình viên giỏi

Làm sao để trở thành một lập trình viên giỏi?

Nếu bạn đã là một lập trình viên hay có ước mơ trở thành lập trình viên thì nên đọc bài này . Nó không giúp bạn trở thành một lập trình viên như bạn mong muốn mà có thể giúp bạn có cách nhìn và một lộ trình để trở thành lập trình giỏi. Nào cùng bắt đầu thôi! Học kỹ năng “kỹ thuật mới” và “phi kỹ thuật” theo cách riêng của mình

Lập trình viên kém chỉ học hỏi những điều khi nó hoàn toàn cần thiết. Lập trình viên giỏi học các kỹ năng “kỹ thuật mới” xuất hiện. Còn lập trình viên xuất sắc không chỉ học các kỹ năng “kỹ thuật mới” cho riêng mình mà còn học kỹ năng “phi kỹ thuật”. Họ sẵn sàng đón nhận nguồn kiến thức mà những người khác có thể không bao giờ quan tâm.

Đặt điều đó trong hoàn cảnh cụ thể, các lập trình viên kém chỉ học XAML khi họ bắt đầu một dự án sử dụng WPF. Lập trình viên giỏi đã học nó một năm trước bởi vì họ cảm thấy thú vị. Lập trình viên xuất sắc lại chăm chỉ đọc hướng dẫn thiết kế các ứng dụng WPF, lý thuyết khả năng sử dụng, hoặc học một số khóa học như nghiên cứu chẳng hạn, để làm cho UIS trở nên đặc biệt hơn, “Phải biết thử thách bản thân”.

Kiếm thu nhập từ việc lập trình

Nếu bạn muốn tiến xa hơn trong ngành này thì cần phải biết thử thách bản thân . Khi làm một dự án thì bạn nên chọn một chức năng mà bạn có thể làm khoảng 80% và 20% có thể học hỏi mới làm được. Vì chỉ khi như vậy bạn mới có thể nâng cao năng lực của mình. Trong 5 năm đầu đi làm bạn phải xung pha đi đầu không ngại khó khăn để trở thành một người am hiểu kiến thức để phát triển.

Biết nhìn vào thực tế, không giáo điều

Tuân thủ cứng nhắc các “quy tắc bất thành văn của lập trình” là một điều rất khó thực hiện với lập trình viên. Một lập trình viên giỏi sẽ luôn biết nhìn vào thực tế, căn cứ tình hình cụ thể chứ không chỉ giáo điều theo sách vở. Điều ấy có nghĩa là phải biết sáng tạo và học hỏi.

Sẽ có lúc bạn viết code mà không học hỏi cách thực hiện của người đi trước. Nhiều khi bạn bế tắc khi không biết phải viết code như thế nào. Nhưng hãy nhớ rằng sẽ không bao giờ có bad-code nếu có nhiều hơn một cách để viết nó, trừ khi bạn đã cạn kiệt khả năng sáng tạo. Biết cách nghiên cứu để tìm ra giải pháp

Nghiên cứu để tìm câu trả lời có nghĩa là bạn sẽ làm nhiều hơn việc chỉ gõ một số từ khóa vào một công cụ tìm kiếm hoặc đăng một câu hỏi tại Stack Overflow hoặc các diễn đàn MSDN. Tôi từng nhập vấn đề vào công cụ tìm kiếm mà không tìm ra kết quả.

Tại sao các công ty Product không thích nhân sự Outsourcing?

Mỗi câu hỏi tôi đăng trên Stack Overflow hoặc các diễn đàn MSDN cũng không bao giờ có được một câu trả lời thỏa đáng. Nhưng tôi vẫn giải quyết được vấn đề và nghĩ cách chuyển vấn đề sang một hướng đi khác. Tôi không phải là nhà ảo thuật, tôi chỉ biết làm thế nào để tìm câu trả lời hoặc phát hiện ra nguyên nhân gốc rễ.

Có nhiều vấn đề là tình huống, và nếu bạn phụ thuộc vào công cụ tìm kiếm hoặc các diễn đàn, bạn có thể lãng phí rất nhiều thời gian để đi xuống một cái hang thỏ (ý nói đi vòng vèo, lãng phí thời gian) và có thể không bao giờ nhận được một giải pháp như ý.

Bạn hãy nghiên cứu kỹ vấn đề để phân tích nguyên nhân gốc, tìm hiểu đầy đủ về hệ thống cơ bản để tìm manh mối và giải pháp khác. Và hơn hết, bạn hãy tìm hiểu thật kỹ để có cái nhìn xa hơn về một vấn đề trước khi đi sâu vào nó.

Có niềm đam mê

Bạn không thể bước lên đỉnh cao trong nghề này mà không yêu công việc. Có một số lập trình giỏi nói rằng: “Với tôi, nó đơn giản chỉ là một công việc”. Nhưng nếu đó là ý nghĩ của bạn, bạn sẽ không thể sẵn sàng làm bất cứ điều gì để thành công.

Ý kiến này của tôi khiến rất nhiều người bất mãn, bởi vì họ cảm thấy đó là một sự xúc phạm cá nhân. “Tôi là một lập trình giỏi, nhưng tôi còn có những ưu tiên khác cho cuộc sống của tôi.” Tôi hoàn toàn hiểu được, tôi cũng có những ưu tiên khác nữa.

Nhiều khi tôi ghét phải nói ra điều đó, nhưng khi đam mê công việc, tôi sẵn sàng (mặc dù không mong muốn) từ bỏ những ưu tiên khác để hoàn thành thật tốt công việc của mình. Đó không phải là một sự xúc phạm. Nếu bạn không sẵn sàng rút khỏi tất cả các điểm dừng khác, bạn không thể đạt được thành công, đấy là sự thật.

Bạn phải có niềm đam mê lập trình nhiều hơn nữa – bạn cũng phải vui mừng và tự hào về công việc của bạn, công nghệ bạn đang sử dụng, ông chủ của bạn, dự án của bạn, và tất cả những cái khác. Tôi đã thấy một số lập trình viên giỏi và thậm chí các lập trình viên xuất sắc chỉ làm việc ở mức độ bình thường bởi vì một số thứ không thích hợp với họ.

Làm việc hiệu quả hơn với 8 nguyên lý sống tối giản

Chẳng hạn như họ ghét dự án hoặc là phải sử dụng một công nghệ mà họ không thích. Tôi đã có một dự án phát triển, đã làm việc với dự án đó. Nhưng tôi không thích nó ngay từ lúc đầu. Nếu bạn thấy mình trong tình huống đó, bạn cần phải giải quyết ngay lập tức bằng cách khám phá điều gì đó về công việc, dự án được nhận, hoặc ra khỏi đó. Dự án đó sẽ không có giá trị nếu bạn không đam mê nó. Hãy là người lạc quan

Tôi từng nghe người ta nói rằng kẻ lạc quan nhất trên thế giới chính là nhà phát triển phần mềm. Trong suy nghĩ của họ, không có phần mềm nào là không thể viết được. Một ví dụ nhỏ, bạn hãy vào thử một site download phần mềm nào đó mà xem. Có hàng trăm hàng ngàn phần mềm bao gồm mọi lĩnh vực. Làm thế nào mà người ta có thể sáng tạo ra từng ấy phần mềm.

Chúng nhiều và tốt đến nỗi bạn không thể nghĩ ra nên sáng tạo thêm phần mềm nào. Thế nhưng từng ngày từng giờ, các nhà phát triển phần mềm luôn sáng tạo và cho ra nhiều phần mềm mới hơn nữa, những phần mềm mà đã có thời người ta cho là không thể tạo ra được. Dù sao thì lạc quan mấy cũng phải có giới hạn. Mấu chốt của vấn đề là họ không nhìn mọi thứ một cách tổng thể, mà ở từng phần cụ thể.

Ở một chừng mực nào đó, có thể xem đấy là đặc trưng của ngành thiết kế phần mềm, chia dự án ra thành những phần nhỏ và giải quyết từng phần. Nếu bạn không phân phối thời gian hợp lý, bạn sẽ không thể nào hoàn thành công việc.

Khi bạn bắt đầu viết chương trình “thực sự” đầu tiên (nghĩa là chương trình có thể thực hiện được một công việc nào đó cần thiết cho mọi người, không phải cho riêng bạn), phải chắc chắn rằng bạn dành đủ thời gian để vạch ra kế hoạch về những việc bạn định làm, thứ tự thực hiện, và kết quả cuối cùng là gì. Nếu bạn làm điều này, bạn sẽ thấy mọi thứ trở nên dễ dàng hơn và có thể hoàn thành nhanh hơn là bạn nghĩ.

Hãy làm việc theo nhóm!

Những cái "khó" khi mới học lập trình

Nếu bạn dự định trở thành một lập trình viên đơn độc, hãy suy nghĩ lại. 99,9% các dự án đòi hỏi phải làm việc theo nhóm. Và do đó, bạn cần phải có kinh nghiệm làm việc theo nhóm, phối hợp với những người khác trong một dự án. Một khi bạn đã hoàn thành những dự án nhỏ của riêng mình, đó là lúc bắt đầu tìm cách tham dự vào một dự án có nhiều người tham gia. Đó có thể là một game, một bản demo, hay bất cứ thứ gì.

Chỉ cần đó là dự án làm bạn quan tâm. Có nhiều các để tìm dự án, bạn có thể gia nhập vào những dự án đã có, tìm kiếm những nhóm vừa mới thành lập và xin gia nhập, hay thậm chí tự lập một dự án và mời người khác cùng cộng tác. Điều quan trọng nhất là bạn phải học cách làm việc cùng với những người khác để thực hiện mục tiêu chung.

Những thứ nên đọc!

Đọc sách là nguyên tắc cơ bản… Và điều này càng chính xác trong ngành phát triển phần mềm. Nếu bạn là người không thích đọc sách, có lẽ bạn nên chọn một công việc khác. Bởi vì đọc sách chính là chìa khóa để củng cố và hiện thực hóa những tiềm năng của bạn. Bạn có thể tự hỏi vì sao tôi có thể viết nhiều phần mềm trong thời gian ngắn như thế?

Có 3 lý do chính: kinh nghiệm, những đồng nghiệp tài năng mà tôi luôn hài lòng khi được làm việc chung và cuối cùng là những quyển sách tôi đã đọc. Tôi không thể giúp bạn có được kinh nghiệm và những bạn đồng nghiệp giỏi, nhưng tôi có thể giới thiệu cho bạn những quyển sách hay: Chúc bạn luôn thành công trên con đường mình đã chọn nhé!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Bình luận