Để làm lập trình viên sau 1 năm, nên học gì?

Làm lập trình viên thì cần những gì, lộ trình thế nào….. Cái đó phụ thuộc vào hướng bạn đi.

Hướng front-end developer cho lập trình web

Hướng này có rất nhiều kỹ thuật, nhưng các bạn nên học những kỹ thuật chắc chắn cần trước. Còn lại phụ thuộc vào công ty các bạn làm có yêu cầu học thêm không

Nhưng các skill sau đây nhất định phải có khi đi làm, ít nhất là để làm được việc:

  • HTML (HTML5 càng tốt)
  • CSS (CSS3 càng tốt)
  • Javascript cơ bản (jQuery). Nói trước là Javascript chuyên sâu rất hay và rất khó gặm.
  • Photoshop cơ bản
  • Illustrator cơ bản
  • Một số front-end framework như Twitter Bootstrap, AngularJS mới nổi….

Học lập trình web

Hướng back-end developer

Nếu đã chọn con đường chông gai này thì chỉ nên chọn 1-2 ngôn ngữ lập trình mà theo (học sâu). Mình thà làm vua một nước chứ nước nào cũng thích thì dễ tẩu hỏa khi luyện công lắm. Các kỹ năng cần chủ yếu là nền tảng và phụ thuộc vào tư duy logic của bạn:

  • Các nền tảng cơ bản về ngôn ngữ bạn định làm, mấy kiến thức đơn giản này phải khắc cốt ghi tâm chứ đôi khi cũng có người quên và phải đọc lại từ Google. Vòng lặp, cách khai báo biến, hàm, hướng đối tượng….. Đặc biệt phỏng vấn bao giờ cũng có hướng đối tượng.
  • Kiến thức về database MySQL, Microsoft SQL.
  • Rộng hơn là Design Pattern (Singleton, Factory, Strategy, MVC, HMVC….).
  • Các framework hot tính tại thời điểm viết bài này, đơn giản nhất và dễ nhất là CodeIgniter.

Bạn nên học một framework sau đó đi làm và học tiếp theo để dễ thấm và có cơ hội làm nhiều hơn. Theo lời khuyên của mấy đàn anh đi trước thì 1 developer cần biết 2 framework và 1 CMS nếu muốn đi đánh dự án với các công ty outsource.

Là full-stack developer có nghĩa là bạn phải cởi mở đối với các công nghệ mới, có hiểu biết sâu về một vài công nghệ và phải có sự hiểu biết về cách một ứng dụng web được thực hiện từ một khái niệm thiết kế cho đến khi các sản phẩm đã hoàn thành.

Full-stack developer không có nghĩa là phải thông thạo mọi công nghệ mà chỉ cần có hiểu biết về các ngôn ngữ đang có, có thể giao tiếp một cách thông minh giữa các thành viên trong nhóm và là một nguồn lực tốt, sẵn sàng nếu dự án cần đến bạn.

Full-stack trên thế giới hiện nay có thể cần những kỹ năng sau (tham khảo):

  • Không giới hạn mình ở bất kỳ 1 language hay 1 framework hay 1 chuyên môn cụ thể nào.
  • Có kiến thức IT tổng quát và khả năng tìm hiểu sâu khi cần thiết bất kỳ vấn đề gì thuộc: (1) Server – Network (2) Database (3) Web frameworks (4) Mobile frameworks
  • Hiểu và ứng dụng được UI/UX vào trong projects
  • Nắm bắt nhanh Business Logics và chuyển được thành Technical Logics
  • Biết được khi nào cần hiểu rộng, khi nào cần hiểu sâu một vấn đề
  • Có thể lập trình được ít nhất 1 ngôn ngữ lập trình web và 1 ngôn ngữ lập trình mobile (iOS/Android)

Hiện nay khá nhiều người theo hướng này, một phần do cái danh full-stack khá là hay ho (cảm giác như super hero), một phần là hiện nay các nhà tuyển dụng cũng yêu cầu khá cao về skills của developer. Các công nghệ chết tiệt trong thế giới lập trình lỗi thời đủ nhanh để cuốn trôi bất kỳ 1 “nền tảng” vững chãi nào. Do đó nếu bạn chỉ biết 1 ngôn ngữ, biết 1 nền tảng nào đó, hiện tại bạn vẫn có thể kiềm tiền ngon ăn với nó, nhưng liệu 2 – 4 năm nữa thì không chắc chắn.

Do đó bạn có thể là 1 “super-code dạo” hiện tại, nhưng chưa chắc điều đó sẽ đảm bảo cho bạn một tương lai chắc chắn cho những năm tới đâu.

Đối với ai đi theo hướng này, nếu được nên học front-end trước rồi từ từ mò qua back-end bởi vì trong 1 năm bạn không thể nào trở thành full-stack đâu. Các bạn nên đi theo hướng này (về lâu về dài) để đáp ứng nhu cầu công việc trong tương lai.

Tất cả những gì cần thiết mình đã nêu ở trên, nếu các bạn biết về chúng thì có thể đi code dạo và kiếm cơm được rồi. Sau này đi làm cố gắng trau dồi nhiều thật nhiều kỹ năng để tăng giá trị bản thân lên (tăng lương).

--------------------
STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963.723.236 – 024.6275.2212
Website: https://stanford.com.vn


Tags: lập trình web, học lập trình