Stack Overflow has an interesting take on what it takes to be #Fullstack.
A Minimum Viable Fullstack Engineer (MVFE)
- Uses version control
- Knows HTML
- Knows CSS
- Has a strong grasp of programming fundamentals
- Understands distributed systems
- Knows at least one primary backend language (probably NodeJS, PHP, or Java)
- Is skilled with at least one datastore/database
Realistically Viable Fullstack Engineer (RVFE)
- All things listed in the “Minimum Viable (MVFE)” profile.
- Understands business and customer needs.
- Understands role of marketing and how it co-exists with engineering.
- Implementing and reporting on A/B and Canary testing
- Integrating sales funnel concepts such as conversions, impressions, call to action (CTA), etc. into the product
- Understanding how page design, layout, and responsiveness impacts the above concepts
- Has strong project and time management.
- Has a solid grasp of design (at least enough to work with designers)
- Can design, architect and implement end-to-end software systems.
- Is familiar with CSS best practices, modern additions, and libraries.
- Knows at least one single-page application framework (SPA)(and if only one, it has to be React)
- Familiar with domain specific frontend concepts (HTTP, CORS, etc.)
- Has strong SQL and NoSQL skills.
- Comfortable with devops.
- Experienced with testing at all levels (unit, integration, end-to-end, UI, stress, A/B, Blue-Green, Canary)
a fullstack engineer’s value is mostly derived from their ability to single-handedly design, architect, execute, and operate an entire end-to-end system. Assuming this is possible, it almost completely eliminates integration overhead.