26 tuổi thất nghiệp và hành trình chuyển ngành lập trình từ con số 0
Bài đăng này đã không được cập nhật trong 2 năm
Chuyển ngành CNTT ở tuổi không còn trẻ, áp lực từ sự kỳ vọng của gia đình, từ bạn bè cùng trang lứa, từ các bạn trẻ đã có nền tảng lập trình tốt, mình buộc bản thân phải thành công sớm
Đó là những gì mình luôn tự nhủ trong suốt quá trình chuyển ngành sang CNTT. Bắt đầu từ con số 0, chỉ sau 4 tháng học lập trình, mình đã tìm được công việc đầu tiên tại Next Tech Group với vị trí Front-End Developer và hiện tại mình đang làm việc tại IFI Solutions - công ty thành viên thuộc Tập đoàn NTT Data của Nhật Bản. Trong bài viết này, mình sẽ chia sẻ về lý do mình đến với lập trình, những khó khăn gặp phải, lộ trình học cũng như kinh nghiệm phỏng vấn tại các công ty công nghệ lớn dành cho dân chuyển ngành. Mong rằng bài viết của mình phần nào hữu ích với các bạn.
1. Vấp ngã ở tuổi 26 và quyết định chuyển ngành để “làm lại từ đầu”
Trước khi chuyển ngành, mình là dân chuyên kỹ thuật công trình ở Đại học xây dựng. Tuy nhiên, đến năm thứ 4 thì mình bỏ ngang vì cảm thấy không phù hợp và chuyển qua dạy tiếng Anh, sau đó thì mình lại chuyển qua dẫn tour du lịch.
Đến đầu năm 2020, dịch Covid 19 bùng phát khiến mình chính thức thất nghiệp. Lúc đó, mình bắt đầu hoang mang và cảm thấy mất định hướng trong cuộc sống. Mình đã tự hỏi, có nên tiếp tục chờ đợi cho đến khi mọi chuyện bình thường trở lại hay phải chủ động tìm kiếm một con đường mới. Và cuối cùng, mình đã quyết định chuyển ngành.
Sau khi cân nhắc, mình thấy lập trình là ngành rất tiềm năng, ổn định và ít bị ảnh hưởng nhất.
Mình quyết định học một khóa lập trình. Lúc đầu cũng hoang mang nhưng may mắn học đâu hiểu đó nên cũng đỡ nhiều. Đây cũng chính là lúc mình nhận ra đam mê thật sự của bản thân. Và từ đó, mình đã quyết tâm dành hết thời gian, công sức để theo đuổi ngành này.
2. Khó khăn bước đầu khi chuyển ngành lập trình
Không biết các bạn có giống mình không nhưng lúc đầu mới chuyển sang lập trình thì mình thấy rất hoang mang, cũng gặp nhiều khó khăn và dễ nản vì:
-
Bản thân có chút tự ti khi xuất phát điểm chậm hơn so với người khác. Do từ đầu mình không theo học các trường CNTT nên so với các bạn học cùng tuổi thì mình bị chậm hơn khoảng vài năm. Khi ngồi 3, 4 tiếng chỉ để code một chương trình cơ bản, hoặc fix cả ngày mà không tìm ra lỗi, mình cũng cảm thấy xấu hổ với các bạn trong nhóm. Đây là điều không thể tránh khỏi khi bắt đầu chuyển ngành, những lúc như vậy, mình thường tự động viên bản thân phải cố gắng hơn nữa, cần cù bù thông minh, làm đến bao giờ xong mới thôi.
-
Mới tìm hiểu về ngành, thật sự k biết bắt đầu từ đâu. Bản thân ngành IT khá khó, đòi hỏi khả năng tư duy, sự kiên trì và nhẫn nại. Khi mới học, mình đã khá “ngộp” khi phải tiếp xúc với rất nhiều thứ mới, cách suy nghĩ khác so với ngành học trước đây. Bên cạnh đó, khi tìm tài liệu tự học trên mạng, có quá nhiều thứ mà mình không biết nên học từ đâu, học như thế nào. Vì thế, tốt nhất, khi bắt đầu học, bạn nên tìm người hướng dẫn hoặc theo học tại trung tâm để có một lộ trình học cụ thể, phù hợp với trình độ của bản thân.
-
Gặp khó khăn thì không biết hỏi ai. Vì là dân trái ngành nên mình không có nhiều bạn bè làm lập trình, mỗi lúc gặp khó khăn thì mình không biết nhờ ai giúp đỡ. Sau này, khi đã học rồi thì mình có làm thân với đội giảng viên và mentors nhờ anh chị hướng dẫn, định hướng, và hỏi thêm bạn bè lập trình viên trên diễn đàn để mở rộng network, trau dồi kiến thức và tìm kiếm cơ hội, tham gia các dự án thực tế. Mình thấy việc tham gia vào những chương trình sự kiện hay cuộc thi kiểu như Web Code Challenge hay Job Fair IT cũng tốt. Vừa kiểm tra kiến thức bản thân, mà có thêm kinh nghiệm. Trong sự kiện thì cũng hỏi được người này người kia, dù bình thường diễn giả chỉ trả lời các câu hỏi trong sự kiện mà thôi. Mình mới thấy có sự kiện dành cho người chuyển ngành trên facebook, bạn nào quan tâm thì có thể đăng ký tham gia tại link này nhé: https://bit.ly/lap_trinh_cho_dan_trai_nganh
Cho dù bản thân gặp nhiều khó khăn nhưng mình đều cố gắng vượt qua bằng sự kiên trì không ngừng nghỉ. Mình đầu tư rất nhiều thời gian để code, có những lần code đến 12 tiếng mỗi ngày, nhất là đợt làm project, mình ngủ chỉ 4 tiếng/ ngày, thời gian còn lại chỉ để làm project.
3. Quá trình học lập trình từ con số 0 đến full-stack developer
Mình biết mỗi người đều có những cách học khác nhau, nhưng mình mong rằng với lộ trình dưới đây là những nội dung mình đúc kết được trong quá trình học có thể phần nào giúp ích cho mọi người.
Giai đoạn 1: Xây dựng “gốc lập trình”
Thời gian này, mình tập trung vào học các kiến thức nền tảng cơ bản nhất:
- Tìm hiểu cấu trúc cơ bản trong HTML, các loại thẻ văn bản, media…
- Học về CSS - ngôn ngữ thiết kế giao diện cho trang web
- Xây dựng 1 trang web đơn giản và học về Git, Github để lưu trữ code, xuất bản trang web
- Tìm hiểu các kiến thức về JavaScript: biến, kiểu dữ liệu, hàm, scope, array và vòng lặp, học các kỹ thuật nâng cao về object và arrays…
Giai đoạn 2: Học lập trình Front-end
Qua giai đoạn này thì mình sẽ tập trung học về giao diện web thông qua:
- Tìm hiểu React, các cú pháp, components và xây dựng giao diện trang Web cơ bản bằng React
- Thiết kế và xây dựng giao diện cho trang web hoàn chỉnh
- Tìm hiểu về Event form, Lifting State Up, Redux…
Giai đoạn 3: Học lập trình Back-end
Nếu front-end được ví như “bộ mặt” của trang web thì Backend chính là “khung xương” vững chắc để website có thể hoạt động trơn tru, hiệu quả. Những kiến thức mình đã học trong mảng Back-end bao gồm:
- Tìm hiểu các phần khác nhau của back-end
- Xây dựng các API bằng JavaScript và triển khai chức năng CRUD (tạo, truy xuất, cập nhật và xóa…)
- Học về hệ cơ sở dữ liệu MongoDB, kết nối API với phía Front-end React
- Thiết lập những chức năng thực tế từ việc truy vấn dữ liệu trong Database…
Trong mỗi giai đoạn, mình được tham gia các dự án cuối khóa và hoàn thành sản phẩm thực tế theo nhóm. Điều này vừa giúp mình rèn luyện kiến thức, khả năng lập trình và các kỹ năng mềm khác như làm việc nhóm, thuyết trình… Sau 3 giai đoạn thì mình đã có thể tự xây dựng và thiết kế được 1 website hoàn chỉnh, chính thức trở thành 1 full-stack web developer.
4. Kinh nghiệm phỏng vấn cho người chuyển ngành
Bằng cấp có quan trọng với người chuyển ngành?
Sau khi học xong khóa lập trình full-stack cũng là lúc mình đã tìm được công việc đầu tiên. Lúc đó, có nhiều bạn hỏi mình rằng: “Không có bằng cấp công nghệ thông tin thì lúc đi phỏng vấn có ảnh hưởng gì không?
Câu trả lời của mình là “Có”, nhưng không quá quan trọng. Bằng cấp là 1 yếu tố phổ biến để các nhà tuyển dụng xem xét lựa chọn bạn từ vòng CV. Tuy nhiên, nếu bạn không có bằng cấp thì có thể thay thế nó bằng các projects thực tế hoặc các khóa học lập trình mà bạn đã tham gia. Điều quan trọng là bạn phải chỉ ra rằng mình có thể làm đc những gì qua các dự án đó để thuyết phục nhà tuyển dụng rằng mình là người phù hợp cho vị trí họ cần tìm.
Các vòng phỏng vấn
Thông thường các công ty nhỏ chỉ có 1 vòng phỏng vấn, tuy nhiên các công ty lớn sẽ có 2-3 vòng. Vòng 1: CV Vòng 2: Test thuật toán, coding…(hoặc tiếng Anh với công ty base nước ngoài) Vòng 3: Vòng phỏng vấn trực tiếp với quản lý (nếu công ty base nước ngoài thì có thể phỏng vấn bằng tiếng Anh)
Thường ở vòng 3 thì họ sẽ hỏi bạn về các kinh nghiệm thực tế, dự án trước đây và các câu hỏi khác để đánh giá bạn có phù hợp với môi trường làm việc hay không?
Mình có 1 tip dành cho các bạn chuyển ngành như mình, đó là các bạn nên đi phỏng vấn nhiều để biết ngành IT này đang yêu cầu gì và mức offer như thế nào. Để tìm kiếm cơ hội phỏng vấn, nhất là cho các công ty công nghệ lớn, các bạn nên tham gia các sự kiện như Job Fair, Hackathon, Tech Expo…. Hồi đấy, mình có tham gia sự kiện Job Fair do MindX tổ chức, có rất nhiều công ty công nghệ lớn đã đặt bàn tuyển dụng. Mình đã được phỏng vấn trực tiếp cùng 2 công ty công nghệ là NextTech và Solid, và rất may mắn sau đó thì mình đã trúng tuyển vào NextTech.
Hy vọng rằng, câu chuyện của mình đã mang đến những kinh nghiệm và lời khuyên bổ ích cho các bạn đang có dự định chuyển ngành lập trình. Chúc các bạn sẽ sớm thành công trên chặng đường sắp tới!
All rights reserved