Một trong những câu hỏi được nhiều bạn sinh viên ngành công nghệ quan tâm nhất đó là: Cần học những kiến thức gì, rèn luyện kỹ năng gì để trở thành một lập trình viên? Câu hỏi nghe có vẻ đơn giản nhưng rất khó để trả lời, lập trình là một lĩnh vực rất rộng, có hàng tá ngôn ngữ cần phải học, hàng trăm công nghệ cần nghiên cứu, và môi trường mỗi công ty lại hoàn toàn khác nhau, do đó các thanh niên vẫn cảm thấy rất mông lung.
Dạo này có tham gia vài nhóm lập trình trên facebook nên mình phát hiện ra là hầu hết các bạn sinh viên vẫn chưa tưởng tượng được ra trường đi làm sẽ như thế nào. Thế nên trong bài viết này, mình sẽ dùng hết kinh nghiệm bao nhiêu năm đi “code thuê” của mình, như một lời tâm sự, để cố gắng miêu tả cho các bạn sinh viên về đời sống thật của các lập trình viên ngoài kia, họ đang làm gì? Có mệt không? Làm gì để sống sót?
1. Vững chắc các kĩ năng chuyên môn
Đây luôn là yếu tố được xem hàng đầu. Muốn trở thành một developer giỏi hãy chuẩn bị cho bản thân một nguồn kiến thức thật tốt để có thể đáp ứng một cách tốt nhất cho các nhu cầu công việc của mình. Một ví dụ đơn giản là công việc lập trình viên, thiết kế website bạn phải tự mình chuẩn bị mọi thứ, bên cạnh đó bạn phải thông thuộc nhiều ngôn ngữ lập trình web như: wordpress, python, PHP. Bên cạnh đó bạn cần thường xuyên đào sâu nghiên cứu để nâng cao kiến thức để đáp ứng được nhu cầu của công việc.
Nếu còn thời gian hãy cố gắng nâng cao trình độ anh văn bởi vì bạn nên hướng tới khách hàng là những người nước ngoài chỉ không chỉ loay hoay trong phạm vị nhỏ. Môi trường Developer luôn rất năng động, bạn buộc phải vận động nếu không muốn bị bỏ lại phía sau.
2. Quản lý và sắp xếp thời gian một cách tốt nhất
Deadline luôn là mục tiêu mà bạn phải hướng tới khi nhận các dự án. Do đó bạn phải có sự sắp xếp và quản lý thời gian một cách hợp lý nhất để tránh dẫn đến các trường hợp chậm trễ có thể ảnh hưởng đến uy tín của bạn.
Khi nhận được một dự án bạn cần ngay lập tức lên danh sách các việc cần làm và kèm theo đó là thời gian tương ứng. Sắp xếp dự án nào cần nhiều thời gian hơn để làm trước và sau. Mỗi dự án nên có một ít thời gian để bạn xử lý các sự cố hoặc trục trặc xảy ra. Hạn chế việc sát deadline mới làm có thể bạn vẫn đáp ứng kịp thời gian nhưng chất lượng sản phẩm hầu như không có.
3. Team work
Làm việc nhóm, tức là làm việc với người khác, chẳng ai viết code một mình cả đâu, bạn phải biết viết code chạy được với code của những thằng khác, thế nên từ khi còn trong trường, hãy học cách giao tiếp thật tốt với mọi người nếu sau này không muốn chửi nhau. Chấp nhận làm việc với những thằng ngu hơn bạn và học hỏi từ những thằng giỏi hơn bạn. Rảnh thì kiếm mấy quyển sách về giao tiếp với tâm lý học về mà đọc.
Chân thành hòa nhã với mọi người, biết trình độ mình ở đâu và luôn có tinh thần nâng cao, mà nói chung bạn cũng không giấu dốt được đâu, sau vài lần review code là mọi người đều biết nhau ở trình độ nào cả. Thi thoảng có over time muộn quá thì cũng vui vẻ đi nhậu, trà đá hay mát-xa với anh em cho nó tăng tinh thần đoàn kết :))
4. Tiếng anh
Mình nói thật, không biết tiếng Anh thì đừng có hòng lập trình ngon, google thì cũng phải google bằng tiếng Anh nó mới nhanh ra đáp án. Tuy nhiên bạn không cần phải chém tiếng Anh như gió hay đạt điểm cao TOEIC mới lập trình giỏi.
Bạn chỉ cần đọc hiểu tài liệu là đủ, gặp lỗi gì còn lên stackoverflow mà tìm cách fix được, viết tên hàm thì cũng phải viết tiếng Anh, trong thời buổi toàn cầu hóa hiện nay, outsource nhiều, code của bạn có thể được đọc bởi một thằng tây nào đó là chuyện bình thường. Đừng quá lo lắng, theo cách của mình cứ đọc gặp từ nào khó thì tra từ điển, sau một thời gian sẽ đọc được cả thôi.
5. Vấn đề sức khỏe
Đừng tưởng làm lập trình ngồi một chỗ trong phòng máy lạnh thì không lo bệnh tật. Sau vài năm bạn sẽ thấy có vài vấn đề như đau lưng, mỏi vai hay hoa mắt… Hãy bỏ ngay các thói quen thức quá khuya, ăn uống không đúng giờ và sử dụng chất kích thích như rượu bia, thuốc lá…
Một số thanh niên sau khi code điên cuồng làm vài ván dota để giải trí, lại ngồi thêm vài tiếng nữa,. Nói chung nếu không chịu khó vận động, sắp xếp thời gian chơi thể thao thì đừng mong tồn tại, bạn có sức khỏe mới theo đuổi đam mê được.
6. Khả năng chịu áp lực
Nhiều dự án có thể sẽ có deadline gần nhau cho nên áp lực khi ấy đối với bạn là tương đối lớn. Khi gặp phải sự hối thúc đến từ khách hàng bạn phải bình tĩnh để giải quyết vấn đề, tìm cách thư giãn và cân bằng về mặt tâm lý để có thể hoàn thành công việc một cách tốt nhất.
Developer tuy thoải mái về nơi chốn và thời gian làm việc nhưng áp lực về deadline luôn là thứ rất đáng sợ, hãy cố gắng sống chung với nó nếu bạn muốn trở thành một Developer thành công.
7. Chịu thay đổi
Nếu hiện tại bạn đang làm một lập trình viên, mà bạn không còn học hỏi và không còn đam mê với sự nghiệp của mình nữa, đã đến lúc ban nên cân nhắc xem mình cần phải làm gì để giải cứu bản thân khỏi tình thế đó và thay đổi mọi thứ.
Có thể chỉ đơn giản là thay đổi thái độ của bạn đối với công việc, hay là thử sức với những task mới ở công ty.
Hoặc đó cũng có thể là những thay đổi lớn như đổi vị trí việc làm, đổi công ty, thậm chí là đổi nghề. Đừng bằng lòng với thực tại chỉ vì làm vậy dễ hơn là thay đổi.
Nói chung, lập trình là một thế giới vô cùng thú vị. Đây là bài viết mà mình lảm nhảm tất tần tật những điều bạn cần phải học, những vấn đề mà bạn sẽ gặp trên con đường trở thành một lập trình viên.
Hi vọng sẽ giúp được bạn cái gì đó, chúc bạn thành công với đam mê của mình.
Đăng Quốc – ATP Software