Nếu bạn cảm thấy thích thú công việc lập trình bởi vì dường như nó tạo ra nhiều niềm vui, thì bất kỳ một ngôn ngữ lập trình nào cũng có thể làm được điều đó.. Nhưng tôi biết rằng các bạn
Trang 1Tôi thường nghe thấy mọi người hay hỏi rằng, ngôn ng ữ l ậ p trình nào h ọ nên h ọ c tr ướ c tiên Nhưng tôi nghĩ câu hỏi đó nên đổi lại thành: tại sao bạn lại muốn lập trình?, câu hỏi này nên đặt ra đầu tiên thì thích hợp hơn Nếu bạn cảm thấy thích thú công việc lập trình bởi vì dường như nó tạo ra nhiều niềm vui, thì bất kỳ một ngôn ngữ lập trình nào cũng có thể làm được điều đó
Nhưng tôi biết rằng các bạn cũng như tôi đều có rất nhiều hóa đơn cần phải thanh toán mỗi ngày, và bạn đang nghĩ rằng sẽ không đến nỗi tệ nếu công việc lập trình có thể giúp ta thanh toán những hóa đơn đó
Bây giờ câu hỏi trở nên cụ thể hơn là: ngôn ngữ lập trình nào tôi nên học để kiếm tiền? Câu hỏi này rất thiết
thực, nhưng tôi phải nói trước rằng, mỗi người sẽ có một câu trả lời khác nhau
Học ngôn ngữ lập trình nào để kiếm việc dễ nhất?
Một tin tốt lành là tất cả các ngôn ngữ lập trình đều có mức lương nhận được khá tốt Hiện nay mức lương trung bình của một lập trình viên tại Mỹ, người có khoảng 3 đến 5 năm kinh nghiệm thì dao động từ $60,000 đến $80,000 đô-la/năm, nhưng mức lương có thể khác nhau rất lớn, và có thể cao hơn rất nhiều, đặc biệt cho những người làm việc ở vùng bờ biển phía đông và tây nước Mỹ, hoặc các công việc liên quan đến tư vấn và YMMV
Những ngôn ngữ lập trình được sử dụng phổ biến hiện nay là: Ruby, Python, PHP, Objective-C, HTML, CSS, JavaScript, Java, NET, C/C++ Bạn có thể tìm kiếm thêm thông tin trên Google về các ngôn ngữ này
Mỗi ngôn ngữ đều có một mức độ phổ biến của nó, và được sử dụng trong những lĩnh vực khác nhau:
Python/Ruby/PHP Dùng để lập trình phía Server-side các ứng dụng cho mobile và website.
Objective-C Dùng lập trình ứng dụng cho iPhone
HTML Dùng để xây dựng website phía Client-side
Trang 2CSS Ngôn ngữ định dạng cho HTML phía Client-side
JavaScript Dùng để lập trình phía Client-side của website, sử dụng để thao tác với HTML/CSS Bạn nên học thêm về jQuery. Java/.Net Lập trình cho Android Server-side cho các website, và để xây dựng các phần mềm có logic nghiệp vụ phức tạp khác. C/C++ Do ưu điểm về tốc độ xử lý nhanh nên phù hợp viết phần mềm cho Thị trường Chứng
khoán, hoặc các game đồ họa
Vậy thì ngôn ngữ lập trình nào bạn nên học để kiếm tiền? Một tin xấu là có thể bạn phải học nhiều hơn một ngôn ngữ lập trình Nhưng tin tốt đó là bạn không cần phải học tất cả mọi thứ về mọi ngôn ngữ lập trình, chỉ cần đủ để hoàn thành mục đích của bạn
Nhưng câu hỏi đặt ra là, ngôn ngữ lập trình nào bạn nên học đầu tiên? Như bạn cũng đã biết, điều đó thực ra
còn tùy thuộc vào bạn muốn kiếm tiền như thế nào?
Nếu bạn không quan tâm về việc mình sẽ kiếm tiền như thế nào, thì theo quan điểm của tôi, bạn nên học theo thứ tự như sau: Python, Objective-C, JavaScript, HTML, CSS Bạn cũng sẽ cần một số kiến thức về database (MySQL, MongoDB), và học cách làm thế nào để lập trình cùng với chúng, mặc dù việc này cũng không khó lắm
Nếu bạn muốn lập trình các game đồ họa hoặc các ứng dụng trong lĩnh vực chứng khoán, thì C++ là ngôn ngữ dành cho bạn Nếu bạn muốn làm website thì Python, Ruby và PHP là thích hợp nhất, đi kèm với một số kiến thức HTML/CSS/JavaScript Còn nếu bạn muốn lập trình các ứng dụng trên iPhone thì Objective-C là ngôn ngữ của bạn
JavaScript, HTML và CSS thì thường được sử dụng kết hợp với nhau và làm cho website chạy mượt hơn trên trình duyệt của bạn Chúng thì luôn phải sử dụng kết hợp với một ngôn ngữ kịch bản Server-side như là Python, Ruby hoặc PHP
Trong thị trường tuyển dụng, bạn sẽ không phải sử dụng tất cả các ngôn ngữ như tôi đã gợi ý, mà công việc thường yêu cầu một tập các kỹ năng khác nhau:
Lập trình viên Back-end (Server-side)
Thường sử dụng một trong số các ngôn ngữ sau đây: Python, Ruby, PHP, Java hoặc NET Có kiến thức về database Có thể cần thêm một số kiến thức về quản trị hệ thống
Lập trình viên Front-end (Client-side) Yêu cầu kiến thức về HTML, CSS, JavaScript và có thể cần thêm một số kỹ năng về thiết kế.
Lập trình viên mobile
Objective-C hoặc Java (cho Android) HTML/CSS cho các website mobile Có thể cần thêm một số kiến thức về Server-side
Lập trình viên về Games/3D C/C++, OpenGL, Animation Có thể cần thêm năng khiếu về mỹ thuật.
Trang 3Lập trình viên phát triển các phần mềm cần
tốc độ xử lý cao High-Performance (phần
mềm trong Thị trường Chứng khoán…)
C/C++, Java Có thể cần thêm nền tảng về kiến thức toán học và khả năng phân tích định lượng tốt
Thường thì, có một số người chuyên làm công việc back-end và một số người khác chuyên làm công việc front-end Gần đây thì có thêm nhóm người chuyên làm ứng dụng trên mobile Và thỉnh thoảng bạn cũng bắt gặp một vài người làm tất cả các công việc nói trên, nhưng nói chung khi bạn đi kiếm việc làm thì bạn chỉ ứng với một trong các vị trí đó mà thôi
Khi học những ngôn ngữ này, thì bạn nên bắt đầu nhỏ thôi Đừng bắt đầu bằng một tham vọng xây dựng một Facebook thứ hai, điều đó có thể sẽ chẳng bao giờ xảy ra Hãy bắt đầu với những dự án nhỏ và tìm kiếm những bài hướng dẫn thực hành Bạn hãy tìm kiếm trên Google cụm từ như “hello world python” hay “hello world javascript” để tìm những bài hướng dẫn đơn giản để bắt đầu Khi bạn đã có thể lập trình những dự án nhỏ cho mình hoặc bè bạn, thì lúc đó bạn đã có thể gom các dự án này lại vào một portfolio (hồ sơ) để xin một công việc, hoặc bắt đầu bằng một vài công việc freelancer để bổ sung cho portfolio của mình Bạn hoàn toàn có thể làm được điều đó