Làm việc trong ngành IT, bạn có những lựa chọn gì?

Trong quá trình tuyển dụng các vị trí fresher cho Công ty, đội ngũ nhân sự ICTS Custom Software nhận được rất nhiều câu hỏi từ các bạn sinh viên :”Em nên học công nghệ nào, nên theo web hay mobile, nên làm front-end hay back-end?”

Việc đặt ra những câu hỏi trên đa phần xuất phát từ việc chưa được trang bị đầy đủ cái nhìn tổng quan về cơ hội trong ngành IT. Vì vậy, trong bài viết này, hãy cùng ICTS điểm qua các Top 10 vị trí Lập Trình Viên phổ biến hiện nay và các công nghệ thường được họ sử dụng nhé!

1. Lập trình viên Frontend – Frontend Developer

undefined

Lập trình viên Front End là những người chuyên sử dụng các ngôn ngữ HTML, CSS, JavaScript thiết kế và xây dựng giao diện cho các trang web hoặc ứng dụng web để người dùng có thể xem và tương tác trực tiếp trên đó. 

Được ví như công cuộc xây “mặt tiền” cho trang web hay ứng dụng, lập trình viên Front End (Front End developer) cần thành thạo ngôn ngữ: HTML, CSS và ngôn ngữ lập trình JavaScript. Ngoài ra, lập trình viên Front End cần biết sử dụng các thư viện, framework như jQuery, Bootstrap, AngularJS, ReactJS cũng như có kiến thức về Photoshop, UI/UX. Mức lương của Lập trình viên Frontend trên thị trường hiện nay là từ 7- 40 triệu, tùy theo cấp độ của Lập trình viên (Nguồn: Careerbuilder.vn) 

2. Lập trình viên Backend – Backend Developer

undefined

3. Lập trình viên FullStack – Fullstack Developer

Lập trình viên Backend chuyên thiết kế, triển khai, logic lõi chức năng, hiệu suất và khả năng mở rộng của một phần mềm hoặc hệ thống mà người dùng không thể nhìn thấy được. Họ được ví như những phù thủy dữ liệu đằng sau hệ thống trang web hay bất kì ứng dụng nào. Mức lương hiện nay của Lập trình viên Backend rất đa dạng, tùy theo số năm kinh nghiệm cũng như từng kiểu ngôn ngữ, phổ biến dao động từ 8 – 12 triệu cho dưới 2 năm kinh nghiệm, và từ 15 – 40 triệu với 2 đến 4 năm kinh nghiệm (Nguồn: Careerbuilder.vn) 

Lập trình viên backend thường sử dụng các ngôn ngữ lập trình như Java, C, C ++, Ruby, Perl, Python, Scala, Go, v.v. Ngoài ra, Lập trình viên back-end cũng cần nắm vững kiến thức như cơ sở dữ liệu, hệ thống lưu trữ dữ liệu , hệ thống bộ nhớ đệm, hệ thống ghi nhật ký, hệ thống email, v.v.

undefined

Lập trình viên full stack có kiến thức về tất các mảng trong quá trình phát triển phần mềm. Ví dụ như có kiến thức bao quát về Mạng, CSDL, User Interface, API, Security,… Một Lập trình viên Full Stack không nhất thiết phải thông thạo mọi công nghệ của Frontend, Backend, Devops, … nhưng có thể học và ứng dụng vào dự án một cách nhanh chóng khi họ cần. Đây cũng có thể được mệnh danh là các Mr. Do-It-All của làng lập trình. 

Lương khởi điểm của một lập trình viên Fullstack là từ 7-10 triệu/1 tháng. Đây là mức lương khởi điểm khá tốt cho các sinh viên sau khi ra trường. Sau khi đã có kinh nghiệm và đạt đến trình độ của một Fullstack developer thực thụ. Số tiền có thể tới 30 -40 triệu/tháng. Đây là mức lương tương đối cao nhưng cũng đòi hỏi rất nhiều yêu cầu khắt khe. Vì vậy, việc trở thành lập trình viên Fullstack giỏi thì không dễ dàng.

