Nghề IT: Học gì? Làm gì?

Friday, April 28, 2017
Edit this post


Chào các bạn, hôm nay tôi muốn chia sẻ một chút tới các bạn về chủ đề Định hướng nghề nghiệp. Các bạn biết đấy, ngày tôi học lớp 12, lúc nộp hồ sơ thi đại học, tôi đã đăng ký chọn ngành Công nghệ thông tin (IT - Information Technology) của một trường đại học trong Sài Gòn. Thực ra vào thời điểm đó tôi không có chút khái niệm gì về nghề IT cả, mọi tưởng tượng về nghề IT của tôi đều khác xa so với thực tế để rồi khi nhập học và đi làm mới thấy không được định hướng nghề nghiệp sẽ nguy hiểm tới mức nào.

Rất may mắn là tôi đã vượt qua được những cú sốc ban đầu và dần thích nghi với những môn học, những công việc cụ thể trong nghề này, nhưng... có lẽ không phải ai cũng được may mắn như tôi, vì có những bạn học chỉ mới học được 1 học kỳ đã nhận ra mình không hề có chút hứng thú nào với ngành này và đành phải bỏ ngang hoặc bị đuổi. Hoặc có những người cố gắng lết qua 5 năm đại học để rồi ra trường lại đi làm một nghề khác chẳng liên quan gì tới những cái đã được học gây nên sự lãng phí vô ích cho gia đình và xã hội.

Vậy nên, nếu bạn trẻ nào có dự định theo nghề IT, xin hãy đọc bài viết này, vì đây là những chia sẻ thật nhất của tôi, một người đã và đang làm nghề IT. Dù không dám tự nhận là dày dạn kinh nghiệm nhưng cũng đủ để truyền tải đôi điều tới các bạn nếu bạn có ý định đi theo nghề này.


Vấn đề thứ nhất - Học gì?

Nghề IT có rất nhiều những con đường và lựa chọn khác nhau nhưng hãy nhớ rằng: giỏi sử dụng Photoshop không có nghĩa là giỏi IT, biết chỉnh sửa cắt ghép âm thanh cũng không phải là giỏi IT và tất nhiên chơi game giỏi cũng không phải là giỏi IT. Ngày xưa tôi cũng nghĩ như vậy, vì tôi rất thích vọc các phần mềm máy tính, cũng gọi là biết chút chút so với chúng bạn nên mới đâm đầu theo nghề IT. Lúc nhận được thời khóa biểu đầu tiên khi vào trường đại học, tôi thấy có môn "Xử lý âm thanh", lòng thầm nghĩ ngay "À, chắc là dùng SoundForge Pro hoặc Audacity đây", thấy môn "Kỹ thuật đồ họa" thì nghĩ ngay "À, Photoshop chứ gì đâu mà"...

Tất cả những suy nghĩ đó đều sai lầm, câu trả lời của tôi là hầu hết tất cả các môn học trong trường đại học sẽ không phải là cách sử dụng phần mềm, mà là cách bạn viết nên phần mềm đó. Cụ thể hơn, với môn "Kỹ thuật đồ họa", các bạn sẽ phải dùng một ngôn ngữ lập trình nào đó cùng các thư viện của nó (Java chẳng hạn) để xử lý các tập tin hình ảnh bằng các giải thuật lập trình theo sách giáo khoa... Tin tôi đi, nếu bạn không yêu thích lập trình thì chắc chắn bạn sẽ bị dội và sốc vì thấy mọi thứ đều khô khan và chán ngắt với những dòng lệnh máy tính cứ như ngôn ngữ của người ngoài hành tinh.

