It's not hyperbolic to suggest that web developers are the most important programmers in the world. Nearly everything you do online—reading your email, using a website, performing a search, uploading a video, filling out a form, shopping—requires products created by web developers: front-end developers, back-end developers, and full-stack developers.
Just about every business and individual relies on online platforms and websites to work, play, and stay connected. When you become a web developer, your job will be to understand the needs of users, stakeholders, and designers to build products that meet the needs of all three. The end result is a better online experience for everyone.
Web development involves a lot more than coding up websites and troubleshooting the code. Web developers also collaborate on designs, enhance the user experience, make web applications faster, and ensure that websites are up-to-date, informative, and fun. They aren't always calling the shots, but they are involved in most stages of building a website.
Wondering how to get started in this digital-age profession? In this guide to how to become a web developer, we'll cover:
A web developer is a computer programmer who can take a design and a set of functionality requirements and turn them into a full-fledged website. Because today's websites are made up of more than just text and a few images, web developers need to know multiple popular programming languages and how to use lots of different tools, such as text editors and version control systems. Different types of web developers use different languages and tools, and bigger web development projects often require a team of developers to complete.
When you become a web developer, you might work for one company handling the development and maintenance of its websites and web apps. Or, you might work on a freelance basis for many companies and individuals. In both cases, you will spend the majority of your time building websites and web apps. If you decide to work as a freelance web developer, you will also need to budget time for marketing, client communication, invoicing, and other administrative tasks.
These two roles are commonly confused, in part because there is so much overlap between them. At some companies (especially smaller ones), the web developer and web designer may be the same person. According to senior developer Greg Moore (in an interview for the University of South Florida Health IS Technology blog), you probably shouldn't be surprised if employers are looking for candidates who can do both development and design. He explains: "At a lot of places, you end up doing both anyway. Once they find out you can do one, then they want you to be able to do the other as well."
You'll be more marketable if you can do both, but you can decide to become one or the other. Web designers and web developers both help to turn concepts into functional websites and web apps, but they perform different tasks in the process. A web designer takes an idea for a website and translates that into a visual representation of the site. They manage graphic design elements, choosing colors and fonts, mocking up entire pages, creating logos, deciding where videos will be displayed, and helping design the navigation scheme. The web developer then takes everything the designer has created and uses code to turn those visual—and sometimes functional guidelines—into a real working website.
Because web development has become increasingly complex—with responsive design and sites that increasingly serve as customer-facing applications—web development has become more specialized over the years. Web developers tend to be sorted into three categories:
Full-stack web developers have the skills and knowledge necessary to code front-end elements that affect the user experience and back-end elements that need to function quickly and efficiently. They can handle all aspects of web development projects and are often employed by smaller companies that can't afford to hire whole teams. Unfortunately, full-stack web developers don't make much more than front-end and back-end web developers—$75,487 versus $77,908 versus $75,487— even though they have more skills. You might make more in this role if you're employed by a large corporation to oversee a big web development project, but you may need to get a master's degree to qualify for managerial positions in IT.
The salary you can earn once you have a few years of hands-on experience under your belt isn't too shabby. One of the drawbacks of becoming a web developer, however, is that you might never make as much as a developer who doesn't have the word 'web' in their title.
On the other hand, as a software developer, you'll be able to work from anywhere and even launch your own business. That's a big pro for some people. A lot of smaller and mid-size companies use freelance developers for their web projects. You can give it a try. If you get frustrated with the freelance life (some love the freedom, others hate the unpredictability of work and compensation), you can always go to work for someone else.
Which brings us to another con: stress. Programming at its best can involve long hours, lots of sitting, and deadline crunch time. At its worst, the company website is down, every minute counts, and it's your job to fix it.
Another pro is that this is one of those jobs where lifelong self-directed learning is part of the gig. Technology changes quickly, after all. According to Stack Overflow, almost 90 percent of developers across the board report that they have taught themselves a new language, framework, or tool.
How these pros and cons balance out—or don't—will depend a lot on your personality. Do you thrive under pressure? Do you love computers and coding? Do you like working independently? Consider what you're looking for out of a career before you commit to this or any other one.
There's no specific degree path for web developers (especially at the bachelor's degree level), and plenty of web developers don't have degrees, have degrees in subjects unrelated to web development, or stop going to school after earning associate's degrees. In fact, two thirds of developers are self-taught.
That said, it's important to remember that becoming a web developer is about more than just learning the most popular programming languages and attending a couple of coding bootcamps. A formal education can give you a valuable perspective into design and programming principles, how computers work, what users want, project management, and running a business.
The best thing you can do is look for multi-disciplinary bachelor's degree options. For instance, the University of Louisville offers a Bachelor of Science in Business Administration in Computer Information Systems with a web development track. You'll learn programming but also business and database basics. You could also major in web design and development, web development technology, information technology, or web technology.
Make sure that whatever bachelor's degree program you choose has courses that touch on:
In some programs, you will be required to take lab courses where you apply your classroom knowledge to projects that give you a chance to flesh out a portfolio before graduation.
You don't need to earn a master's degree in computer science to become a web developer. Still, if you want to make the transition to management or get paid more for what you do, it's not a bad idea to get an advanced degree (particularly if your employer is willing to pay for your education). There are a lot of different master's degree options for web developers.
The short answer is no. You'll ultimately get work as a web developer by becoming proficient in specific programming languages and tools and then leveraging those to create a compelling portfolio. Some technologies and concepts you'll need to be familiar with to become a web developer are:
As you think about whether to get a degree, keep in mind that there's no typical advancement path in web development. Where you work and how you advance will largely depend on how motivated you are. Are there compelling reasons to get a bachelor's degree? Yes, with the most important being that many employers require it. But if college isn't in the cards right now or you're working toward a degree in another discipline, you can still start studying to become a web developer. There are plenty of free online resources for aspiring developers and plenty of success stories to keep you motivated.
As one unnamed web developer with a diverse educational background wrote on the Moz blog, "The backgrounds of other developers I've met are... varied. I've known 30-something guys who went to college for hearing sciences, all the while becoming ActionScript geniuses. Others are still in school and trying to break into the computer science world. And still others never went to college, having worked straight out of high school learning most of their skills on the job."
That depends on what you're looking for out of a programming career. Is this a sexy career? Not particularly. As Ollie Mercer put it on the SimpleProgrammer blog: "Most people see programmers as nerds. So, while they do appreciate that you are intellectual, it also means that you get lumped in with adjectives such as socially awkward, boring, obsessive, unstylish, and maybe even weird."
It's also not a particularly high-paying segment of programming. Depending on what state you work in, you'll probably make about $60,000 to $80,000 per year. It's quite a bit more than the national median ($46,800), but may not feel like a lot if you work somewhere where the cost of living is high, like New York City or San Francisco.
However, if you're scouting for a career that's probably recession-proof, won't be replaced by bots any time soon, and is in demand, look no further. The US Bureau of Labor Statistics has predicts a 13 percent growth in jobs for web developers over the next ten years. If you're a motivated self-starter, have a knack for learning new programming languages, and you want to make the internet a better place, you will probably find plenty of work, with or without a degree.
Questions or feedback? Email email@example.com