4. Lập trình viên Web – Web Developer

undefined

Lập trình viên Web là các kỹ sư phần mềm chuyên phát triển giao diện website. Họ có thể là Lập trình viên frontend, Lập trình viên backend, Lập trình viên Full Stack. 

Lập trình Web từng được coi là bước khởi đầu cho việc lập trình vào cuối những năm 90 và đầu những năm 2000. Công việc này yêu cầu không quá cao, chỉ cần kiến thức HTML và CSS cơ bản. Chỉ với vài tháng kinh nghiệm, một Lập trình viên sơ cấp đã có thể bắt đầu code ra sản phẩm. Đây là một lựa chọn đặc biệt hấp dẫn cho những người không có kiến thức cơ bản về CS và muốn tham gia vào ngành lập trình. 

Theo Jobsgo.vn, mức lương trung bình của Lập trình viên Web từ 1 đến 3 năm kinh nghiệm giao động từ 9-22 triệu, với lập trình viên có từ 4 năm kinh nghiệm trở lên, thu nhập bình quân có thể lên tới 30-40 triệu đồng/tháng.

5. Lập trình viên Desktop – Desktop Developer

undefined

Đây là nhà  nhóm Lập trình viên làm việc trên các ứng dụng phần mềm chạy nguyên bản trên hệ điều hành Desktop (ví dụ như Mac OS, Windows và Linux). Trở lại những năm 80, đây là một trong những kiểu kỹ sư/lập trình viên có số lượng đông đảo, phổ biến vì sử dụng các hệ thống phát triển phần mềm giá rẻ như Turbo Pascal, Turbo C, Visual Basic, Quick C, Visual Studio và Delphi.

Lập trình viên Desktop thường sử dụng các Bộ công cụ GUI như Cocoa, XAML, WinForms, Gtk, v.v

6. Lập trình viên Mobile – Mobile Developer

undefined

Với xu hướng phát triển của các ứng dụng di động, lập trình viên Mobile hiện đang là vị trí hot trên thị trường tuyển dụng hiện nay. Lập trình viên Mobile thiết kế nhiều ứng dụng chạy trên các nền tảng như Android của Google, iOS của Apple và Windows Phone của Microsoft. Vì lý do này, chức danh công việc Lập Trình Viên Mobile cũng đồng thời bao gồm cả Lập Trình Viên Android và Lập Trình Viên iOS.

Các Lập Trình Viên Mobile được đào tạo về các ngôn ngữ lập trình và framework phát triển phần mềm cho nền tảng khác nhau. Hiện tại, có một số nền tảng di động lớn, mỗi nền tảng có ngôn ngữ cốt lõi và framework phát triển riêng, ví dụ Java dùng cho Android, Objective-C cho iOS và C # cho Windows Phone.

Mức lương của Lập trình viên Mobile tương đương với Lập trình Web, dao động từ 11 – 20 triệu với Lập trình viên có từ 1-3 năm kinh nghiệm, và có thể lên tới 40 triệu/tháng với 4 năm kinh nghiệm trở lên.

7. Lập trình viên Đồ họa – Graphics Developer

undefined

Đây là một nhánh developer chuyên về viết phần mềm để dựng hình, chiếu sáng, che bóng, đánh bóng, tiêu huỷ và quản lý cảnh. Phát triển đồ họa được sử dụng là một hình thức low-level development, đòi hỏi sự đào tạo về toán và khoa học máy tính nâng cao.

Một số framework thường gặp DirectX, OpenGL, Unity 3D, WebGL. Đối với các lập trình viên đồ họa cao cấp, low-level development luôn sử dụng C, C ++ và Assembly.

8. Nhà phát triển Game – Game Developer

undefined

