Lập trình viên … trưởng thành

8646

Bài viết đã được sự cho phép của tác giả Vũ Công Tấn Tài

Người ta thường dùng những danh hiệu như Fresher, Junior, Senior, … để chỉ cấp bậc hoặc kinh nghiệm làm việc của một lập trình viên, những thứ này có thể các bạn đã quá quen thuộc. Chúng ta dành rất nhiều thời gian để phân loại, hoặc nói về việc như thế nào là Fresher, như thế nào là Junior, … Mọi thứ dường như có vẻ phức tạp.

  10 câu nói cực hay về lập trình
  10 hiểu lầm tai hại về lập trình

Mình không phản đối cách phân cấp này, tuy vậy mình muốn mang đến cho mọi người 1 góc nhìn mới, đơn giản và dễ hiểu hơn về cách phân cấp lập trình viên. Hình dung trong cuộc sống, dù chúng ta có nhiều tên gọi khác nhau cho các giai đoạn của cuộc đời (thiếu nhi, thiếu niên, thanh niên, trung niên, cao niên, …), chúng ta vẫn có thể nhìn 1 người nào đó dưới góc độ “sự trưởng thành”. Tương tự, chúng ta có thể đánh giá 1 lập trình viên dựa trên sự TRƯỞNG THÀNH của họ.

Trưởng thành là có trách nhiệm với việc mình làm

Đây có lẽ là yếu tố tiên quyết cho việc nhìn nhận một người thực sự trưởng thành hay chưa, và lập trình viên cũng vậy. Chúng ta cần có trách nhiệm với những gì được giao, chúng ta phải nỗ lực để đảm bảo các yêu cầu được hoàn thành đúng thời hạn. Hoàn thành không chỉ có nghĩa là tạo ra một kết quả đúng, mà còn phải hoàn thiện sao cho tốt nữa (code sạch, hiệu suất tốt, bảo mật, …).

Ở một vài khía cạnh nào đó, lập trình viên là người đầu tiên phải test sản phẩm, phải đảm bảo code của mình thực sự chạy đúng chứ không phải chỉ biết phó thác điều đó cho tester. Đôi khi một tester bắt được nhiều bug không phải là do người tester giỏi, mà đơn giản là người viết code đã không đủ tốt.

Trưởng thành là không dựa dẫm vào người khác

Khi mới đi làm, có thể bạn sẽ cần tới sự hướng dẫn và giúp đỡ của nhiều người. Điều này không có gì là xấu, tuy nhiên chúng ta cần phải có ý thức cải thiện khả năng của mình theo năm tháng. Đừng hỏi sự giúp đỡ 2 lần với cùng 1 vấn đề. Hãy tự biết rút ra kinh nghiệm cho bản thân.

Đừng chỉ biết thụ động đợi leader giao việc, thay vào đó hãy luôn cố gắng đóng góp ý kiến trong các buổi thảo luận, mạnh dạn đưa ra giải pháp và bảo vệ giải pháp của mình. Hãy biết cùng mọi người giúp đỡ lẫn nhau để hoàn thiện sản phẩm chứ đừng chỉ biết đổ lỗi cho người này đã viết code tệ hay người kia đã test không kĩ khi sản phẩm có lỗi.

Đừng xin lỗi, hãy trở nên tốt hơn. Dù xây dựng phần mềm là việc làm có tính teamwork nhiều người, nhưng hãy luôn sẵn sàng để có thể giải quyết được một mình.

Trưởng thành là biết thừa nhận khuyết điểm

Các cụ có câu: nhân vô thập toàn. Có nghĩa là không ai là không có khuyết điểm, ai cũng có điểm gì đó mà mình không thật sự giỏi. Đừng ngại thừa nhận điều mình không biết / làm sai, để học hỏi, để nhờ người khác giúp đỡ, và để tiến bộ hơn.

Nghe thì có vẻ hiển nhiên, nhưng thật sự là có rất nhiều người không bao giờ chịu thừa nhận mình sai dù cho đã được nhiều người góp ý. Họ luôn cho rằng giải pháp của họ là tốt nhất, công cụ này là nhất, công cụ khác là không tốt, … Mình đã từng gặp những người luôn cho rằng Web là nhất, Mobile chỉ là thứ nhỏ bé, React là nhất trong khi Angular là rác rưởi, ..v.v. Mình nghĩ rằng đây không phải là một thái độ tốt.

