Become a Better Web Developer with these Basic Skills
By: Erik Wessel
Over my years as a manager of web application developers, I’ve taken part in the hiring of new employees a good number of times. One trend I’ve noticed in applicants right out of school--whether they’ve earned a certification, an undergraduate degree, or those coming from a coding bootcamp-is they are missing what I consider to be basic skills that every web app developer should have. Part of this is that some basic skills, like SQL and data modeling, receive no focus in schools. Part is because web development stresses using different frameworks to accelerate development, but those frameworks hide the basics. This means when those developers are hired, they’re going to have a lot more on-the-job learning to do before they can be truly productive.
Even for programmers with a few years of experience, if they lack these skills, their jobs are going to be that much more difficult for them as they encounter issues they won’t be able to diagnose quickly. So, here is a list of basic skills I think developers should have to make their jobs easier and make them better job applicants.
Databases and Data Modeling
At the heart of any web application is the need to access and store data. Often, I’ve seen academic programs address SQL and databases as a unit in a single class, and the class leaves the students to figure out how to use a database in applications on their own. Granted, the trend in data is towards NoSQL-type data, but SQL is still in high demand. Learning SQL and NoSQL skills together are both basics that will enhance any developer’s skill set. Understanding how to dig deep into a database with advanced queries, and how to model data so the data scales and is easy to fetch is a core skill any developer should have.
Just like HTML, understanding CSS at its core level is necessary for any developer. Surely, frameworks like Bootstrap, Foundation, or Tailwind can get things out of the gate much faster, but as much as they do, you can bet there are going to be customizations in any given application that won’t be covered in those frameworks by default. Developers need to know how to write CSS. And CSS can be very tricky to get right. Because of the “C” in CSS, “Cascading”, figuring out how to effect a change in a page built with a framework can be a hair-pulling exercise even for experienced CSS mavens. For someone whose sole experience with CSS is adding Bootstrap to an application, CSS fixes can be a nightmare.
A Vital Language
Another trend in this article is saving time and effort. Knowing about the one function or method that can change an array in one line of code instead of fifteen will save you the time of writing, testing, and debugging those fifteen lines of code. Over the course of a whole project, those savings will add up, not to mention future time saved because it’s much easier to discover a problem in your application at a glance. Writing those fifteen lines can incur a large technical debt a single built-in function call would avoid.
This is more of a warning than encouragement. Debugging is a skill that takes time and experience to gain, but it’s worth knowing ahead of time that you need to put effort into learning this skill as you progress through your career. All of the previous skills mentioned in this post will help with debugging. You’ll need to work on understanding the different errors reported back by the application and the different ways those errors can be generated. Seeing them and fixing them is the best way to learn those problems. Eventually, you’ll get to understand how your language, framework, server, and other tools work together--and fail together--so that as soon as you see an error popping up, you’ll know the right direction to look in the code base to resolve the problem.
Working as a web application programmer can be a fascinating job with a lot of ups and downs. Learning the basics can help reduce the downs, make them less impactful, and allow you to better enjoy the ups.