The opportunities for programmers in the coming decade have been discussed over and over in popular media. According to the US Bureau of Labor Statistics, web development jobs will grow twice as fast as average. That means lots and lots of new jobs in the field.
Since web development is the most prevalent field in software development it is the most approachable field for those new to development. There are many entry-level web development jobs posted on Indeed and other technical job sites. Web developers are well paid, jobs are plentiful, and the rate of growth is considerable. Web development is a great entry point in the software development field. The remainder of this article will lay out how to become a web developer step-by-step.
Before considering how to become a web developer, let's talk a bit about what web development actually is.
Perhaps the simplest way to describe web development is, "the building and development of web sites." Some web developers work with web designers who create the visual design of a website. Designers are often called User Interface Designers or User Experience Designers. Some web developers work alone completing every aspect of a web project, while other web developers work in a team.
In enterprise environments, web developers may "own" a very small portion of the site that they maintain and improve. Years ago I taught a training course at Cisco in San Francisco. I remember a developer showing me a menu that was his responsibility. It was actually his only responsibility on his large web team.
Over the past few years, the web development field has become more specialized with developers being categorized into three groups: client-side developers, server-side developers, and full-stack developers. The lines between these categories are permeable at best, but you'll want to be aware of the classifications as most jobs posted for web developers use these terms.
If you want to work in client-side web development, you should also learn Bootstrap, which is the most popular library in use today. Bootstrap uses the responsive design paradigm and helps you create websites that are easily navigated across the range of screen sizes and devices.
In summary, client-side development is a great place to start your career. It offers you, perhaps, the most direct path to a first job and many opportunities to grow into other positions as your skills and experience increase.
Server-side developers work on code that runs on a web server and interacts with the user's browser. Typically server-side code is processing requests from a browser that requires interaction with databases, content management systems, or other complex platforms. Simple sites might have no server-side code running at all. However, whenever there are multiple users, financial transactions, or interactions with a database, server-side code is running.
Many times server-side developers work on enterprise applications. These are many times large applications for companies you've likely heard of. Bank of America's online banking application, JetBlue's reservations and ticketing site, and Facebook are all examples of enterprise applications. All server-side work isn't for large companies, however. I once worked on a server-side application for a pet food distributorship that had only three employees.
Server-side work is more diverse than client-side work because there are more languages used (although not on the same project). Server-side developers often have competency in one (or more) of the common server-side languages.
The most common of these server-side languages is PHP. PHP has been around for a long time so there is lots of code that has been written in the language. PHP is somewhat easy to learn and powerful. It works with several different backend database systems and eCommerce systems. Popular content management systems like WordPress are written primarily in PHP.
Other server-side technologies that are popular include Java, which is mostly used on larger enterprise apps, Microsoft's .net platform, and Ruby-on-Rails.
Yet another category of web developers are proprietary developers. These developers specialize in specific technology to build sites and applications. For example, some developers specialize in WordPress and only build sites with a WordPress base. To do this kind of work you need a high level of expertise and the languages that support it. For example, many WordPress developers get away with knowing only fundamental HTML and PHP, which the WordPress content management system is built on.
Magento and Shopify are two eCommerce platforms with robust proprietary developer communities. Frankly, the problem with this type of work is that you're only able to work within the platform you learned. Without the fundamental client-side or server-side skills mentioned earlier, it's difficult to work in other domains.
Proprietary web development is best suited to freelancers who want to work with the same technology over and over again on similar projects.
As you may have guessed, full-stack development takes longer to learn and master because of the sheer number of separate technologies you have to master. There are, however, many job opportunities for people who can work on both the client-side and the server-side.
I usually recommend that they, at first, aim to obtain the skills to become a client-side or server-side developer. As you become more expert on your side of the fence, you can start adding other skillsets. In general, companies are looking for developers who are really good at a couple of specific things, not generalists who are mediocre at several different things.
If you are going to freelance or start your own web development business, you almost have to be a full-stack developer. Very few business problems you encounter will be solved with server-side or client-side code only.
The key is, perhaps, not to get too hung up on learning any particular technology or stack. The trust is every employer is different and almost all have a set of technologies, libraries, and tools unique to them. Almost no one joining the team new is going to be skilled in every part of the stack used at a particular company. (Although their job postings may make it look that way!)
The best thing you can do is have surety in your path and keep learning as the needs of employers are always changing. Becoming a web developer means a career of learning as new technologies are introduced and old ones fall out of favor.
As I write this Indeed lists over 22,000 open jobs for web developers. That's a hell of a lot!
Of these jobs, over 4,000 have been specifically marked entry-level, meaning they'll hire people who are new to the development field. These entry-level jobs average $25- $50 per hour or $40,000 - $75,000 per year.
Geographically, these jobs are available just about everywhere. From major tech capitals like New York City (999) jobs to smaller towns like Tulsa (29 jobs). WIth COVID-19 causing so many to work remotely, companies are more and more looking at hiring outside of their traditional geographic area. That means if you live in Boise, you can confidently apply for jobs in San Francisco or Dallas. Skills trump location in today's job market.
Like many industries, in development, the first job is the most difficult to obtain. You should consider interviewing for jobs that are less than ideal at first if they match your skillset and experience level. There is a tremendous "foot-in-the-door" philosophy in the tech field. If you prove yourself at your first job (and keep your LinkedIn optimized and up-to-date) you'll find recruiters trying to pull you away from your first job offering better money, better benefits of a more desirable environment.
Let's assume that you're brand new to development and want to know the most efficient path to your first tech job. The roadmap below illustrates a typical path to the first job as a web developer.
Once you've added Bootstrap to your toolbox, you'll build your portfolio with full projects that will also sharpen your skills. You'll create these projects up to professional standards and put them in a web-based portfolio as well as your Github. Once your portfolio is completed. you'll be ready to look for an entry-level job as a client-side developer.
That's not where your path should end, however. While you're seeking initial employment, and during your first job, you should still be building your knowledge. You'll become more valuable as you gain more skills. The next skills you should acquire is knowledge of an advanced client-side Framework-- like React. Once you possess React skills, you'll have the complete client-side skillset and just have to continue to build your experience, GitHub repository, and portfolio site.
Should you want to acquire backend skills, you'll continue down the roadmap. PHP and NodeJS will further qualify you for many server-side jobs. Most server-side applications interact with some type of database, so it would be wise to acquire database management and coding skills as you work through this phase of your learning.
Note: Framework operates a training program that offers the entire pathway discussed above. We know there are other training options out there-- and many of them are quite good. There is a right program for everyone and I would encourage you to do your research before joining our program or any other.
If you're considering how to become a web developer, you're probably thinking about how to acquire the various skills reviewed discussed on the roadmap above. There are several options available to you.
I am going to exclude four-year university degrees from this list. Four-year degrees have their place. For the most part, a four-year degree is not a necessary step if you want to become a web developer. While always helpful, most degrees are in computer science, which is hard science that includes everything from hardware, to engineering to automata theory. I assume if you're reading this, a university degree is in your past, or not in your future.
There are many excellent community college web development programs out there. There are also some that use a curriculum from 1998. If you are investing in a community college program, make sure their curriculum is up-to-date. Ask what languages you will learn, and compare the list to the pathway shown in this article. Ask about job placement, and how many program graduates get jobs right away, or within a few months.
Many of these programs won't have any type of portfolio and GitHub development component to their program-- so be sure if you enroll in a community college web development program that you still develop your portfolio and create projects that will help you get your first job in the development industry.
Most community college programs last a year or two and cost between $4,000 and $8,000.
The most attractive element of teaching yourself web development skills is that it's free. If you have no budget it is still possible to become a web developer. Using free resources like blogs, YouTube, and Free Code Camp, you can gain many of the skills discussed in this article.
Perhaps, the most important element that you lose when you opt for self-learning is the community around you. College-based programs, online learning programs, and physical boot camps all have a social component. This community provides support and helps you stay motivated through the learning process.
There are times when you are learning web development where things will get difficult. Having a community around you going through the same struggles may be the difference between completion and quitting when things get hard.
"Become a Web Developer in 12 Weeks" they claim. For some, boot camps are a great option. Lasting six, eight, or even 12 weeks, boot camps provide a very compressed education. If you join a boot camp you can expect to work on material and projects for 40-60 hours a week for the period of the boot camp. (They're not called "boot camps" for nothing!)
Right now, there's a glut of boot camp graduates on the market. With limited experience, a small portfolio, and a lacking GitHub repository, many boot camp graduates are having a hard time breaking into the industry because of the additional training they require.
Boot camps range from $5,000 to $15,000 for the program. There are a few free campus-based programs like Holberton. These programs are highly selective and are generally funded by employers looking for new developers. These programs are a great deal if you can get in, and have one near you.
There are many different types of online programs. Some online programs mirror their campus-based boot camp counterparts. These "online boot camps" can be very expensive and results are decidedly mixed. Make sure you look for a program that has a strong community and an updated curriculum.
In my opinion, there is no reason for online programs to be as expensive as they are. With today's distribution technology, quality education can be had for very little money.
Whatever paths or routes you choose, I wish you luck on your journey to becoming a web developer!
What are your experiences? What has worked for you and has not? Respond in the comments below and share your own experiences as you've tried to figure out how to become a web developer.