Trước khi các bạn đọc bài viết này thì hãy thử nán lại và tự hỏi chính mình rằng: “mình đã bỏ lỡ những gì khi làm lập trình viên nhỉ?” “Mình có thật sự thỏa mãn khi đang làm công việc hiện tại hay không?” Nếu các bạn đã Tự hỏi chính mình xong rồi thì đọc tiếp nhé. Trong bài viết này mình muốn chia sẻ với các bạn những điều mà mình cảm thấy hối tiếc khi không biết chúng sớm hơn. Mong rằng sau bài viết này, các bạn sẽ có những định hướng tốt hơn cho công việc của mình sau này.
Trước khi quyết định trở thành một web developer, mình đã từng là một kỹ sư phần mềm. Mình cũng từng làm việc với các phần mềm trước đây, chủ yếu là với robot và các máy móc – những khối kim loại vô tri vô giác. Mình chợt nảy ra ý nghĩ: “Liệu chuyển sang web developer có phải là một quyết định thú vị không nhỉ?”. Mình chỉ nghĩ rằng đó là một công việc về lập trình. và mình cũng cảm thấy khá hứng thú với nó, vậy thì tại sao không thử?
Thú thật với các bạn, đến bây giờ mình vẫn cảm thấy đó là quyết định đúng đắn nhất trong cuộc đời của mình. Nhưng đời không phải lúc nào cũng màu hồng, cũng có vài điều mình ước có thể biết sớm hơn trước khi đưa ra quyết định này.
Web developer sẽ không làm việc với thuật toán.
Từ kiến thức nền tảng về lập trình của mình, mình tưởng tượng sẽ đụng đến toán học rất nhiều. Mình cứ nghĩ để trở thành một web developer sẽ phải dùng đến tất cả những thuật toán điên rồ và biến chúng thành những đoạn code. Trong đầu mình nảy ra hàng tá suy nghĩ rằng mình phải cố gắng hết mình với đống thuật toán để đi xa hơn trên con đường trở thành web developer.
Nhưng mọi thứ lại không như thế, web developer nói không với các thuật toán. Việc phát triển web mang thiên hướng nghệ thuật hơn là khoa học, và tất nhiên sẽ không có những thuật toán điên rồ mà mình từng nghĩ trước đây. Việc tìm hiểu ngọn nguồn của một vấn đề, cách giải quyết cũng như tối ưu một task nào đó mới là kỹ năng quan trọng. Mình phải mất một khoảng thời gian để hiểu được điều đó và bỏ ra vài đêm để tự học những kiến thức cơ bản.
Bạn sẽ phải giao tiếp với mọi người thường xuyên
Thành thật mà nói, khi nhắc đến web developer thì trong đầu mình nghĩ ngay đến những con người cả ngày ngồi trên ghế, bấm những dòng code mà không cần phải giao tiếp với người khác, nghe như môi trường làm việc “yên tĩnh”? Có vẻ các web developer chỉ cần ai đó đưa ra yêu cầu cho mình, rồi tìm một góc nào đó và làm xong phần việc của mình. Nghe khá nhàm chán, nhưng lại là điều mình mong đợi khi bắt đầu làm phát triển web.
Những ngày đầu đi làm, mình được học về mô hình agile và các yêu cầu của khách hàng. Đảm bảo với các bạn là những ngày đó mình không muốn nói chuyện với bất cứ ai, nhưng điều kiện lại không cho phép. Mình buộc phải nói chuyện rất rất nhiều người mỗi ngày là đằng khác. Hàng loạt câu hỏi được đưa ra, những cập nhật mới về dự án, khách hàng thay đổi yêu cầu… Những việc đó đòi hỏi mình phải giao tiếp suốt cả ngày với mọi người. Dần dần mình nhận ra, kỹ năng giao tiếp là yếu tố quan trọng đối với bất cứ người làm phát triển web giỏi nào.
Nếu bạn đang tìm một công việc hạn chế tương tác với người khác, thì web developer không phải là một lựa chọn tốt. Mình thật sự shock khi làm việc với các web developer, họ không như những gì chúng ta thường nghĩ. Họ thân thiện, nói nhiều, năng động và sẵn sàng giúp đỡ mình bất cứ lúc nào trong công việc.
Bạn sẽ phải vừa học vừa làm
Ngôn ngữ lập trình và các framework hỗ trợ sẽ được cập nhật mọi lúc mọi nơi. Cả kể các IDE cũng được cập nhật và nó có thể thay đổi quy trình làm việc thường ngày của bạn. Công ty của bạn có thể yêu cầu bạn chuyển từ Angular sang React hoặc từ MCV sang .NET Core bất cứ lúc nào.
Thậm chí bạn còn có thể bị yêu cầu nhận một công việc mới và phải sử dụng hàng tá công nghệ hoàn toàn khác nhau. Cách tốt nhất để xử lý các tình huống này là bạn cần trang bị cho mình những khái niệm cũng như những kiến thức cơ bản về các công nghệ mới đó, sau đó chỉ là vấn đề về thời gian để tìm ra cách triển khai mà thôi. Nhưng hãy cố gắng nắm bắt cách triển khai nó trong thời gian sớm nhất có thể nhé. Công ty không thể đợi bạn được đâu. Vậy mới nói, để trở thành một web developer, bạn phải học cách chạy đua với thời gian.
Một cách vừa học vừa làm nữa đó là tận dụng thời gian nghỉ để đọc một bài viết liên quan nào đó hoặc thử làm một project cá nhân để củng cố khác khái niệm và cú pháp của ngôn ngữ bạn đang học. Đừng ngại khi bạn phải tìm kiếm trên google nhiều lần, đến cả các nhà phát triển lâu năm cũng phải tìm kiếm mọi thứ trên đó.
Các dự án của bạn thường không phải là tạo nên trang Web mới hoàn toàn
Theo các tutorial và các lớp học phát triển web, mình luôn nghĩ mọi dự án sẽ xuất phát từ những công đoạn đầu tiên. Nhưng không, hầu hết các công ty đã có sẵn phần mềm tạo trang web và họ chỉ muốn bạn cập nhật cũng như bảo trì web mà thôi.
Đó là lý do tại sao việc hiểu các khái niệm cốt lõi lại quan trọng như vậy. Bạn sẽ đọc qua các đoạn code của người khác và phải tìm hiểu những gì họ đã làm và tại sao họ lại làm như vậy. Biết cách đọc code cũng là một kỹ năng quan trọng đấy.
Mình mất vài tháng để tìm hiểu về các đoạn code mà chắc chắn rằng lần đầu bạn xem qua sẽ rất đáng sợ vì bạn không thể hiểu nổi một số khái niệm cốt lõi trong đó. Đó có thể là điểm trừ của bạn trong mắt cấp trên nếu họ không thấy bất cứ sự cố gắng nào ở bạn đấy.
Sẽ không có bất kỳ quy định nào
Thực sự điều này làm mình hơi mất tập trung. Theo quy trình kỹ thuật, có một số quy định bạn phải đáp ứng nếu không sản phẩm của bạn sẽ bị gửi trả lại hoặc tệ hơn là bị loại bỏ hoàn toàn. Điều không thể tránh khỏi là Bạn sẽ phải theo dõi rất nhiều công việc và có vô số giấy tờ cần bạn xin chữ ký. Trong ngành phát triển web, có một số quy tắc giúp công việc này dễ dàng hơn, nhưng chúng có thể sẽ được thay đổi cho phù hợp với cách làm việc của từng công ty.
Ví dụ, không phải công ty nào cũng áp dụng Agile theo cùng một cách. Cũng không phải mọi công ty đều dành thời gian để viết các bài kiểm tra hoặc họ có thể bỏ qua những phần nhất định mà họ cảm thấy không cần thiết.
Công việc phát triển web là một công việc đầy màu sắc. Tại sao mình lại nói như vậy? Vì công việc này phụ thuộc vào ngôn ngữ bạn sử dụng, môi trường bạn làm việc cũng như những người bạn làm việc cùng mà đem đến cho bạn những trải nghiệm khác nhau.
Trên đây chỉ là một vài điều mình ước là mình có thể biết ngay từ đầu. Hiện tại thì đã có nhiều bài viết đề cập đến vấn đề này rồi, nhưng không nhiều bài viết dành thời gian để giải thích cho mọi người hiểu về những gì mà một nhà phát triển chuyên nghiệp thực sự làm mỗi ngày. Hy vọng rằng bài viết nhỏ này có thể cung cấp cho những bạn mới bắt đầu vào con đường này có một cái nhìn sâu sắc hơn một chút.
Có bất ngờ nào đến với bạn khi trở thành một web developer không? Bạn có kỳ vọng mình sẽ bị thổi bay bởi những điều mới lạ trong công việc mà trước đây bạn chưa bao giờ nghĩ tới không ? Hãy tự mình trả lời những câu hỏi này nếu bạn đang chuẩn bị chuyển sang một lĩnh vực hoàn toàn không liên quan tới những gì bạn làm trước đây nhé.
Xem thêm tuyển dụng lập trình Web tại TopDev
TopDev