Ngành IT rất rộng, bạn đang ở đâu?

Bài viết được sự cho phép của tác giả Lê Nhật Thanh

Anh ơi, qua cài win cho em với! Anh ới, máy tính em bị màn hình xanh đỏ tím vàng rồi!
Máy tính em bị virus rồi, anh qua cứu em với, huhu! Hình như anh học ngành IT mà phải không?

Trong cuộc sống thường nhật của mình, mình rất rất hay bị nhờ những chuyện như vậy. Chỉ vì một thứ, mình là dân IT (Bạn chắc chắn cũng như thế, đúng chưa?)

Mấy ai hiểu nổi khổ của dân trong ngành IT. Trong khi mình là một thằng lập trình viên. Làm gì mà biết sửa máy tính, ống nước này nọ!

Thông qua câu chuyện trên, mình muốn nhắn nhủ một điều rất quan trọng. Dành cho những bạn ĐANG PHÂN VÂN. Không biết đi đâu về đâu trong thế giới IT. Chính là,… thế giới IT cực kì rộng, và bạn đang ở đâu? Nào là web, nhúng, mobile, data, AI, blockchain, IT helpdesk, Security, System admin, tester,…

Đây chắc chắn là một nỗi lo lắng, phân vân của hầu hết sinh viên ngành IT. Vì trong trường, bạn được dạy rất nhiều, bao quát hầu hết các ngành học. Nếu bạn là một người biết đầu tư cho tương lại. Bạn có thể đã tìm ra được hướng đi cho mình ngay trong trường. Nhưng bạn là số ít trong đó.

Đa số các bạn sinh viên chưa biết được mình sẽ làm gì khi ra trường. Thậm chí chưa biết ở ngoài các công ty họ làm gì. Đó là sự thật!

  [Thảo Luận] Ngành IT liệu có hết “HOT” trong vài năm tới?

  Ngành trí tuệ nhân tạo (AI) là gì? Nắm bắt xu thế tương lai

#1 Mình sẽ phân loại một vài ngành chính hiện nay

À, trước khi đi vào các ngành chính, mình muốn giới thiệu bạn một tip nhỏ. Với mỗi chuyên ngành (cụ thể là công việc), bạn hãy dùng trang TopDev. Dùng trang này để làm gì? Tra cứu! Mình sẽ đưa cho các bạn một số từ khóa. Bạn lên đây tra cứu thông tin. Để biết các công ty ngoài kia TUYỂN GÌ, CẦN GÌ. Và biết được lượng công việc nhiều hay ít. Từ đó đưa ra những định hướng cho bản thân mình.

Lập trình Web

Lập trình web chưa bao giờ hết hot từ xưa đến nay trong ngành IT. Ngày nay, nhu cầu về web là cực kì cao. Các công ty, doanh nghiệp mọc lên như nấm. Họ chắc chắn cần một website phục vụ cho mình. Nào là marketing, quảng bá thương hiệu, sản phẩm… Kể cả các cá nhân (mình đây) cũng sở hữu riêng một website.

Cho nên lập trình web LUÔN LÀ NGÀNH HOT! Công việc ở đây cực kì nhiều. Lương ở đây cũng rất cao, nhưng tùy vào bạn. Thật tế bạn giỏi thì đi đâu cũng lương cao thôi (câu này ai cũng nói, mà đúng thật).

tro-thanh-web-developerTrở thành web developer

Lập trình web được chia ra làm 2 nhánh chính: Back-end và Front-end. Trước tiên, nếu bạn chưa hiểu một website hoạt động như thế nào. Thì hãy tìm hiểu thêm trên google (vì nó rất dễ hiểu).

Back-end là phần xử lý logic ở phía server. Các bạn có thể hay thấy các job kiểu như PHP, .NET, Java, NodeJS,… Hãy dùng những từ khoá này để search trên các trang tìm việc. Bạn sẽ thấy rất rõ ràng về Job Description (mô tả những thứ bạn sẽ làm ở công ty) và Job Requirement (những yêu cầu để bạn có thể đậu phỏng vấn).