Để có thể học tốt và tồn tại qua những tháng năm đại học đối với ngành Công nghệ thông tin, các bạn không có sự lựa chọn nào khác ngoài việc phải học thật tốt 4 môn sau: "Kỹ thuật lập trình", "Cấu trúc dữ liệu", "Lập trình hướng đối tượng" và cuối cùng là tiếng Anh. Ở Việt Nam, không tính tiếng Anh thì cả 3 môn lập trình này hầu như đều được dạy bằng ngôn ngữ lập trình C/C++ (đừng mơ tới những ngôn ngữ hay công nghệ cao hơn như C#, Java, .Net nhé, cứ học cách sử dụng C cho tốt đi đã).

Sở dĩ các bạn buộc phải học tốt 3 môn lập trình trên bởi vì chúng là nền tảng cho hầu như tất cả những môn học sau này, nếu các bạn thi tốt nghiệp đại học thì chắc chắn 2 môn chính sẽ là "Kỹ thuật lập trình" và "Cấu trúc dữ liệu", còn môn "Lập trình hướng đối tượng" sẽ được hỏi rất nhiều khi các bạn đi phỏng vấn xin việc sau khi ra trường. Bản thân tôi ngày đó cũng từng chán ngán để rồi phải học lại môn "Kỹ thuật lập trình", nhưng cũng rất may mắn nhờ những tháng ngày tự ôn luyện môn này mà tôi đã tìm được niềm vui thích của mình trong nó và dần dần thích nghi được với các môn học IT khác, tuy có hơi muộn nhưng có còn hơn không :)

"Kỹ thuật lập trình" là môn học đòi hỏi tư duy về lập trình rất nhiều, cụ thể là bạn sẽ phải tìm cách chuyển các giải thuật (các bước để thực hiện một bài toán, công việc) trên giấy thành ngôn ngữ máy để máy tính có thể xử lý. Các bài tập kinh điển của môn này có thể kể đến như: vẽ tam giác bằng ký tự *, tìm số nguyên tố, xác định số chẵn lẻ, in chuỗi đảo ngược, số Fibonacci, các giải thuật sắp xếp v.v... Môn "Cấu trúc dữ liệu" là môn học nâng cao của "Kỹ thuật lập trình" giúp các bạn làm quen với các khái niệm như stack, queue, danh sách liên kết, cây nhị phân... những khái niệm này khi đi làm có thể các bạn sẽ gần như không sử dụng tới nhưng khi phỏng vấn với các khách hàng hoặc công ty thì họ vẫn rất ưa thích hỏi các câu hỏi liên quan tới môn này. Lưu ý là 2 môn này sẽ sử dụng C để lập trình nhé.

