Trong một nhóm lập trình viên thì làm thế nào để nhận biết người này giỏi hơn người kia? Cũng như trong công việc người này mang lại giá trị cho công ty nhiều hơn người kia ? Nếu chỉ nhìn vào kết quả làm việc, khối lượng công việc hoàn thành của mỗi người là giống nhau thì khó mà đánh giá. Tuy nhiên cũng có những khía cạnh khác để chúng ta đánh giá và so sánh như nào là người lập trình viên giỏi hơn nhé.
Hiểu rõ các vấn đề trước khi code.
Những lập trình viên giỏi thực sự là người rất cẩn thận khi coding, bằng việc tập trung vào chất lượng code chứ không số lượng. Người lập trình viên trung bình rất thích code, họ dường như ngồi lì trước máy tính hầu hết thời gian để sinh ra hàng đống code nhưng chất lượng chương trình của họ có hoặc không thể làm việc hiệu quả, thường gặp bug và họ phải sửa chúng nhiều lần. Việc “viết code và fix bug” này làm phí hoài thời gian và chẳng bao giờ đạt tới chất lượng như khách hàng mong đợi. Đoạn code tốt được tạo ra bởi người lập trình viên có kỉ luật, họ biết từng vấn đề gặp phải cần mất bao lâu thời gian, lập kế hoạch cẩn thận về cách tiếp cận của mình để đảm bảo rằng họ hoàn thành nhiệm vụ tương ứng.
Với mọi vấn đề đều có nhiều cách giải quyết nó nhưng người lập trình viên giỏi nhất sẽ cố gắng hiểu vấn đề trước khi làm bất cứ cái gì. Bằng việc hiểu vấn đề, người đó sẽ suy nghĩ cẩn thận về cách giải quyết nó và thảo luận nó với team của mình và tìm ra giải pháp tốt nhất. Việc lắng nghe các giải pháp từ mọi người sẽ khiến bạn nhìn nhận một vấn đề theo hướng đa chiều, thảo luận và tìm ra giải pháp tốt nhất cho vấn đề đó. Bằng việc nhìn vào vấn đề, hình dung ra kết quả, người đó sẽ hình dung mình cần giải quyết nó trong bao lâu. Ngược lại, với những lập trình viên trung bình sẽ ngay lập tức bắt đầu viết mã trước mà không suy nghĩ và rồi sửa nó nếu nó không đáp ứng yêu cầu. Kiểu “code trước tính sau ” và “sửa rồi code tiếp” này sẽ chẳng bao giờ tạo ra những phần mềm thực sự chất lượng cả, bởi vì họ càng sửa nó, họ sẽ càng tiềm ẩn bug trong tương lai.
Cùng chia sẻ để thành công.
Người lập trình viên giỏi nhất thường thích chia sẽ những công nghệ mới với team của mình và học lẫn nhau. Họ biết rằng bằng việc chia sẻ, họ sẽ học được nhiều hơn, thế nên khi họ tiếp cận công nghệ mới, họ sẽ thảo luận với team về những gì cần thiết cho công việc hiện tại để áp dụng, phần khác, nó giúp mọi người tránh mất thời gian và sai lầm thay vì tự mày mò nó một mình. Với những lập trình viên giỏi, họ luôn cố gắng trở nên tốt hơn bằng việc làm cho người khác giỏi hơn. Họ luôn tìm kiếm lời khuyên từ những người thâm niên trong ngành bởi vì những người này có kinh nghiệm, đã trải qua nhiều dự án và họ thường có những câu trả lời chính xác. Việc teamworks sẽ khiến công việc trở nên dễ dàng, khiến dự án có thể dễ dàng thành công hơn ngồi làm một mình.
Người lập trình viên trung bình có thể rất giỏi chuyên môn nhưng họ có tính khá giống một người hùng, được người khác thừa nhận nên họ không thích chia sẻ và giữ thông tin cho riêng mình, trong trường hợp này họ đánh mất giá trị của mình, vì thực sự, trong ngành công nghệ phần mềm, công việc cần sự chung tay từ mọi người và nếu trong một team mà có quá nhiều người thích tỏ ra anh hùng thì chung cuộc sẽ chẳng có ai thành anh hùng thực sự cả. Cho dù họ giỏi và có thể kết thúc công việc của mình đúng hạn nhưng nếu tất cả mọi người không thể hoàn thành dự án chung thì kết quả sẽ chẳng thể thay đổi. Thất bại vẫn sẽ đến vì sự ích kỷ.
Biết cách sắp xếp công việc.
Một trong những kĩ năng rất quan trọng của những lập trình viên hàng đầu đó là việc họ biết cách sắp xếp công việc. Người lập trình viên trung bình rất giỏi về kĩ thuật nhưng nếu họ không có khả tổ chức, hàng đống công việc cần được thực hiện và cuối cùng sẽ bị tràn ngập bởi sức ép dự án. Người lập trình viên giỏi luôn lên kế hoạch cho công việc của mình và đánh giá tầm quan trọng của dự án với các nhiệm vụ hàng ngày chi tiết và ưu tiên những việc quan trọng trước. Họ sắp xếp công việc hằng ngày, các cuộc họp, nhiệm vụ và cập nhật mọi thứ mà họ phải đạt được trong ngày để cho mọi việc sẽ không bị trì hoãn sang ngày sau. Họ lưu lại tất cả công việc của mình và có thể, báo cáo cho cuộc họp, và cung cấp các chi tiết khác khi được yêu cầu. Bằng cách làm việc theo thời gian biểu lịch biểu, công việc sẽ trở nên đơn giản hơn trong tầm tay, đạt được mục tiêu cuối cùng của dự án.
Ngược lại, người lập trình viên trung bình không nghĩ xa trước mà chỉ làm việc tương ứng với điều người quản lí giao cho họ . Khi có sự thay đổi hoặc vấn đề xảy ra, họ không biết phải ưu tiên cái gì và không có kế hoạch hoàn thành chúng mà dựa vào người quản lí dự án phân công cho họ việc tương ứng. Người lập trình viên giỏi nhất không chỉ nghĩ về mục đích dự án, mà còn hình dung nó và hiểu cách hoàn thành nó bởi vì họ có thể thấy chính xác điều họ phải làm từng ngày, từng tuần, từng tháng để đáp ứng mong đợi.
Không ngừng học hỏi.
Người lập trình viên giỏi nhất sẽ thường xuyên cải tiến kĩ năng của họ. Họ sẽ luôn tìm kiếm tri thức mới và thường không đợi Manager yêu cầu. Họ học điều mới theo cách riêng , bởi vì họ thực sự muốn là người giỏi nhất trong lĩnh vực mà họ biết. Các lập trình viên giỏi thật sự thường quan tâm đến các Event mới về công nghệ, các khóa học mới và họ sẽ chủ động tham dự, học hỏi những công nghệ mới để phát triển bản thân, cũng như mong muốn đóng góp các kiến thức mới vào công việc
Những lập trình viên trung bình không thích học cái mới nhiều bởi vì họ tin rằng họ đã tốt nghiệp đại học, đã có bằng cấp và biết “đủ để làm việc của mình”. Họ bằng lòng với điều đang có nhưng có lẽ, các bạn ấy quên rằng, công nghệ sẽ luôn thay đổi từng giây, và có lẽ sau vài năm nữa, các bạn ấy nên lo lắng về kĩ năng của mình liệu có đủ khả năng để đáp ứng được công việc hiện tại hay không. Công nghệ phần mềm là ngành rất năng động và nếu người ta không giữ cùng nhịp với sự thay đổi của công nghệ, họ có thể bị đào thải.
Có nhiều lập trình viên trung bình trong công nghiệp ngày nay nhưng có rất ít “lập trình viên giỏi thực sự”. Lí do thật đơn giản: ngày nay rất ít trường dạy cách làm việc nhóm trong chương trình đào tạo lập trình viên. Lập trình viên trung bình có thể giỏi về kĩ thuật nhưng lại nghèo nàn kiến thức làm việc nhóm và sắp xếp hệ thống công việc hằng ngày.
Không có đam mê, bạn sẽ không bao giờ vươn xa trong sự nghiệp lập trình viên cả. Thiếu đam mê chính là lí do chính tạo nên việc rất nhiều lập trình viên không thể trở thành giỏi cho dù họ có kiến thức và có cố gắng bằng mọi cách. Tất nhiên ai cũng hiểu, ngồi làm việc bạn không thích sẽ chẳng bao giờ mang lại kết quả tốt nhất.
Bài viết được mình tham khảo từ nguồn topitworks.com
Liên hệ: Mr. Hải - Zalo/Phone: 0902.035.028 - hainh2k3@gmail.com
-
Với nhiều năm kinh nghiệm và làm việc trực tiếp xây dựng các hệ thống website, phần mềm quản lý, kế toán, kho, bán hàng, ERP, điều hành, giám sát và quản lý sản xuất như MES, Andon, mobile … Mình hoàn toàn tự tin có thể tư vấn cũng như hỗ trợ các bạn các giải pháp, vấn đề bạn quan tâm.
Mình cũng có mong muốn hợp tác, trao đổi, cùng làm với các bạn có ý tưởng phát triển dự án thú vị, hãy liên hệ với mình ngay nhé.