4 ms·
Full-stack developers should be generalist in nature to make sure the issues that cross domains (front/backend, etc) are taken care of. Also, they can plug any
by extrapickles 11y ago
Full-stack developers should be generalist in nature to make sure the issues that cross domains (front/backend, etc) are taken care of. Also, they can plug any gaps in the development that crop up from time to time (eg: someone on vacation, or next feature needs more back-end people). The downside is that they will not be spectacular or as quick at any one domain.
Basically, a full-stack developers specialization is to be flexible and have knowledge and experience in working the entire application stack. Another way of thinking about it is that they are like a general practitioner doctor/dentist, while they generally don't do surgery, they can refer you to the correct specialists who can and take care of any minor/common ailments. This is also why you don't want an entire team of them is that they don't go into depth in any domain.
I don't doubt that the current full-stack education path does a poor job of education on issues that specifically cross domains or when a task is better suited to a specialist.
- p4wnc6 11y agoThe desire for this sort of flexibility is a mistake. It sounds good, but it's naive. It's sort of like saying you want a single class in your OO design to be "flexible" so you make the class into an undifferentiated mess. Having a monolith class that "does it all" is a red flag of bad design. It's truly no different when the layer of abstraction is human software developers being organized for complex business problems. Having "flexible" people whose job is a little bit of everything is a major red flag of a bad design (bad management) that took the lazy way out instead of the harder but unequivocally more successful route of actually meaningfully dividing the workload between clean interfaces and having employees mostly specialize. "Sometimes you just need somebody to work across every system" is just flat out wrong. If you find you need that, it means you've been doing things in a very wrong way and patching over it by commanding positions to be full-stack is only going to perpetuate the problem.