Game Developer (GD) là người gia công, phát triển game. GD đảm nhiệm mọi công việc liên quan đến trò chơi. Không chỉ là vẽ đồ họa, mà còn quản lý dự án, xây dựng ý tưởng, thiết kế kịch bản trò chơi, màn chơi (video game designer) và lập trình. Họ có hẳn khâu chuyên chơi để tìm ra lỗi của game mà kiểm tra, chỉnh sửa (game tester). Game developer thường có kiến thức, kỹ năng cụ thể trong việc thiết kế, các trải nghiệm chơi game và tương tác trong nó.

Nghề phát triển Game đòi hỏi bạn phải am hiểu nhiều và sâu các kiến thức: Trí tuệ nhân tạo, Đồ họa máy tính, Lập trình âm, Quản lý bộ nhớ, Xử lý các vấn đề về mạng và bảo mật ở mức sâu hơn (Socket, SSL, TCP, Hardware,…), Hiểu rõ hơn về các vấn đề Nền tảng (iOS, Windows Phone 8, Linux, Windows, Android,…),…

9. Kỹ sư khoa học dữ liệu – Data Scientist

undefined

Data Scientist (kỹ sư khoa học dữ liệu) là những người phân tích, sắp xếp và thay dữ liệu “kể chuyện”, bất kể nó có cấu trúc hay không. Họ cũng thường phụ trách phân tích thống kê, machine learning, data visualization, và mô hình tiên đoán.

Nhiệm vụ của những data scientist là yêu cầu tạo ra prototype. Từ đó phát triển “data product” để đưa ra các quyết định thông minh thúc đẩy hướng đi của doanh nghiệp. Họ đòi hỏi phải biết một số lượng lớn các ngôn ngữ lập trình. Thường chỉ có các tổ chức cần giải quyết những tập dữ liệu lớn (big data) mới có vị trí này. Công việc của họ sẽ cần phối hợp giữa cả khoa học máy tính, thống kê và toán học. Ngoài ra, các ngôn ngữ thường được sử dụng bao gồm SQL, R và Python. 

10. Lập trình viên DevOps – DevOps Developer

undefined

DevOps (kết hợp của cụm từ tiếng Anh “software DEVelopment” và “information technology OPerationS”) là một thuật ngữ để chỉ một tập hợp các hành động, trong đó nhấn mạnh sự hợp tác và trao đổi thông tin của các lập trình viên và chuyên viên tin học. Nhằm mục đích tự động hóa quá trình chuyển giao sản phẩm phần mềm và thay đổi kiến trúc hệ thống. Từ đó thiết lập một nền văn hóa và môi trường. Nơi mà việc xây dựng, kiểm tra, và phát hành phần mềm có thể xảy ra nhanh chóng, thường xuyên, và đáng tin cậy hơn.

DevOps Developer là vị trí lập trình chuyên về các công nghệ cần thiết cho sự phát triển của các hệ thống. Với mục đích xây dựng, triển khai, tích hợp và quản lý phần mềm và hệ thống phân phối.

Các công nghệ thường được Lập trình viên  DevOps sử dụng bao gồm Kubernetes, Docker, Apache Mesos, ngăn xếp HashiCorp (Terraform, Vagrant, Packer, Vault, Consul, Nomad), Jenkins, v.v.

Chốt lại, với sự khát nguồn nhân lực của ngành IT như hiện nay, việc lựa chọn công nghệ nào không quan trọng bằng việc bạn thực sự bắt tay vào thực hiện và kiên định theo đuổi nó. Vì thế, bên cạnh những kỹ năng cứng của các Lập trình viên phổ biến như trên, bạn hãy trau dồi cho mình khả năng học hỏi nhanh chóng, khả năng giải quyết vấn đề một cách hiệu quả, và khả năng giao tiếp để trở thành những Lập trình viên xuất sắc trong tương lai nhé!


Son Chu

You Might Also Like


0 Comment


    Would you like to share your thoughts?

    Your email address will not be published. Required fields are marked *

    This field is required.
    Please provide a valid email address.
    This field is required.