Khi quá tôn thờ một điều gì đó, bạn đánh mất cơ hội có được những điều khác tốt hơn.

Trưởng thành là luôn dám đương đầu với thách thức

Như đã nói, khi mới bắt đầu công việc, chúng ta có thể cần tới sự giúp đỡ và hướng dẫn của những người đi trước. Khi bạn còn ít kinh nghiệm, có thể là bạn chỉ được giao những nhiệm vụ nho nhỏ như fix một lỗi giao diện, làm một hàm ultility bổ trợ cho các lớp logic phía trên, …v.v.. Ít ai dám giao cho bạn công việc lớn như thiết kế nguyên một module phụ trách thanh toán, kiểm tra quyền truy cập …

Tuy vậy, theo thời gian, bạn cần phải chứng tỏ được khả năng có thể đảm đương được những công việc lớn hơn, có ảnh hưởng nhiều hơn. Nếu cấp không chủ động, thì hãy thử mở lời rằng bạn muốn làm thứ gì đó lớn hơn coi sao. Tất nhiên là bạn phải nỗ lực để hoàn thành công việc, để chứng minh rằng mình có thể làm được những việc phức tạp.

Không cần phải quá vội, nhưng hãy tiến bộ từng chút một. Đừng thấy việc khó mà thoái thác cho người khác, như vậy là bạn tự đánh mất cơ hội của chính mình đấy.

Trưởng thành là có thể giúp đỡ người khác

Điều này thì chắc là cũng dễ hiểu, lúc bắt đầu bạn được người khác giúp đỡ, sau đó thì tới lượt bạn dùng kinh nghiệm của mình giúp đỡ lại những người mới khác. Bạn cần phải giúp nhóm của mình nâng cao khả năng của từng thành viên, như vậy thì nhóm mới mạnh và làm được nhiều việc lớn hơn.

Ngoài ra, người ta còn cho rằng, khi hướng dẫn lại cho người khác, tức là bạn đang học tới 2 lần. Mình tin điều này là đúng. Trong lúc hướng dẫn người khác, có thể bạn sẽ phát hiện ra những góc nhìn mới rất thú vị. Bạn cũng có thể được lòng nhiều người khi đã giúp đỡ họ, điều này thật sự là cần thiết trong việc nâng cao uy tín cho bản thân.

Bởi vậy, đừng chỉ biết mỗi bản thân, hãy tỏ ra hữu ích và trách nhiệm bằng việc hỗ trợ những người khác.

Tổng kết

Mình từng gặp nhiều khó khăn khi cố vạch ra những giới hạn rõ ràng cho những khái niệm như Fresher, Junior, Senior, … Vì thế mà mình gặp phải khó khăn khi không biết làm thế nào để đạt được những mức độ tương ứng.

Khi nhìn nhận khả năng và vai trò của lập trình viên dưới góc nhìn của sự trưởng thành, mình cảm thấy nó dễ hiểu và dễ hình dung hơn, từ đó việc xây dựng kế hoạch rèn luyện và phát triển cũng dễ dàng hơn, và mình muốn chia sẻ điều đó với mọi người trong bài post này.

Cuối cùng, trưởng thành không chỉ gói gọn trong những điều trên, nó còn nhiều hàm ý rộng lớn hơn nữa, ví dụ như việc xây dựng tính kỉ luật, có được sự kiên trì, biết mình thật sự muốn gì và vạch ra con đường đi, sáng tạo, … Nhưng cũng giống như các giai đoạn của cuộc đời, bạn liên tục phải giải quyết nhiều vấn đề mới, vậy nên đừng ngại để luôn đối mặt và vượt qua nó.

Đừng để bạn chỉ lớn lên, mà không hề trưởng thành.

Bài viết gốc được đăng tải tại Nhungdongcodevui

Có thể bạn quan tâm:

Tìm việc IT lương cao, đãi ngộ tốt trên TopDev ngay!