"Lập trình hướng đối tượng" là môn học rất quan trọng vì nó xuất hiện trong hầu hết các ngôn ngữ lập trình hiện đại sau này (Java, PHP, C# và thậm chí cả Javascript), đây có thể coi là nền tảng của nền tảng, các bạn tuyệt đối không được coi thường. Môn học này thường được dạy bằng C++. Những câu hỏi liên quan tới môn này thì cứ gọi là được hỏi liên tục khi các bạn đi phỏng vấn, các câu hỏi kinh điển ví dụ như các tính chất cơ bản của lập trình hướng đối tượng, các ví dụ liên quan tới tính kế thừa, các loại access modifiers của Java v.v... Tóm lại, chỉ cần học tốt 3 môn lập trình này thì các bạn sẽ không ngán bất cứ ngôn ngữ hay công nghệ mới nào, điều quan trọng hơn là nó sẽ giúp các bạn có thể tốt nghiệp đại học một cách êm xuôi... Còn tiếng Anh thì sao? Các bạn hãy kéo xuống dưới và đọc tiếp để thấy được tầm quan trọng của nó nhé.


Vấn đề thứ hai - Làm gì?


OK, sau 5 năm thì cuối cùng tôi cũng đã học xong, dù có hơi trầy vi tróc vẩy một chút nhưng cuối cùng cũng tốt nghiệp rồi, giờ thì tôi làm gì tiếp theo đây? Một là về nhà ăn bám cha mẹ, hai là tự kinh doanh, ba là xin việc đi làm. Theo quan điểm của tôi, nghề IT khi ra đi làm sẽ có rất nhiều dạng khác nhau:
- Dạng cơ bản nhất là đi làm Lập trình viên (Developer).
- Dạng thứ 2 là làm Kiểm thử (Tester hay có một số nơi còn gọi là QC).
- Dạng thứ 3 là đi làm quản lý (PM - Quản lý dự án, Team Lead, Technical Leader... những cái này thì chỉ dành cho những ai có lâu năm kinh nghiệm mà thôi).
- Dạng thứ 4 là đi làm IT Admin (quản lý máy móc, thiết bị, xử lý các sự cố liên quan tới máy tính, máy in, phần mềm... cho các công ty) - cái này thì công ty nào cũng cần nhé, không phân biệt công ty IT hay công ty thường.
- Cuối cùng là làm các công việc khác liên quan tới IT nhưng không nặng về lập trình như QA (quản lý chất lượng), sale (kiếm hợp đồng cho các công ty IT), người triển khai (deployer - nôm na là người đi cài đặt sản phẩm phần mềm sau khi đã được hoàn thành cho khách hàng sử dụng). Xin nói trước đây chỉ là những hiểu biết còn hạn hẹp của tôi về nghề IT, nếu có gì thiếu sót mong bạn đọc bỏ qua cho hoặc có thể comment bổ sung để cùng nhau chia sẻ thêm kiến thức.

Ở đây tôi chỉ xin nói về dạng thứ nhất - Developer (Lập trình viên) vì tôi đã và đang đi theo hướng này. Làm developer cũng có rất nhiều dạng:
- Bạn có thể ngồi nhà viết chương trình upload lên Playstore hay AppStore để kiếm tiền từ Google hay Apple, anh Nguyễn Hà Đông với trò chơi nổi tiếng Flappy Bird là một ví dụ.
- Hoặc bạn cũng có thể làm Freelancer, tự rao bán kỹ năng của mình trên các trang web, diễn đàn việc làm để kiếm khách hàng. Với dạng này thì bạn sẽ là một full-stack developer (tự kiếm hợp đồng, tự thỏa thuận giá cả, tự lấy requirements từ khách hàng, tự lập trình, tự test v.v...).
- Tự mở một công ty riêng nhận phần mềm về làm kiếm tiền, tự điều hành một công ty gia công phần mềm: cần tới vốn, kỹ năng, kinh nghiệm, quan hệ cùng rất nhiều thứ khác.
- Nếu bạn chưa đủ bản lĩnh hay tiền bạc để có thể đi theo 3 hướng trên, hãy tự kiếm cho mình một chút kinh nghiệm bằng cách đi xin việc ở các công ty phần mềm. Theo kinh nghiệm của tôi thì hầu hết các công ty phần mềm đều tuyển người ít nhất 3 năm kinh nghiệm trở lên, vậy ai sẽ nhận những sinh viên chẳng có chút kinh nghiệm nào như các bạn? Thời gian đầu, các bạn nên chấp nhận làm việc cho những công ty nhỏ, công ty start-up, làm những công việc đơn giản với mức lương bèo bọt nhưng có thể cho bạn nhiều cơ hội học hỏi, quan sát để tích lũy dần kinh nghiệm. Nói một cách đơn giản hơn, bạn có 2 lựa chọn: tự làm phần mềm của mình, hoặc đi làm phần mềm cho người khác.

Ngày chưa ra trường, tôi vào làm việc cho một công ty phần mềm nhỏ trong thành phố với mức lương 3tr8/tháng, mỗi ngày phải đi xe bus cả đi lẫn về khoảng hơn 30km (chưa tính quãng đường đi bộ), tuy việc đi lại có hơi vất vả nhưng tôi vẫn rất vui vẻ và hào hứng, vì có việc làm là vui rồi. Các bạn cũng có thể đầu quân cho các công ty phần mềm lớn nhưng có các chương trình đào tạo cho lính mới như FPT Software, TMA... Đặc điểm chung của các công ty này là sau khi kết thúc khóa đào tạo, các bạn sẽ phải ký hợp đồng làm việc cho họ trong một thời gian xác định với mức lương cũng tạm ổn đủ để trang trải các chi phí trong cuộc sống và quan trọng hơn là để tích lũy kinh nghiệm. Tóm lại, trong khoảng thời gian này, kinh nghiệm là ưu tiên trên hết.


Chia sẻ về làm gia công phần mềm

Việc đầu quân cho các công ty gia công phần mềm lớn sẽ mang lại cho các bạn rất nhiều cơ hội, việc học hỏi các công nghệ mới gần như là điều bắt buộc, tiếng Anh là thứ buộc phải có và các cơ hội đi nước ngoài cũng luôn luôn có rất nhiều. Cho những bạn chưa biết thì gia công phần mềm có nghĩa là các công ty ở các nước giàu có hơn như Mỹ, Nhật, các nước Châu Âu... thay vì thuê lập trình viên của nước họ viết phần mềm thì họ sẽ về các nước nghèo hơn như Việt Nam, Ấn Độ... để thuê lập trình viên bởi vì giá cả nhân công ở Việt Nam rẻ hơn rất nhiều lần, điều này sẽ giúp họ tiết kiệm được một phần lớn chi phí cho dự án, hoặc cũng có thể là các công ty ngay tại Việt Nam thuê một công ty phần mềm khác viết ứng dụng cho họ và nếu như bạn làm việc cho một công ty gia công phần mềm thì hẳn nhiên bạn sẽ là người được thuê, hay nói cách khác, bạn sẽ là lực lượng sản xuất chính của công ty đó.

Chia sẻ một chút là đối với các khách hàng Châu Âu, Châu Mỹ, gần như chắc chắn là họ sẽ phỏng vấn trực tiếp để xem bạn có đạt các yêu cầu về trình độ, kỹ năng mà họ mong muốn hay không. Tất nhiên là việc phỏng vấn sẽ phải bằng tiếng Anh rồi, phỏng vấn của các khách hàng Âu Mỹ thường khá rộng và sâu bởi vì thường thì họ muốn một full-stack developer hơn (một lập trình có đầy đủ các kỹ năng cần thiết, không chỉ đơn thuần là biết lập trình), do vậy hầu như chỉ các developer đã có tối thiểu vài năm kinh nghiệm mới có thể được làm việc với họ. Làm việc với các khách hàng Âu Mỹ cũng rất hấp dẫn vì họ thường offer cho bạn các cơ hội sang nước họ để gặp gỡ, training trực tiếp, nghe rất là đã phải không nào?

Đối với các khách hàng Nhật thì họ lại ít khi phỏng vấn trực tiếp bạn, họ chỉ rót tiền cho phía công ty và công ty sẽ tự chọn người để phục vụ cho dự án đó. Cường độ làm việc cho các dự án của Nhật sẽ nặng hơn rất nhiều so với các dự án của Âu Mỹ, việc bạn phải OT triền miên (Work overtime - làm thêm giờ) gần như là điều chắc chắn. Tuy nhiên, ưu điểm đối với các dự án Nhật là công việc thường không khó và các tài liệu, requirements của họ thường rất rõ ràng, dễ hiểu và dễ implement (viết code). Do đó, nếu bạn là sinh viên chưa có kinh nghiệm, lại không giỏi tiếng Anh thì khả năng bạn phải làm cho các dự án của Nhật là rất cao. Nhưng không sao, nghề dạy nghề mà, cứ làm nhiều sẽ tích lũy được nhiều.

Bản thân tôi cũng rất may mắn khi chỉ mới ra trường đi làm được 1 năm là đã được khách hàng offer sang Mỹ công tác, may mắn đó có được là nhờ tiếng Anh của tôi cũng ở mức khá, giao tiếp được với khách hàng. Do đó, tiếng Anh là một kỹ năng không thể thiếu đối với người làm nghề này, vì như một đàn anh đi trước đã từng nói với tôi rằng: "Một developer chưa biết công nghệ này, thì có thể chỉ mất 1 tháng để học hỏi và thành thạo nó, nhưng nếu một developer mà không biết tiếng Anh thì sẽ phải mất cả năm trời cũng chưa chắc đã có thể đọc thông viết thạo". Đừng chần chừ, hãy học tiếng Anh ngay từ bây giờ bạn nhé.

Trải nghiệm xin visa Mỹ B1/B2 tại Sài Gòn và Hà Nội
Tôi đã fail visa H1B như thế nào?
Tôi đã tìm việc ở Thái Lan như thế nào?

Trên đây là những điều tâm huyết, những kinh nghiệm mà tôi tích góp được sau nhiều năm hoạt động trong nghề IT muốn chia sẻ tới các bạn. Hy vọng các bạn trẻ sau khi đọc được bài viết này sẽ có một cái nhìn chính xác, cụ thể hơn đối với nghề IT để có thể định hướng được một cách rõ ràng hơn con đường sự nghiệp của mình sau này. Và cho dù con đường bạn chọn là gì, tôi xin chúc bạn luôn gặp may mắn và thành công.

.
Xin vui lòng chờ đợi
Dữ liệu bài viết đang được tải về

💻Nhận dạy online 1 kèm 1 Automation Test từ cơ bản tới nâng cao (From Zero to Hero) 😁😁😁
Lộ trình gồm 3 phần:
1) Kỹ thuật lập trình và tư duy lập trình cơ bản
2) Nhập môn kiểm thử (Manual Test)
3) Kiểm thử tự động (Automation Test) + Chuẩn bị cho phỏng vấn
* Lộ trình chi tiết: Xem tại đây

