Summary: Web application development is quickly becoming more complex. It requires an ever-increasing, and ever-evolving skill-set. What skills must modern web application developers now possess? We explore the top 6 in this article.
In the past, application development had more of a specialized focus. Programmers focused on a single language (like COBOL, RPG, C++, etc.), and built applications with that language.
Now, that’s all changed. The web doesn’t allow for a single focus. Rather, a modern web application developer is something of a “jack-of-all-trades.” They must understand the development aspects, but also understand web app security vulnerabilities, how it integrates with other services, and more. To further complicate things, they must even understand how their applications function on tablets and smartphones.
In other words, web application development is quickly becoming more complex. It requires an ever-increasing, and ever-evolving skill-set.
What skills must modern web application developers now possess? While the list could certainly be much longer, here are 6 of the most important skills that web application developers must now have:
How to conduct (or at least leverage) a threat model
As more and more business data moves to the web, security skills are increasingly important. The problem is, it’s a skill that many still lack. Let’s take a look at some statistics:
A recent web application security report states that “Web application attacks represent the greatest threat to an organization’s security.” The fact is, web application attacks represent 40% of all breaches.
But, wait…it gets worse.
Another report finds 94% of web applications suffer from high severity vulnerabilities. The worst part: We’re not talking about new vulnerabilities. We’re talking about well-known, common vulnerabilities that have created problems for years.
As web application attacks rise, security skills are critical for modern web developers. Driven by the rising financial and legal implications of security breaches, the ability to conduct threat model assessments will become even more important in the coming years.
“Software applications continue to be the target of attacks, and organizations are now being held accountable both financially and legally for breaches caused by insecure software,” says Ed Adams, president and CEO, Security Innovation. “In a world where continuous deployment, fast decision making and iterative development is the new norm, it is more important than ever for developers to be able to think like an attacker. Developers need to be more knowledgeable about threats and be able to conduct or leverage a threat model to ensure key threats are properly mitigated in code.”
The basics of UX Design
The importance of great User Experience (UX) Design is at an all-time high.
Why? It’s driven by a couple of factors.
First, user expectations have risen. These days, anyone can download an app, instantly understand it, and start using it within minutes. They expect the same level of usability in their business applications.
Second, users now have options. If they don’t like your web application, they’ll find one they do like.
The fact is, modern applications must be functional AND intuitive. As a result, the need for basic UX skills becomes a necessity for the modern developer.
“Never forget the human element in your work,” says Josh Harding, Developer at Mojo Tech. “A little bit of time spent studying user interface design and psychology will help you to develop web pages that are easier to navigate and use, leading to happy users and successful projects!”
The ability to create device-agnostic applications
Now, I wouldn’t call this a new skill. Mobile devices have been around for a while now, and the need for cross-platform applications is well-known. But, I include it because it’s such a critical skill for the modern developer.
In short, web app developers must now build applications that work everywhere. The question is no longer, “How will users interact with my application?” Instead, it becomes, “How will users interact with my application on each device type?”
It’s not easy. You’ll have to answer questions like: Where will the buttons go on a smartphone? How will you format your data tables on a smaller screen? What happens when the device switches from portrait to landscape mode? In short, web developers must now understand design methodologies that let web applications adapt to varying screen sizes. As explained below, it’s not as obvious as it seems.
“The main skill a modern web application developer needs to have is a strong ability for Responsive Design,” says Jerry Nihen, CEO of Jay Nine, Inc. “This may seem obvious, but a lot of times this is a crucial element missing from modern web applications. See, responsive design doesn’t just mean it “resizes” on mobile properly. A truly responsive web application responds to the environment the user is using the application. This means it hides clutter, streamlines forms and other tedious processes, and is tested on many different devices. While most developers will say their application is responsive, too many developers try and use some bootstrap template to “automate” the responsive parts. Modern applications require planning and programming for different devices from the beginning, not “checking” it at the end to make sure it works.”
Knowledge of front-end languages
Developers will always argue over their programming language of choice. You can’t convince a Java programmer that PHP is the best, just like you can’t convince a PHP programmer that Java is the best.
Developers must also understand CSS (Cascading Style Sheets). This is an important skill for a front-end web developer who need to organize and layout as well as colorize web application correctly and responsively (mobile friendly). Advance level is familiar with modern frameworks like: Bootstrap, Foundation, Materialize etc.”
Technology stacks and integration
On the web, application architecture becomes more important than ever. Application architecture is directly responsible for your application’s scalability, flexibility, and its ability to integrate with other web services and applications.
That’s why technology stacks are so important. A tech stack is comprised of the frameworks, languages, and software products that your applications are built on. These days, developers need a solid understanding of technology stacks (and how they integrate with each other) if they hope to create useful, sustainable applications.
“One skill web developers must have is a strong understanding of tech stacks,” says Arielle Kimbarovsky, Digital Marketing at Codal. “There are so many APIs and different options for tech integrations, and developers need to know how to identify the ones that they actually need to use, as well as know how to combine them. Sometimes, certain technologies aren’t compatible with each other – or something is already built and you’d be wasting your time building it. It’s all about understanding what’s out there.”
API design and integration
With the rising number of web services, Application Programming Interfaces (APIs) have become an important aspect of web development. Essentially, APIs let different web services communicate with each other. They let developers build applications that include data from other applications and services.
The modern developer must understand a couple of things about APIs: How to use an API and how to design an API.
“Good API design is critical for success, and constant across server technologies,” says Aaron Yoshitake, Founder, Pickakit.com. “How you actually build the API will depend on your choice (or someone else’s) of language and framework.”
These are just a few must-have skills of modern web app developers, but the list could be much longer. Would you like to add to this list? Feel free to comment below!