By Eric Wise
The following post contains an excerpt from our enterprise ebook The Modern Full-Stack Web Developer. Download your free copy.
Over the past 30 years, the job of a full-stack web developer has simultaneously become much easier and much harder thanks to massive amounts of information available.
Developers used to have to read large programming tomes, but today’s coders have a wealth of books, videos, interactive tutorials, and communities ready and willing to help answer even the most complex questions. While access to information is much easier, at the same time, it’s gotten much harder because the internet never forgets. Developers often have to slog through irrelevant information that is out of date or sometimes just plain wrong.
So with all these changes, the obvious question is: What does a modern full-stack web developer look like? Here is a list of the most common skills that will get the most traction in 2019 and beyond.
HTML and CSS
New world meets the old world. The foundation of the modern web developer has not changed. HTML and CSS are still the entry point to web development skills. For non-technical readers, HTML defines the structure of a web interface. Input elements such as text boxes, select lists, checkboxes, and buttons are all defined using HTML.
CSS are concerned with how the HTML elements look. Over the years, CSS has evolved from very simple styles such as colors and borders to now being capable of animations and other advanced effects. Together, HTML and CSS are what make web interfaces look good.
One of the challenges of being a web developer a decade ago was that there was little guidance on how to structure and implement an application. The lack of resources made it very difficult to get up to speed on new projects and also meant that many developers were reinventing the wheel with a lot of “boilerplate” code.
Boilerplate code is common functionality such as navigating between views, passing data between interfaces, security and authorization, and other such tasks that are common among all applications. Developer time is expensive, so most developers would rather grab the common boilerplate from the community so they can focus on writing the code that really matters to users and differentiate applications from others. In a nutshell, this is what a framework provides.
For the modern full-stack web developer, there are many choices, but the three most common, in order of popularity, are React (created by Facebook), Angular (created by Google), and Vue (community driven by former Angular developers who think Angular is too complicated). As a company, you will likely invest in one of these frameworks, as mixing them does not often make sense. Modern web developers should pick one to be really good at and be familiar with the others.
Source control provides a repository for application files that can be shared with a team. It also provides features like versioning (for backup/recovery) and bug tracking. There once was a time when source control was not pervasive. Those days are long gone. Any full-stack web developer who plans on working with a team needs to understand source control if for no other reason than to use it as a backup and versioning mechanism.
Last but not least, the modern full-stack web developer should invest in learning Python. The Python programming language is one of the fastest-growing in-demand skills for two reasons:
- Python is the most popular language for DevOps, which is a role concerned with automatic deployment applications from the development environment to the production environment.
- Python is the most popular language for data science, and the primary purpose of many applications is to visualize and interpret data.
Increasingly, modern web applications are leveraging one or more cloud services. Deploying code is becoming more complicated due to the extra steps of interacting with these providers in a clean way that doesn’t miss steps, rolls back safely if there are errors, and is able to deploy to dozens (or hundreds) of servers in a batch process. Modern web developers who can manage the DevOps process are far more valuable than those who cannot.
Plus, developers who know Python well can always start to dabble in data science, which is one of the fastest-growing job skills in the tech industry. So it’s a great way to hedge technical bets!