5 comments

1

Note: this is a JS/node stack but lots of good links.

1

Full stack developers tend to produce bad quality end-results. I could be regarded as some full stack developer because I can jump on any level you throw at me, but when I become good at one thing I lose experience at the others.

It is wrong to assume that when you understand 7 levels that you become 7x times better. In reality you become 1/7th better because you are just one person. It will actually become 1/10th because of the overhead.

Being full-stack also comes at a cost. Your s a developer doesn't have good experience at any level. You become just average just like all other code monkeys. There is no pride anymore in the work that you created because another code monkey will probably destroy the quality and replace it with a broken system. So you stop caring about the code you produce and the quality goes down. Projects fail.

Code monkeys can appear good for a company since they are cheaper than experienced developers and can be easily thrown away and replaced. But the cost savings are short lived since it guarantees you that 6 months later 100% of all your projects will fail. Low cost code monkeys and no productive end-results.

0

It does have some good links (that I scanned through) but I have to be honest, I am not a fan of the idea/push for a "full-stack developer" as a single position in a company. I am supportive of knowing how to do a little on one end or the other* but the idea that one person can really know enough about either side (front or back) to be properly effective is something that doesn't sit right with me. I think it takes enough time and energy to become proficient in one that it can take away from the other as you try to keep updated on current trends and changes. Again, I think it's really good to know different languages especially ones that you use in different scenarios**. I feel doing so can open up ideas and understanding about the general practice of programming/problem solving. I prefer taking the "Ocean's 11" approach and getting a good team that works well together but each individual (or pairs, whatever) that focus in a specific section.

*e.g. a back-end developer knowing what build tools are and how to use one or two along with knowing what is current for front-end developers

**e.g. C++ on a system service or desktop situation, Python for web development, JavaScript/Dart/whatever for client-side stuff

2

I agree with you; it's unreasonable to expect a developer to be an expert in all tools and technologies (back-end and front-end).

In my opinion, a good developer is somebody who's versatile enough, and who can learn on the spot, whenever a new technology is required.

0

Dang this received far different responses than it did on plebbit. Thank you for all of your insight!