Font-end là phần xử lý phía client, giao diện người dùng. Ngày nay việc làm front-end cũng cực kì đa dạng. Nào là React, Angular, VueJs, ….

Ngoài ra, nếu bạn có khả năng đảm nhận cả Front-end và Back-end. Vị trí của bạn lúc này là full-stack developer.

Lưu ý một lần nữa! Bạn hãy dùng những từ khoá mình đề cập đến trong bài để search trên các công cụ tìm kiếm việc làm.

Để bạn có thể bước vào ngành phát triển web. Bạn cần xác định mình muốn làm Font-End hay Back-End hay full-stack. Rồi tiếp đến là chọn cho mình một ngôn ngữ chính để luyện. Nhiều khi bạn đã định hướng là vào Back-End. Nhưng nhiều bạn còn phân vân chưa biết đi theo ngôn ngữ nào đâu. Người thì chọn .NET, người thì PHP, NodeJS, JAVA,…

Phải nói là có quá nhiều thứ trong lập trình web. Hãy cố gắng để có một background IT tốt nhất có thể nhé.

Tham khảo Intern IT Jobs hấp dẫn trên TopDev

Lập trình Mobile

Cũng giống như web, bạn nhìn thấy và sử dụng các ứng dụng mobile hằng ngày. Mọi ứng dụng trên điện thoại (android, IOS,…) đều là sản phẩm của lập trình mobile trong ngành IT. Bạn có thích tạo ra những mobile app như vậy? Nếu thích thì đến với lập trình mobile.

Về phương diện tiếp cận cũng khá giống bên web. Ban đầu khi tiếp cận cũng tương đối dễ, nhưng về sau để trở nên thành thạo thì cũng rất phức tạp.

tro-thanh-mobile-developerTrở thành mobile developer

Lập trình mobile thì được chia thành 2 hướng chính: Single Platform và Cross Platform.

Single Platform kiểu như bạn code chỉ cho mỗi Android hoặc IOS. Code cho thằng này thì không chạy cho thằng kia được. Bởi vậy mới sinh ra Cross Platform. Code một lần, chạy được trên nhiều nền tảng.

Vì sao lại như thế thì bạn có thể thử bước vào thế giới mobile.

Một số job bạn có thể lưu ý: Android dev, IOS dev, Hybrid Application, Native Application.

Lưu ý: Khi bạn tò mò một job nào đó. Search nó trên google hoặc web tìm việc. Bạn sẽ biết job đó như thế nào. Cần học NGÔN NGỮ, CÔNG CỤ gì.

Lập trình nhúng

Embedded hay còn gọi là lập trình nhúng, là một ngành IT đang rất hot ở thời điểm hiện tại (2019) và sẽ trở nên rất hot trong tương lai với IoT (Internet of Things).

TV thông minh, nhà thông minh, xe hơi thông minh, thành phố thông minh, vv. Tất cả những thứ này đều là sản phẩm của lập trình nhúng.

Mình nói đơn giản về nhúng, bạn sẽ phải viết code, sau đó “nạp code” và một phần cứng nào đó để phần cứng này có thể hoạt động được theo một yêu cầu nhất định. Ví dụ, bạn chắc chắn một lần đi thang máy, người ta đã viết một chương trình và nạp vào hệ thống điều khiển của thang máy, hệ thống này sẽ điều khiển mọi thứ mà bạn đã nhìn thấy khi thang máy hoạt động đấy. Hay một ví dụ khác là hệ thống quẹt thẻ khi bạn gửi xe, đó cũng là một ứng dụng của lập trình nhúng.

Bạn cứ hiểu đơn giản, nhúng là sự kết hợp giữa 2 thứ phần cứng và phần mềm.

