Back-end, Front-End, Middleware Specialized Developers... But Why?
Friday, October 26, 2018
Posted by: Gary Hotze
Joe Dupree, Group VP, Global Marketing, LANSA
US News & World report named “software developer” the number 1 job for 2018. Growth in demand for software development skills is a trend that will continue as nearly every company tries to better leverage software to gain advantage. With the convenience and reach of mobile apps there is no end in sight for the ongoing need for developers.
But the current state of how programmer jobs are posted and developers are recruited has an interesting quirk. Because application development has become more complex and fragmented over the last decade, hiring managers and recruiters must request very specialized types of skills to fill their job postings. It’s to the point where the architecture of applications to be built must be determined before recruiting. It wasn’t always like this.
Rise of the Specialized Developer
We’ve seen job listings for front-end developers, back-end developers, database developers and the elusive full-stack developers that can do it all (er, at least, so goes the rumor). Modern software development has become so multifaceted that it takes a small army of specialized programmers to author a single application. There is a user interface, so you’ll need front-end developers. And even there, you might have a UI designer while other front-end developers perform the coding. Back-end development might consume multiple developers as well if there are underlying integration and database requirements.
Remember when you could just get one good developer to build all of this? What happened? What caused this? Here are a few thoughts on how we got here:
• The web: By its nature, there is a diverse set of “client” software options and “server” programs that must interact with each other. Mobile made things worse.
• IT Security: Locking everything down to stay ahead of hackers and thieves has sped the obsolescence of many software technology cycles.
• Scale and performance: You want 15,000 concurrent users? There is added complexity in the architecture of the software to accommodate this.
• Form factors: Responsive user experiences that bring the capability of power-user workstations to tablets and smartphones translate to more challenges for application developers.
That’s just a few. But the bigger issue is that the diverse and rapidly changing technology stacks that developers use to build today’s applications haven’t been designed to optimize the longevity of application code. Got another new user experience or form factor to adopt? The software discipline answers new challenges with new languages and another workbench. Consequently, there are hundreds to choose from. The costs of juggling just a dozen within an IT organization are staggering.
Agile and other development methodologies haven’t saved us from this insidious, self-inflicted and masochistic software archi-torture. The industry has gradually transformed from contemplating the mythical man-month to enduring the mythical small-army-month. The fact is, there’s no silver bullet or one-size-fits-all approach to application development because the sheer quantity of disparate systems and application types required.
Even a full-stack developer, who’s familiar with all layers of software development, is a bit of a misnomer. Full-stack developers have a functional knowledge of a lot of languages and can take a concept and turn it into a finished product. But they certainly are not experts at every programming language or task required of an application team. That’s just too much to carry. Yes, you can learn and understand the computing concepts involved in the whole stack, from database concepts to user interface design principles, but to stay current on all of the latest languages, frameworks, open source packages, integrations, protocols, patches, engines, versions and templates means full-stack developers have no time left to understand what their employer is actually trying to accomplish. But that’s OK. With their resume littered with every techie acronym under the sun, if things don’t work out they’ll land on their feet with more salary somewhere else, right? Keep reading; change is coming.
A Better Option
What if you could hire fewer developers, focus interview and selection efforts on vetting the depth of their conceptual design skills and not have to worry so much about candidates’ breadth of exposure to so many languages? What if you didn’t have to assemble a small army of developers from different proficiency affinities to build applications?
Low-code development platforms such as Visual LANSA enable faster and easier application development by automating the creation of software where possible and leveraging one powerful development language to do all the rest. This greatly simplifies the search and management programming skills problem. Armed with the knowledge of any other coding language, a developer can quickly learn how to use low-code development tools and quickly develop new apps.
Because there’s only one powerful development language in play, your entire roster of developers all become full stack developers – front-end, back-end, and everything in-between – who can build elegant and beautiful mobile, web, cloud, server and desktop applications.
While other companies are snatching up expensive software developers in bulk to acquire the most skillsets for all their application programming needs, a better option is investing in the right low-code development platform to both speed and simplify programming and get the most out of your current team.
Perhaps as more companies adopt low-code platforms, the number of job listings specifically seeking front-end, back-end, database and full-stack developers will one day become a relic of a bygone era. Maybe there will come a day when organizations confidently know the only application programming position they’ll need to recruit again is one that’s simply “Developer.”