Theo truyền thống, trong ngành công nghệ, các nhà phát triển được chia thành bốn cấp độ dựa trên trình độ chuyên môn của họ: Sơ cấp, Trung cấp, Cao cấp và Trưởng nhóm. Trong hai bài viết trước, chúng tôi đã đề cập đến tất cả những điều cơ bản về việc trở thành Nhà phát triển cấp trung và cấp cơ sở là như thế nào . Bây giờ là lúc để chuyển sang phân cấp tiếp theo. Nhà phát triển cấp cao, cảm giác trở thành một nhà phát triển cấp cao như thế nào và cấp cao khác với lập trình viên cấp trung như thế nào? Hãy cùng tìm hiểu.
Nhà phát triển cấp cao là ai?
Trong các bài viết về nghề nghiệp và chuyên môn trong phát triển phần mềm, chúng tôi luôn phải đưa ra tuyên bố từ chối trách nhiệm nào đó, giải thích rằng nhận thức và hiểu biết về một vị trí nhất định có thể khác nhau rất nhiều, tùy thuộc vào công ty, ngành mà công ty đó đang hoạt động và các yếu tố khác. . Một số người, chủ yếu là những người có xu hướng hơi bảo thủ, tin rằng bạn chỉ được phép gọi mình là Cấp cao nếu bạn có hơn 10 năm kinh nghiệm viết mã, điều này có trách nhiệm. Có nghĩa là, chỉ những năm bạn thực sự viết mã với tư cách là nhân viên toàn thời gian, bạn không thể bắt đầu tính từ lần đầu tiên bạn thử lập trình trên Cơ bản ở tuổi 12 (như nhiều lập trình viên trẻ có xu hướng làm, khiến các lập trình viên Senior thực sự khó chịu ). Ít bảo thủ hơn, nhiều người tin rằng hơn 5 năm làm việc toàn thời gian với tư cách là nhà phát triển phần mềm cho phép bạn tự gọi mình là Senior. Mặt khác, số năm kinh nghiệm chỉ là một con số, điều thực sự quan trọng là kiến thức, kỹ năng và kinh nghiệm áp dụng. Đây là lúc bạn phải thực sự cống hiến để xứng đáng với danh hiệu Senior, bởi vì Senior Developer thường được coi là một phù thủy mã hóa toàn năng, biết tất cả. Trong nhận thức của cấp quản lý, Senior thường là người biết cách giải quyết bất kỳ nhiệm vụ nào liên quan đến dự án hoặc cách viết mã được yêu cầu. Nhưng một trong những chức năng quan trọng nhất của Nhà phát triển cấp cao trong một dự án phát triển phần mềm cụ thể là kiến thức về bản thân dự án với tất cả các vấn đề, nhu cầu, sắc thái của nó, v.v. Có khả năng làm việc độc lập là một phẩm chất quan trọng của Senior. Điều này có nghĩa là Senior biết phải làm gì và khi nào, và không cần giám sát để hoàn thành công việc mà anh ta phải làm. Và đây là một phẩm chất khá có giá trị trong mắt bất kỳ nhà tuyển dụng nào, vì nó có nghĩa là bạn có thể giao cho nhà phát triển này một nhiệm vụ liên quan đến dự án và để anh ấy/cô ấy lo phần còn lại. Với “tất cả những việc còn lại” là: tìm ra nhu cầu, yêu cầu và hạn chế để hoàn thành nhiệm vụ, đưa ra cách tiếp cận phù hợp, tìm công cụ phù hợp, chia nhiệm vụ lớn thành các nhiệm vụ nhỏ hơn và giao cho Trung cấp và Trung cấp. Nhà phát triển, v.v. Có một khía cạnh chính khác giúp phân biệt Người cao tuổi với các lập trình viên Trung cấp và Sơ cấp. Đó là trong mã họ viết và cách họ làm điều đó. Cấp cao thường là và phải là người viết mã rõ ràng, đơn giản và ngắn gọn nhất. Đôi khi đến mức mã này trông quá đơn giản và cơ bản. Điều này là do Cấp cao phải xem xét không chỉ việc hoàn thành nhiệm vụ là kết quả cuối cùng mà còn là tác động tổng thể của mã mới đối với cơ sở mã của dự án. Các nhà phát triển cấp cao viết mã của họ có lưu ý đến khả năng bảo trì và khả năng mở rộng, và đây là thế mạnh chính của họ, thứ chỉ có thể đi kèm với kinh nghiệm chứ không phải gì khác.Trách nhiệm của một Senior Developer là gì?
Bây giờ, hãy nói chi tiết hơn về một số trách nhiệm tiêu chuẩn và phổ biến nhất của Nhà phát triển cấp cao, đương nhiên tập trung vào các trách nhiệm điển hình của lập trình viên Java.- Xác định và phân tích các yêu cầu của người dùng;
- Ưu tiên, chỉ định và thực hiện các tác vụ viết mã;
- Phát triển ứng dụng Java;
- Xem xét mã làm việc cho độ chính xác và chức năng;
- Phân tích các đoạn mã thường xuyên;
- Luôn cập nhật công nghệ mới và hướng dẫn các nhà phát triển Junior cách sử dụng công nghệ đó;
- Đưa ra các ý tưởng và giải pháp liên quan đến chu kỳ phát triển với các thành viên khác trong nhóm;
- Chịu trách nhiệm chung cho tất cả các công việc phát triển và mã của dự án.
Yêu cầu đối với Senior Developer
Dưới đây là danh sách các yêu cầu phổ biến và điển hình nhất đối với Nhà phát triển cấp cao mà bạn nên đáp ứng để có được công việc này. Tất nhiên, các yêu cầu sẽ khác nhau tùy thuộc vào chính sách tuyển dụng của công ty, công nghệ được sử dụng trong dự án và ngôn ngữ lập trình của bạn.- Kiến thức chung sâu rộng về phát triển phần mềm và các công nghệ của nó;
- Kiến thức vững chắc về Java;
- Có kinh nghiệm thiết kế, xây dựng và thử nghiệm các ứng dụng doanh nghiệp;
- Kiến thức chuyên sâu về các framework Java phổ biến như Spring, Spring Boot hoặc Java EE, JSF và các framework khác;
- Có kinh nghiệm với Thiết kế hướng đối tượng (OOD).
- Kỹ năng quản lý thời gian và ủy quyền tốt;
- Khả năng giải quyết vấn đề;
- Kỹ năng giao tiếp tốt;
- Kỹ năng giao tiếp bằng văn bản và bằng lời nói mạnh mẽ;
- Khả năng đáp ứng thời hạn và suy nghĩ chiến lược.