Không ít Lập trình viên front-end (FE developer) hiểu được rằng, dường như có một ranh giới phân định khá rõ ràng trong nghề front-end. Dù là một sinh viên mới ra trường hay đã có vài năm kinh nghiệm, ranh giới phân định sẽ đẩy các lập trình đến với một câu hỏi: Liệu nên chọn hướng đi nào? Các bậc thang phát triển nghề nghiệp sẽ ra sao?
Bài viết này sẽ mang tới đôi điều thảo luận về vấn đề này, đặc biệt sẽ hữu ích đối với các bạn muốn đi theo hướng thuần kỹ thuật (Technical leader), thay vì là con đường của một Business Analyst ( Chuyên viên phân tích nghiệp vụ) hay Project Manager (Chủ nhiệm dự án).
NGHỀ LẬP TRÌNH VIÊN FRONT-END – ĐÔI NGẢ ĐƯỜNG ĐI
Trước hết, ta nên định nghĩa ranh giới về hai hướng đi của một FE developer hiện đại.
Một số lập trình viên chọn hướng tập trung vào các kỹ năng truyền thống của FE developer như HTML, CSS, làm việc dựa trên bản thiết kế đồ họa, tập trung xử lý hiệu ứng và tương tác với người dùng. Số FE developer khác lựa chọn bên còn lại, được sở hữu bộ kỹ năng được mài giũa về JavaScript, có hiểu biết về một số khái niệm mà trước kia do lập trình viên back-end (BE developer) chuyên trách. Đó là lý do vì sao, có thể nói vui rằng, dù có cùng ngồi chung 1 quán nước, hai ông FE developer chưa chắc đã nói được chuyện gì cùng nhau 🙂
VÌ SAO VIỆC NHẬN THỨC VỀ RANH GIỚI NÀY LẠI QUAN TRỌNG?
Bởi điều này liên quan mật thiết đến nhu cầu tuyển dụng của các công ty khi họ muốn tuyển một FE developer. Trên thực tế, nhiều công ty thích tuyển dụng một hồ sơ giỏi cả HTML/CSS cũng như hiểu biết sâu về Javascript. Tuy nhiên, chính ranh giới nói trên đã tạo ra hai nguồn nhân lực front-end với lối tư duy và kỹ năng khác biệt, rất hiếm hoặc hầu như không có lập trình viên giỏi đồng đều và được gọi là full-stack developer một cách đúng nghĩa. Vì vậy, tùy thuộc vào yêu cầu và kỳ vọng, mà các công ty sẽ cần bộ kỹ năng thiên về hướng nào mà đánh giá liệu ứng viên đã phù hợp về các yêu cầu về dự án trong ngắn hạn và dài hạn.
Nếu hiểu được điều này, một lập trình viên có thể định nghĩa các tiêu chí và kỹ năng phát triển cần có của bản thân một cách độc lập, tự dự đoán trình độ hiện tại đã đủ để có được nhiều cơ hội mở ra trên thị trường việc làm chưa, thay vì chỉ là tâm lý “làm đến đâu biết đến đấy”.
JAVASCRIPT – HƯỚNG ĐI MỚI CHO LẬP TRÌNH VIÊN FRONT-END
Hãy nhìn thẳng vào một sự thật rằng/sự thật, thế giới đang phát triển quá nhanh để một front-end developer có thể chỉ dừng lại ở HTML/CSS đơn thuần như trước kia!
Vì sao?
Khi các công cụ kéo thả tự động để thiết kế một website, phần mềm hỗ trợ cho việc tạo giao diện tùy biến dần trở nên phổ biến thì cũng ảnh hưởng ít nhiều đến tương lai của lập trình viên HTML/CSS truyền thống. Ngoài ra Javascript dần trở thành nhu cầu nóng, bởi khi các ứng dụng di động trở nên phổ biến hơn thì các yêu cầu xử lý về trình duyệt càng trở nên phức tạp và các ngôn ngữ lập trình mới thì cứ ra đời một cách liên tục.
Bên cạnh đó các framework như Angular hay thư viện React đều yêu cầu FE developer có mức độ hiểu biết sâu hơn về một số lĩnh vực vốn dĩ thường được xử lý bởi một back-end developer trong truyền thống. Javascript cũng góp phần không nhỏ vào việc cải thiện và bổ sung cho back-end, từ việc lưu trữ cho đến xác thực hóa.
Tất cả những thay đổi này khiến FE developer truyền thống đứng trước thử thách phát triển kỹ năng: hoặc họ cần phải trở thành một kỹ sư UX, người có thể phối hợp chặt chẽ với Designer về trải nghiệm người dùng, chịu trách nhiệm về một thiết kế với những hiệu ứng mượt mà, sáng tạo. Mặt khác, họ cũng có thể vượt qua ranh giới, làm những công việc có thiên hướng nhiều hơn về Javascript và liên tục trau dồi các kỹ năng về Javascript, đồng thời phải hiểu nhiều hơn về các nguyên tắc hệ thống như API design hay mô hình data (data modeling).
Nhưng yêu cầu đối với một kỹ sư UX sẽ không chỉ dừng lại ở kỹ thuật mà còn phải có óc thẩm mỹ, khả năng cảm nhận về mỹ thuật và nghiên cứu hành vi người dùng khá tốt, và thực tế là khía cạnh này không hề dễ dàng để đáp ứng một cách hoàn hảo. Chính vì thế, việc chuyển hướng trau dồi thêm về Javascript được nhiều người ưa chuộng hơn để đáp ứng nhu cầu cấp thiết về dự án.
KỸ NĂNG CHỌN LỰA CÔNG VIỆC
Như đề cập phía trên, việc nhận thức về hướng phát triển của bản thân trong tương lai là một kỹ năng rất quan trọng của lập trình viên FE khi chọn lựa công việc. Trong thực tế tuyển dụng của Sutunam, chúng tôi nhận thấy rằng không dễ để tìm được một hồ sơ lập trình viên FE chất lượng và có định hướng công việc rõ ràng. Nhiều người chỉ đơn thuần là tìm các công việc giống hệt những gì mà công ty trước đã yêu cầu họ.
Lời khuyên đưa ra là, khi tiếp cận một công việc mới, có 3 câu hỏi mà bạn – một lập trình viên FE cần tự trả lời:
- Bản mô tả công việc đã đủ rõ ràng chưa? Bạn đã hiểu bạn cần làm gì cho các dự án của công ty chưa?
- Mục tiêu nghề nghiệp của bạn là gì và bạn sẽ cần trau dồi những kỹ năng gì cho hướng đi ấy?
- Yêu cầu công việc có đủ mở để bạn có thể phát triển chuyên môn phù hợp định hướng trong tương lai gần và xa không?
Và khi đó, bạn có thể đánh giá được bản thân và sẵn sàng đương đầu với một ngành IT đa chiều và nhiều thay đổi. Không quan trọng xuất phát điểm hiện tại của bạn là gì, các bước tiếp theo bạn sẽ làm mới là điều quan trọng.
Tại Sutunam, cho dù hướng đi trong tương lai của bạn lựa chọn là gì: một kỹ sư UX hay một lập trình viên Javascript, chúng tôi đều sẵn sàng trao cho bạn cơ hội được phát triển bản thân và tiến xa hơn, đảm bảo một lộ trình đúng đắn và rộng mở nhất cho sự nghiệp. Và chúng tôi cũng sẽ rất hy vọng tìm kiếm được những người đồng sự cùng chí hướng.
Xin được mượn lời Heraclitus đã từng nói cho lời kết, “The only constant in life is change” để ngụ ý rằng, điều duy nhất bất biến chính là sự thay đổi. Nếu bạn đang nghĩ HTML/CSS là đủ, mà không kịp thay đổi và thích ứng, bạn sẽ rất dễ dàng bị tuột lại về phía sau. Hi vọng rằng, bài viết này sẽ mang lại một số góc nhìn mới cho bạn về các bước đi tiếp theo trong nghề nghiệp của mình.