Roadmap to become a full-stack web developer with Ruby on Rails
Full-stack web developer is who works familiar with both front-end and back-end, also servers and database.
- You can build entire a web application, without having to rely on someone else.
- Many companies or clients demands full stack developers, so that they can build better products with less cost.
- Get high Salary.
- Have a plan: You need to lay out the roadmap of things you'd like to learn.
- Build stuff: Don’t just read, build simple apps by applying whatever you have learned.
- Find a community of support as StackOverflow.
- Summarize and document what you learn, it’s very useful to review in the future.
- Make a habit to read books, blogs and practice every day.
- HTML
- CSS
- Responsive Web Design
- Boostrap
- Foundation
- Javascript
- jQuery
- Framework: ReactJS, Angular or Vue.js, EmberJS
- UI/UX
-
Language: Ruby
-
Framework: Ruby on Rails
-
Unit test: Rspec
-
Relational Databases:
- PostgreSQL
- MySQL
- MSSQL
-
NoSQL Databases:
- MongoDB
- Redis
- Memcached
-
Hosts:
- Amazon AWS
- Digital Ocean
- Heroku
- Engine Yard
-
App Servers and Web Servers
- Nginx
- Phusion Passenger
- Puma
- Unicorn
-
Deployment, Measurement vs Monitoring
-
Rails Principles
- Convention over Configuration (Coc)
- Don’t Repeat Yourself (DRY)
- RESTful
-
Design Patterns
- MVC
- Form Object / Policy Object / Query 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
-
Database Query Optimization
-
Caching
-
Security
-
Performance turning
-
CDN
-
Search Engines
- Elastic Search
- Solr
- Sphinx
-
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: Rules for Faster-Loading Web Sites
-
Don't Make Me Think: A Common Sense Approach to Web Usability
-
Soft Skills: The Software Developer's Life Manual