Bài viết được dịch từ trang web Impressive Webs

Là một lập trình viên front-end, tôi luôn cố gắng học thêm những công nghệ và kỹ năng mới để bổ sung vào những kiến thức mà mình đã biết. Tuy nhiên, các thông tin tuyển dụng lập trình viên front-end thường có yêu cầu rất đa dạng, với danh sách nhiều công nghệ, ngôn ngữ lập trình và thư viện khác nhau.

Tôi cần trang bị những kỹ năng nào để trở thành một lập trình viên front-end?
Tôi cần trang bị những kỹ năng nào để trở thành một lập trình viên front-end?

Đây là một danh sách (tôi sẽ còn tiếp tục cập nhật) chứa một phạm vi rất rộng các công nghệ và kỹ năng mà tôi nghĩ tất cả các lập trình viên front-end nên có khả năng làm việc trên nó, ít nhất là ở một chừng mực nào đó. Chắc chắn là tôi không rành hết về tất cả những món này, và tôi cũng không nghĩ rằng có ai trong các bạn thành thạo hết tất cả chúng.

Danh sách này không nhất thiết phải sắp xếp theo một thứ tự đặc biệt nào, nhưng tôi đã cố gắng xếp những thứ căn bản lên đầu danh sách. Hơn nữa, có nhiều mục gối lên nhau, vì vậy có rất nhiều sự đan xen trong đó. Và dĩ nhiên danh sách này có rất nhiều tiềm năng để cải thiện tốt hơn.

Tham khảo các khóa học lập trình online, onlab, và thực tập lập trình tại TechMaster
  • HTML (XHTML, HTML4, HTML5)
  • CSS (2.1, CSS3, v.v...)
  • JavaScript / Ajax
  • jQuery
  • Các framework phổ biến (Bootstrap, HTML5 Boilerplate, v.v...)
  • OOCSS / BEM / SMACSS (Các phương pháp lập trình hướng module)
  • CSS Grids
  • CSS Frameworks / Resets
  • Progressive Enhancement / Graceful Degradation
  • HTML and CSS Specifications (W3C / WHATWG)
  • UX / Usability
  • Website Speed / Performance
  • Developer/Debugging Tools (Chrome Dev Tools, Firebug, v.v...)
  • SVG
  • Responsive Web Design
  • Mobile Web Development
  • Mobile Web Performance
  • Cross-Browser / Cross-Platform Development
  • Modernizr
  • Document Object Model (DOM)
  • Cross-Browser Bugs and Inconsistencies (chủ yếu cho IE6-8)
  • Các bộ tiền xử lý CSS (Sass, Less, Stylus, v.v...)
  • Preprocessor GUI software (CodeKit, Prepros, Koala, v.v...)
  • Version Control (Git / GitHub / CVS / Subversion)
  • HTML5 APIs (Canvas, Geolocation, Video, v.v...)
  • Accessibility / WAI-ARIA
  • Microdata / Microformats
  • Haml
  • CoffeeScript
  • Lập trình hướng đối tượng (OOP)
  • Các công nghệ và ngôn ngữ phía back-end (PHP, Ruby, .NET, v.v...)
  • Scaffolding, Task Runner tools (Yeoman, Grunt, Bower, v.v...)
  • MVC Frameworks (Angular, Backbone, v.v...)
  • Web Components and Polymer
  • Unit testing
  • Các hệ cơ sở dữ liệu (SQL, MySql, NoSQL, MongoDB, v.v...)
  • HTML5/CSS3 Polyfills
  • Dojo / MooTools / Prototype / YUI
  • Các hệ quản trị nội dung CMS (WordPress, Drupal, Joomla, v.v...)
  • Functional Programming
  • Các định dạng dữ liệu (JSON, JSONP, XML)
  • Internationalization / Localization
  • Content Strategy
  • Offline Web Apps
  • Regular Expressions
  • .htaccess
  • Image Editing Tools (Photoshop, Fireworks, v.v...)
  • Web Font Embedding / Licensing
  • SEO

Đáng lẽ ra tôi nên chia bài viết này vào các thể loại riêng và trỏ liên kết đến những bài viết và các tutorial về những chủ đề liên quan để bạn có thể dễ dàng học và tinh thông - nhưng hiện tại thì bạn sẽ chỉ có thể dựa vào Google để tìm những kiến thức bạn muốn học trong danh sách trên.

Bạn hãy đóng góp thêm

Danh sách này chỉ là một bản nháp sơ bộ, và tôi sẽ rất hạnh phúc để cập nhật nó dựa trên bất kỳ phản hồi nào của bạn. Vì vậy bạn hãy đưa ra những gợi ý danh sách này nên cải tiến và/hoặc mở rộng như thế nào, và tôi sẽ tiến hành bất kỳ cập nhật nào cần thiết.