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
Clean Code: A Handbook of Agile Software Craftsmanship
Code Complete 2: A Practical Handbook of Software Construction
Head First Design Patterns: A Brain-Friendly Guide
The Pragmatic Programmer: From Journeyman to Master
High Performance Web Sites: Essential Knowledge for Front-End Engineers
Don’t Make Me Think: A Common Sense Approach to Web Usability
Soft Skills: The Software Developer’s Life Manual
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)