🎓Đối tượng người học:
- Những bạn bị mất gốc căn bản môn lập trình.
- Những bạn muốn theo con đường kiểm thử (testing), đặc biệt là kiểm thử tự động (Automation Test).

🦘Người giảng dạy:
- Mình sẽ là người trực tiếp hướng dẫn.
- Nếu là các vấn đề ngoài chuyên môn hoặc sở trường, mình sẽ nhờ các anh chị em khác cũng làm trong ngành.

🤓Giới thiệu:
- Mình đã có hơn 10 năm kinh nghiệm làm IT ở cả trong và ngoài nước. Trong đó 3 năm đầu là làm lập trình viên Java, sau đó bén duyên với mảng Automation Test và theo nghề tới tận bây giờ. Mình được đào tạo chính quy về IT từ một trường Đại học danh tiếng ở TP.HCM (hệ kỹ sư 4 năm rưỡi), có chứng chỉ ISTQB, có thể giao tiếp tốt bằng tiếng Anh và có kinh nghiệm làm việc thực tế ở cả 2 mảng Outsource và Product. Title chính thức của mình là QA Automation Engineer, tuy nhiên, mình vẫn làm những dự án cá nhân chuyên về lập trình ứng dụng như Học Tiếng Anh StreamlineSách Nhạc. Mình là người có thái độ làm việc chuyên nghiệp, chăm chỉ và luôn nhiệt tình trong công việc.

💵Chi phí và hình thức thanh toán:
- Các bạn vui lòng liên hệ qua email songtoigianvn@gmail.com (email, chat, hoặc call) để book nội dung và khung giờ học (từ 8h tối trở đi).
- Mức phí: 150.000đ/buổi, mỗi buổi 60 phút.
- Lộ trình From Zero to Hero: 4.350.000đ (29 buổi).
- Bạn có thể học riêng và đóng tiền theo từng phần nếu muốn.
- Có thể học trước 1-2 buổi trước khi quyết định đi full lộ trình hoặc từng phần.
- Thanh toán qua Momo, chuyển khoản v.v...
BÌNH LUẬN
© Copyright by CUỘC SỐNG TỐI GIẢN
Loading...