Should Today’s Developers Be More or Less Specialized?

New technologies affect the skill mix needed to produce apps, but not everyone agrees on the impact.

Lisa Morgan, Freelance Writer

July 31, 2024

6 Min Read
Developer coder looking on computer, programming code reflecting in glasses.
insta_photos via Alamy Stock

For the last few years, we’ve heard a lot about full-stack developers. In fact, some hiring managers prefer them. However, the growing complexity of software development requires specialized knowledge that generalists might not have. On the other hand, specialists may lack the big picture view full-stack developers have. 

The Case for More Generalists 

On Freund, CEO and co-founder of Wilco, an upskilling platform for software engineers, says specializing is not future proof because skills always change.  

“If you want to specialize, you should specialize in the ability to easily pick up new skills,” says Freund in an email interview. “Developers should focus on being generalists who can easily adapt to new technologies and methodologies. This is particularly true with AI, as the assumption should be that AI will eventually take over any given skill or specialty. If you can acquire new skills, you can pivot to the areas needed.” 

Ghazenfer Mansoor, founder and CEO at healthcare mobile and web app development company Technology Rivers, believes there is an increasing need for full-stack developers. 

“The trend shows a move away from the usual specialist jobs,” says Mansoor in an email interview. “Due to this trend, big questions come up about the way companies can mix expert knowledge with wider skills to handle today and tomorrow’s technology needs.” 

Related:How IT leaders Can (Cautiously) Utilize AI to Improve Developer Experience

Andrea Malagodi, CIO at clean code solution provider Sonar, thinks having a broader skillset allows one to take advantage of opportunities that come along and that overspecialization can be a barrier to building a software development career. 

“I think having a diverse background, and a broader understanding and skillset is important for a successful long-term career in software development. Knowledge and experience with different programming languages and technologies are extremely valuable,” says Malagodi. “This helps developers think more critically and creatively and ultimately enhance their role as a software designer/programmer. It’s also important to be open-minded about the future.” 

The Case for More Specialists 

Steven Hillion, senior vice president, data and AI at data orchestration platform provider Astronomer, sees the number of specialized developers increasing due to increasing software complexity. 

“The need for specialists is not going to change. If anything, I expect it to increase,” says Hillion. “We still have a number of clients who rely on full-stack developers. I would say the general trend is towards businesses needing more specialized developers who have the right combination of technical skillsets and sector knowledge to deliver what is needed into the complex tech stack. There is significant demand for developers who specialize in particular industry sectors.” 

Related:How to Build a Team of Talented Citizen Developers

Ilia Badeev, head of data science at global travel company
Trevolution Group also sees a trend toward more specialization. 

“About 20 – 30 years ago, there wasn’t a distinction between ‘backend’ and ‘frontend’ developers. There were just programmers with a broad set of skills covering the entire software processes,” says Badeev in an email interview. “They could set up operating systems, write server code and even fix HTML. Sometimes they knew how to solder simple hardware and do low-level programming. Nowadays, we see an exciting trend towards specialization: frontend, backend, DevOps, cloud engineers, data engineers, and so-on.” 

Overall, he sees the development of AI programming advancing to perform tasks of junior and mid-level developers, such as writing code based on a ready-made technical specification. However, architecture and planning will remain under human control for now. 

“Imagine you describe a system, a rough solution architecture and AI writes all the necessary code segments for you, including infrastructure. You only need to review it,” says Badeev. “However, in the future, AI will likely be able to design the architecture as well making ‘English the most popular programming language.” 

Related:Can Your Developers Benefit from Platform Engineering?

However, Petr Aubrecht, senior software engineer at open source application server provider Payara Services, says many self-identified full-stack developers have a stronger background in back-end development with limited front-end skills. Their knowledge of HTML and CSS might be outdated, lacking the depth required for modern web development, which demands proficiency in areas like semantic coding, SEO, accessibility and cross-device compatibility. 

“As technology continues to evolve, the trend is leaning towards further specialization rather than generalization. The complexity of modern applications and the rapid advancement of technology mean that it is increasingly challenging for a single developer to master all areas of the stack comprehensively,” says Aubrecht. “Within the realm of front-end development, we now see sub-specializations. For instance, the ‘front of front-end’ focuses on UI, layouts and the visual aspects of a web application, while the ‘back of front-end’ deals with APIs, routing and CRUD operations. Previously, the back-end developers handled these tasks using server-side languages, such as PHP or Python. Today, with JavaScript running on the server, what qualifies as “front-end” work has broadened significantly.” 

A Bit of Both 

Full-stack developers and specialists don’t need to be mutually exclusive. In fact, some prefer both. 

For example, Caitlin Wehniainen, a staffing and recruitment expert at IT staffing agency On Cue Hire says that given technology’s constant state of change, the best software engineers stay ahead of the curve by continuously learning new technologies at home, if necessary. 

“While software engineers may specialize in backend or frontend development, most companies today do seek full-stack developers,” says Wehniainen in an email interview. “Those who show genuine curiosity to learn and a willingness to learn can market themselves as full-stack developers because they take time to learn and play with the code in their own time. Great software engineers seem to want to learn the end-to-end of any process and are able to communicate that well in interviews.” 

Maxim Ivanov, CEO and co-founder of data orchestration platform provider Aimprosoft, thinks some general knowledge is important for specialists to have. 

“Without basic knowledge, pursuing any specific development area is challenging,” says Ivanov. “That’s why starting by mastering basic technologies that someone is most proficient in, which helps them learn new things faster,” says Ivanov in an email interview. “However, core technologies should not be the end goal. It is also essential to stay up to date with technology trends and always continue using new technology.” 

Tasks that go beyond standard or general requirements need the involvement of specialists who have knowledge and experience in specific areas. For example, a project that requires complex algorithms or specific technologies will require a specialist with a deep understanding of them. 

“Narrow, specialized and full-stack development complement each other,” says Ivanov. “Full-stack developers have broad knowledge and can cover the entire development process from frontend to backend, ensuring basic functionality and system integration. Meanwhile, specialized developers can focus on complex or unique parts of the project that require a deep understanding of a particular technology or methodology.” 

Lauren Perez, manager, learning experience design at tech training and talent solution provider General Assembly, agrees. 

“Full-stack developers can move seamlessly between different layers of an application, reducing the need for handoffs between specialized team members,” says Perez. “This allows for smaller teams but may require consultants for projects that require deep expertise in specific areas. For students breaking into tech, having full-stack or broader skills can make them more hirable, especially when casting a wide net in a job search. Generally, there are fewer highly specialized jobs in any field, and the demand is typically for experts with flexible experience.” 

But in the end, it’s about balance. Specialization offers the advantage of becoming an expert in a niche area, which can be financially and personally rewarding, but being a generalist provides more flexibility and makes developers adaptable. 

“The best approach might be a mix of both: having a solid base of skills while also diving deep into areas you’re interested in through your employer,” says Perez. 

About the Author

Lisa Morgan

Freelance Writer

Lisa Morgan is a freelance writer who covers business and IT strategy and emerging technology for InformationWeek. She has contributed articles, reports, and other types of content to many technology, business, and mainstream publications and sites including tech pubs, The Washington Post and The Economist Intelligence Unit. Frequent areas of coverage include AI, analytics, cloud, cybersecurity, mobility, software development, and emerging cultural issues affecting the C-suite.

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights