Học gì để trở thành lập trình viên full-stack

Lập trình viên Full Stack là gì?

Lập trình viên full stack là những người có kinh nghiệm làm việc và rất thành thạo lập trình font end – back end và hiểu biết nhiều server và database.

Tại sao bạn nên trở thành lập trình viên Full Stack?

Bạn có thể tự xây dựng một hệ thống cho riêng mình mà không cần sự giúp đỡ của người khác.
Có rất nhiều công ty cần những lập trình viên Full Stack, bởi vì sẽ giúp họ xây dựng sản phẩm tốt hơn trong khoảng thời gian ngắn, giúp tiết kiệm chi phí.
Và đặc biệt là bạn sẽ có mức lương rất cao.

Vậy chúng ta cần gì để trở thành lập trình viên Full Stack?

Lập kế hoạch: Bạn cần phải liệt kê ra lộ trình chi tiết, bao gồm tất cả những thứ mà mình cần phải đạt được.
Thực hành: Không dừng lại ở việc đọc, bạn hãy tự xây dựng cho mình một hệ thống riêng bằng tất cả những gì bạn biết.
Có một cộng đồng: Nơi mà bạn có thể học hỏi, bàn luận, giải đáp các thắc mắc của người khác như các diễn đàn.
Tóm tắt và ghi lại những gì bạn đã học được, nó sẽ rất hữu ích với bạn trong tương lai.
Tạo thói quen đọc sách, tin tức công nghệ và thực hành hàng ngày.

Lộ trình để trở thành một lập trình viên Ruby on Rails Full Stack

Yêu cầu cơ bản

  • Git / SVN
  • SSH
  • HTTP/HTTPS
  • GitHub / Bitbucket / GitLab
  • Cấu trúc dữ liệu giải thuật

1. Front-end

  • HTML
  • CSS
  • Responsive Web Design
  • Boostrap
  • Foundation
  • Javascript
  • jQuery
  • Frameworks: ReactJS, Angular or Vue.js, EmberJS
  • UI/UX

2. Back-end

  • Language: Ruby
  • Framework: Ruby on Rails
  • RubyGems
  • Unit Tests: Rspec

3. Database

Relational Databases:PostgreSQL, MySQL, MSSQL
NoSQL Databases: MongoDB, Redis, Memcached

4. Server

  • Hosts:
    AWS
    Heroku
    Digital Ocean
    Engine Yard
  • App Server and Web Server
    Nginx
    Apache
    Phusion Passenger
    Puma
    Unicorn
  • Deployment, Measurement vs Monitoring

5. Kiến trúc và khả năng tái cấu trúc

Nguyên lý lập trình (Rails)

  • Convention over Configuration (Coc)
  • Don’t Repeat Yourself (DRY)
  • RESTful
  • SOLID Principles

Design Patterns

  • MVC
  • Form Object / Policy Object ( Active Records – Model)
  • Decorator / Presenter / Facade (View)
  • Service Object (Controller)
  • Strategy / Composite patterns / …

Fat model, skinny controller

KISS – Keep it simple, stupid

Composition over inheritance

6. Deeper – Chuyên sâu hơn

  • Caching
  • Security
  • CDN
  • Performance turning
  • Search Engines

Một số tài liệu

Kết luận

“Con đường dẫn tới thành công không dễ dàng để đi tới, nhưng với sự chăm chỉ, nỗ lực và đam mê, việc đạt được giấc mơ không còn là xa vời” – Tommy Hilfiger

(dịch từ http://luanotes.com/posts/guide-to-become-a-full-stack-developer)