Laurence Gellert’s blog post on “What is a Full Stack developer” is a good summary on the high level expectations of what this phrase might mean to an employer or manager. He breaks it down into the following categories:
- Server, Network, and Hosting Environment.
- Data Modeling
- Business Logic
- API layer / Action Layer / MVC
- User Interface
- User Experience
- Understanding what the customer and the business need
Read his post for a more detailed breakdown if those 7 categories.
As John Simmons / Outlaw Programmer so succinctly put it recently:
…”full stack” developers (another way of saying they don’t want to hire enough people to do the job right) that can work on a technology mix that would make most real programmers wince in pain, and nine times out of ten, all they want is to hire someone long enough to clean up the last guy’s mess, or to implement some tech agenda based on some idiot manager’s wrong-headed view of how things should work.
Personally, I think John’s view is more accurate with regards to the reality of how employers use the term “full stack.” Laurence’s post is accurate at a technical high level but in my opinion is also growing obsolete, particularly items 2-5, when one starts to take into account emerging technologies such as AI, microservices, agent-based and context-based computing. These technologies completely reshape how we think about data modeling, business logic, the old Model-View-Controller paradigm, and user interfaces.