The experts told us if the developer’s full-stack should be considered a godsend or a problem. Can generalist developers be great specialists and why haven’t full-stack developers become mainstream in the IT industry?
Yana Trihub, CEO at KeyUA
A full-stack developer- a person who can handle all the work of databases, servers, systems engineering’s and clients- is not an engineering designation, but a business buzzword. While a full-stack developer is skilled to handle various components of the job and is skilled in coding systems, it is not an exact position. A person working as a full-stack developer earns the same as he or she would in any other programming job. They are the jack of all trades, they know more than everyone but are paid less than all. A generalist is a person competent in various fields. It is not the same as a full-stack developer and they are not interchangeable.
And their roles are pretty loosely defined and their job security might suffer too. Full-stack developers may not be scammers themselves but the term full-stack developers is a scam term. It doesn’t specify your job requirements and doesn’t pay you enough for your had word. If I had to choose between paying a full-stack developer more than or equal to a single developer, then I would choose to pay full-stack developers more because they take on more responsibilities.
Full-stack development is rapidly changing in the age of digitization. Full-stack development will increase from 135,000 to 853,000 by 2024.
Muneer Ahmed, Co-founder and editor at AmazeIvent
The best way to settle this never-ending debate is by looking at the pros and cons of being a full-stack web developer.
Pros
– You’ll be less bored with performing the same thing over and over if you have the option to switch projects and technology stacks. It isn’t applicable if you are a die-hard fan of a specific language and are ready to create code every day, but it is applicable anyway.
– You can easily become a team leader. The more expertise you have, the easier it will be for you to hold a management position.
– At the convergence of several technologies, you may make beautiful things.
Cons
– A full-stack developer may perform worse than a specialist in a different sphere/language. If someone spends five years studying a computer language, it’s safe to presume that he’ll have a deeper understanding than someone who spends the same amount of time studying numerous languages.
– A full-stack developer may be overburdened since he is responsible for maintaining a good front end as well as a back end. This might prevent the developer from learning new things, which a single-domain developer might excel in.
– Catching up with the latest libraries or frameworks might not be easy for the full-stack web developer. Furthermore, taking time off from work, going on vacations with your family would prove difficult given the workload.
Cal Mitchell, founder at SQLPipe
Fullstack engineers can be a godsend to companies who need an experienced engineer to come in and understand the whole picture. In that sense, they are often a great middle layer between management, who needs to understand general trends in development, and more specialized developers who need to understand extremely specific parts of the technology stack.
Good generalists absolutely exist, and are actually quite common if you know how to find them. Being a good generalist usually just means that you actually like developing software, and have been around for a while.
Companies who think full-stack developers are scammers are probably misinformed about what a full-stack developer actually is. A full-stack developer is not someone who knows, in detail, how every piece of technology in your stack works. Even the very best developers in the world learn new things every day. Rather, they are someone who has the context to understand how everything fits together and can learn quickly in order to contribute to whatever problem needs solving at that time.
Except in very narrow cases, it is absolutely a good thing to have generalists participate in development. This is because most computer systems do not exist in a vacuum. For example, if you are developing an iOS app, you will need that app to connect to a web server, which will have to connect to a database, which will have to run on a computer somewhere (probably in the cloud). Having one person who can talk to an iOS developer, a backed server developer, a database developer, and a DevOps / SRE engineer at a technical level can seriously help your development velocity.
Full-stack developers have absolutely become a trend for the IT industry, whether or not they show up in statistics. In fact, it is more rare to find someone who has only worked in one specific part of the tech stack, than it is to find someone who was worked in multiple parts of the stack.
Shai Almog, co-founder at CodenameOne
Fullstack developer – is this a godsend or a problem: I think that’s a bit of a simplistic view of a wider problem in the industry. I feel I’m a full-stack developer and have been for ~30 years. I’m a good generalist and I did teach full-stack development as well. I think having a generalist view and being able to look over the entire code is a huge benefit.
The problem is that a generalist is by definition not an expert in everything. I see this quite often with desktop developers trying to bring into mobile ideas that just don’t fit. The same is true for backend development where the security nuances are far more subtle and the performance characteristics are completely different.
A full-stack developer is great for building a quick and dirty startup but even with all my experience, I’m not an expert in scaling. I can do it but specific domain experience is very helpful and when the company grows you need both.
The problem is that some companies take full-stack to the other extreme, literally forcing developers out of their comfort zone so they won’t lose that muscle. The line of thinking is that a smart person can do anything. It works for simpler projects but it leads to core architectural mistakes. We’re oblivious to our own ignorance. It’s easy to talk with a domain expert and think we can do what they do. But that’s misleading.
So I’m for full-stack, but also for domain experts. They’re a crucial resource that’s just as valuable.
Michael Frederick, CEO at Flatirons Development
I have been programming for a long time, and consider myself a full-stack developer. I care as much about user experience and front-end development as I do code architecture and the scalability of the backend. This is also true of many of the best developers that I have worked with. In fact, it wasn’t years into my career until I actually met someone that only wrote backend code. Now, it is a trend for people to specialize in just the backend or the frontend.
As the CTO of a software agency, I would much rather see someone that is specialized in one popular backend language and one popular front-end framework than being specialized in two backend languages. While there are definitely learning experiences and large development opportunities in specializing in multiple backend languages, deciding to stick with only the backend or only the front-end is a bizarre decision to me. I would most easily summarize this by saying, I would much rather hire a web developer that can build a website than a web developer that can build half of a website that I need to hire someone else to finish.
Tyler Rice, Founder and CEO at GlideSEM
I believe good generalists, although most people will always specialize in a few areas and have familiarity with lots of others. I think great advice I’d give to junior developers is to go deep on a few narrow topics and also shallow and wide on lots of topics.
I’d say full-stack developers are not scammers and are great especially in the early stages of a new company. Frameworks like Ruby on Rails or blitz js are full-stack frameworks so anyone developing in these frameworks are by definition full-stack developers.
It depends on the stage of company of whether or not being specialized or generalist is more helpful to a company. At GlideSem we only hire full-stack developers as we don’t have the need for a larger team yet.
I wouldn’t say companies should be more for full-stack developers companies should base pay on experience and market pressures.
I can’t speak to full-stack developers being a global trend as I’m really only familiar with the US market.
Katherine Brown, CEO at Spyic
Fullstack developer is the all-rounder specialist. Keep updating the skills and absorb as much knowledge as possible is not an easy task but a good Fullstack developer has to do it. Based on their expansive and rare skills they can’t be a problem.
Broad experience has its benefits. Good generalists can adapt and learn quickly. To solve a complex problem one must have firm knowledge about that problem and the things it relates to. A generalist can correlate and make connections with access to his diversified collection of knowledge, So. I think a good generalist can transform into a specialist when needed.
Jack of all trades master of none. A good Fullstack developer specializes in every aspect of web development. However, they are very rare. An average Fullstack developer has less specialization in every aspect but still knows each step in the development. These characteristics make a Fullstack developer highly flexible and able to work on different parts of the project which is far away from being a scammer.
With a diversified knowledge, universal specialists are flexible to work on any aspect of a project development however a specialist can work only on the skill he masters. With a broader knowledge, universal specialist participation can add great value to the project.
Yes, a good Fullstack developer has more worth than a single developer. A Fullstack developer has broader knowledge and skills to be a good team leader than a single developer.
Full-stack developer means forgoing specialization in favor of picking up as many skills as possible. With such diversified skills and flexible characteristics to work on every aspect of the project, Fullstack developers are rare to find and can’t become a global trend for the IT industry.