Bây giờ bạn có thể tưởng tượng ra lập trình nhúng là như thế nào rồi, bạn có thấy thích hay tự tin khi bước vào thế giới này?

Lập trình nhúng khác với web hay mobile ở chổ. Bạn phải giao tiếp với phần cứng trực tiếp và một điểm quan trọng nữa. Ban đầu tiếp cận với lập trình nhúng tương đối phức tạp, hay mình muốn nói luôn là khó. Điều này trái ngược với web hay mobile. Và khi bạn đã có những bước đầu thành công với lập trình nhúng, con đường phía sau sẽ dễ dàng hơn một chút cho bạn.

tro-thanh-embedded-developerTrở thành embedded developer

Có rất nhiều nhận định nói rằng, ban đầu học lập trình web phải học rất nhiều thứ, rất nhiều ngôn ngữ, rất nhiều công nghệ, và bản thân ngành lập trình web thay đổi quá nhanh về công nghệ, nói chung là học web rất phức tạp và gian nan. Mình hoàn hoàn công nhận với điều này, nhưng theo quan điểm của mình, nhúng mới là ngành khó học và khó theo nhất, cũng như là ngành khô khan nhất trong 3 ngành. Và kiến thức phải học trong nhúng của rất rất nhiều không thua kém bên web và thậm chí nó còn khó và khô khan hơn nhiều. Để mình giải thích thêm về nhận định này.

Mình quen khá nhiều người làm về nhúng (vì mình xuất thân từ dân lập trình nhúng) và thông thường họ làm việc chủ yếu với testing C/C++, khi họ đã quen với công việc thì họ hay cho rằng mình đã giỏi về lập trình nhúng, tự tin đánh giá điểm rất cao khi được hỏi về nhúng. Nhưng thực tế, họ hoàn toàn chưa biết về thế giới lập trình nhúng, họ thậm chí chưa từng tiếp xúc với một con chip hay thậm chí chưa từng nghe về các khái niệm như SPI, I2C, Bootloader,….

Khi đọc đến đây, sẽ có nhiều bạn phản đối và cho rằng, embedded software có nhiều người họ không cần biết nhiều về phần cứng và vẫn làm việc được. Đúng là có rất nhiều embedded software biết rất ít về phần cứng ngoài kia. Nhưng chỉ với như thế bạn khó có thể phát triển và tồn tại trong thế giới nhúng được, trừ khi bạn làm công việc đó trong hết sự nghiệp lập trình viên của bạn. Và bạn thật sự là một lập trình viên với công việc của một công nhân, thay vì một lập trình viên với công việc và đầu óc của một kĩ sư.

Một người lập trình viên nhúng đúng nghĩa, thật sự họ rất tuyệt, họ am hiểu sâu về phần cứng, làm thế nào để tối ưu hóa, thậm chí họ tự thiết kế ra phần cứng đó sao cho tối ưu. Họ rất giỏi về điện tử nữa là đằng khác, và có những developer nhúng nhưng cực kì giỏi về web hay mobile. Họ tự thiết kế một hệ thống full-stack từ hardware đến software, application… Những người như thế mới được gọi là một lập trình viên embedded đúng nghĩa.

Một số job bạn có thể nghĩ tới: Embedded tester (C/C++), AUTOSAR, IOT, Thiết kế chip, Embedded developer, Embedded hardware, Embedded software.

Tester

Song song với lập trình viên (developer), đó chính là tester. Một số nơi gọi là QA, hay QC hay đơn giản là tester. Nói một cách đơn giản về công việc của một tester. Họ là người tìm bug trong sản phẩm.

Một cách hiểu đơn giản, trong quá trình phát triển sản phẩm. Sẽ chia ra thành hai phần chính. Phát triển (develop) và kiểm thử (test). Để cho sản phẩm khi đã tung ra thị trường (release) hạn chế lỗi nhất có thể.

