Thảo luận Những kĩ năng để trở thành một Lập trình viên xuất sắc

Thảo luận trong 'Trò Chuyện Tổng Hợp' bắt đầu bởi nhungbuna, 26 Tháng mười một 2015.

  1. nhungbuna Thành viên

    Là một lập trình viên xuất sắc bao gồm nhiều yếu tố hội tụ chứ không phải chỉ giỏi viết code. Justin James đã liệt kê những điểm nổi bật cần có của các lập trình viên để họ có thể bước vào hàng ngũ cấp cao trong nghề nghiệp của mình.

    Để trở thành một lập trình viên xuất sắc, bạn cần phải có đầy đủ đặc điểm giúp cho kỹ năng, kinh nghiệm và kiến thức của bạn kết hợp nhuần nhuyễn để làm việc. Có một số lập trình viên có trình độ cao để phát triển trong công việc nhưng họ sẽ không bao giờ thành công bởi thiếu những yếu tố cần thiết khác. Dưới đây là 7 kỹ năng cần có để trở thành một lập trình viên xuất sắc.

    [​IMG]

    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.

    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ả. 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ễ.

    [​IMG]

    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ọ. 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ó.

    Để cái tôi của mình lại phía sau

    Nhiều lập trình viên có cái tôi rất lớn. Bạn thông minh hơn, hiểu biết nhiều hơn, hoặc có kinh nghiệm hơn người khác không có nghĩa là bạn giỏi hơn người đó. Bạn cần phải đối xử với mọi người một cách tôn trọng, biết lắng nghe và thực tâm xem xét những ý tưởng của người khác. Bạn hãy yêu cầu giúp đỡ khi cần thiết và không coi thường bất cứ ai khác. Bạn cũng nên quan tâm nhiều hơn về việc giúp đỡ các đội khác thành công nếu được họ tín dụng cho công việc đó.

    [​IMG]

    Có tinh thần kinh doanh

    Các lập trình viên giỏi nhất không phải chỉ biết đến kỹ thuật. Họ có cảm giác thực sự của các doanh nhân và cảm thấy mình thực sự làm chủ trong các sản phẩm. Đối với họ, sự thành công của sản phẩm không chỉ phục vụ việc tăng lương. Bởi vì họ có tâm huyết trong các dự án, làm việc vì lợi ích của dự án và muốn tiến xa hơn nữa trong công việc.

    Đo hai lần, cắt một lần... nhưng đừng đo quá ba lần

    Một trong những sai lầm tồi tệ nhất một lập trình viên có thể làm là lao vào viết mã mà không có bất kỳ ý tưởng gì về nó. Khi lập trình viên xuất sắc bắt tay vào viết mã, đó là vì các thông số kỹ thuật rất giống với một mô hình họ thực hiện trước đây. Và khi họ đang phải đối mặt với một vấn đề mới, họ nghĩ ngay đến kế hoạch và nghiên cứu sâu hơn.

    Điều quan trọng nhất của lập trình viên xuất sắc là không để cho mình bị hút vào cái bẫy "tê liệt phân tích". Bạn phải biết thận trọng hơn về một số điều (ví dụ bất cứ thứ gì liên quan đến tiền hoặc dữ liệu cá nhân). Bạn cũng cần tính toán cẩn thận trước khi làm (Đo hai lần, cắt một lần...) nhưng đừng để mất quá nhiều thời gian cho việc đó (Đừng đo quá ba lần).

    Điều quan trọng nữa là sau khi bắt đầu viết mã, bạn phát hiện một có một vài điểm sai sót nào đó và thấy cần phải điều chỉnh kế hoạch thì hãy tạm dừng kế hoạch đó lại. Các lập trình viên giỏi nhất mà tôi biết sẵn sàng hy sinh một kế hoạch nếu nó không còn phù hợp hoặc phát hiện nó có những thiếu sót không thể khắc phục.

    Cuối cùng, chúc bạn sớm trở thành một lập trình viên tuyệt vời nhất!

    Nguồn: Sưu tầm