Kể cả web, mobile, hay nhúng, chúng ta đều có tester trong mỗi khâu phát triển. Tùy thuộc vào sản phẩm chúng ta dùng mô hình phát triển nào. Agile/Scrum hay V-Model.

Các sản phẩm web, mobile với thời gian release ngắn thường dùng mô hình Agile/Scrum. Còn đối với nhúng, đặt biệt là AUTOSAR, họ dùng V-Model.

Test là một phần không thể thiếu trong quá trình phát triển. Cho nên một sản phẩm không thể thiếu tester. Ngày nay Automation Test phát triển rất mạnh. Nên các bạn đi theo hướng tester có thể học thêm. Để làm tăng giá trị cho bản thân mình.

Một số ngành khác

Như mình đã đề cập ở phía đầu bài. Chúng ta còn rất nhiều ngành khác nữa cũng là IT.

IT helpdesk hay IT support hay một số nơi gọi là IT thôi. Công việc của họ là xử lý các vấn đề trục trặc liên quan tới IT. Nói chung khi bạn có vấn đề gì liên quan tới máy móc, mạng,… thì hãy liên hệ với họ. Đôi khi học kiêm luôn vị trí của một System Admin hay một DevOops.

Security, là những người đảm bảo an toàn cho toàn bộ nhân viên, máy móc. Hay nói cách khác là toàn bộ công ty bạn khỏi các cuộc tấn công mạng. Một số team security thì chịu trách nhiệm thực hiện các cuộc tấn công đến chính sản phẩm của công ty mình nhằm tìm ra lỗ hỏng bảo mật (penetration testing).

Và còn nhiều nghề nghiệp liên quan tới IT nữa. Nhưng bài viết này đủ dài rồi. Bạn có thể tìm hiểu trên internet. Mình có thể đề xuất thêm như: hệ thống thông tin, database, thương mại điện tử. Hay thậm chí là Blockchain, trí tuệ nhân tạo (AI), phân tích dữ liệu (data analysis), data science,…

#2 Cái thứ mà bạn mong chờ – Roadmap

Trong phần trên, mình đơn giản chi là giới thiệu qua về các ngành nghề chính. Nhưng nó thực sự chưa chi tiết. Có lẽ các bạn đang cần một roadmap cho từng ngành cụ thể.

Roadmap sẽ chỉ cho các bạn TỪNG BƯỚC TỪNG BƯỚC một khi bạn chọn một ngành. Bạn sẽ nhìn thấy được bạn cần học gì, làm gì để chinh phục ngành đó. Hoặc đơn giản là sống tốt trong ngành đó.

#Kết

Thật sự là còn khá nhiều công việc liên quan tới ngành IT mình chưa kể hết ở đây. Chỉ cần bạn bước vào con đường IT. Bạn sẽ nhận ra nó rất rộng.

Và sau khi đi làm một vài năm, bạn sẽ có định hướng riêng cho mình. Người thì muốn làm một manager. Người thì thích làm một senior dev thuần. Có người thì muốn làm một technical lead hoặc software architecture.

Bạn đi đâu, về đâu, không ai có thể chỉ đường cho bạn được. Đường đi nằm ở trong con người bạn. Bài viết của mình nhằm mục đích. Cho bạn thấy những con đường có thể đi. Bạn đi đâu, tới đâu, là do sự lựa chọn của bạn. Nếu bạn đi đúng, sự nghiệp của bạn thành công rực rỡ. Nếu bạn đi sai… không biết chuyện tồi tệ gì sẽ xảy ra.

Nhưng cũng đừng sợ sai mà không dám bước. Phàm trên đời này ai cũng có những bước đi sai lầm. Quan trọng là bạn biết quay đầu và làm lại.

Chúc các bạn có một sự lựa chọn đúng nhất cho sự nghiệp của mình trong ngành IT khắc nghiệt này!

Bài viết gốc được đăng tải tại lenhatthanh.com

Xem thêm:

Xem thêm tuyển dụng IT mới nhất tại TopDev