This is an article I first wrote in 2016. It’s been slightly modified to stay relavant in 2020. Four and a half years later, I think the arugment for new coders to start with web development is even stronger. Enjoy!
When I first started coding on my own, I honestly knew very little about the software industry, and even less about what I actually wanted to do with it. Not knowing where to start, led me down a long path of jumping from one language or technology to another, which meant it took me years to land my first programming job. If I could go back, I would start with web development.
It’s funny how passionately I support the notion of beginning a programming career in web development. When I started teaching myself how to code, I honestly would have never guessed that web development was for me.
Back then, I just knew so little about the industry I didn’t even know what “web development” meant. I think there are a lot of fresh programmers out there who are in the same boat that I was too.
So before I convince you that you should start with web development as your entry point into software, let’s look at what web development actually is.
This is what Wikipedia calls a “web developer”:
A web developer is a programmer who specializes in, or is specifically engaged in, the development of World Wide Web applications, or distributed network applications that are run over HTTP from a web server to a web browser.
A little vague, but I completely agree with that definition. A web developer is a vague title to be given because it doesn’t apply to any specific kind of work. The only thing it truly states about your work, if you’re a web dev, is that you develop technologies that use the web in some way.
Naively, I used to assume that a web developer was someone who made websites. Like my grandparents website for the landscaping business. You know? Two column layout with some navigation on the left and a catalog on the right?
Obviously there’s bigger things like Twitter, Facebook, Amazon etc but in my mind those “websites” were the exception not the rule. I also didn’t fully understand what it took to build a Twitter or a Facebook.
I wanted to be a “real programmer”.
The truth is “web development” in 2020 could mean that you do native mobile applications on iOS or Android. It could mean you work on Progressive Web Applications. Or maybe you develop HTML 5 games that not only run in a web browser but can be distributed on Steam and ran on a Mac or PC.
It could also mean that you make websites for small to medium sized businesses, program micro controllers, or create behemoth applications at one of the FAANG (Facebook, Amazon, Apple, Netflix and Google).
And of course it could mean you’re building static websites for mom & pop shops.
So really, “web developer” is an ambiguous title. So you can’t infer much about what someone does when they tell you they’re a web developer.
The point I’m trying to make clear, is that I don’t want you to make the mistake I made, and look at web development through a limited perspective. When you bet on the web, the possibilities are endless. If what you’re after in your career is freedom to go in any direction, then the web is where you’re going to find it!
You might be someone who already knows all of the above, or maybe it’s new to you and you’re surprised. But you still don’t want to be a web developer.
Maybe you’d rather be a data scientist, system architect, software engineer or something specific like a Windows desktop developer. Why would you want to get into web development?
This is the main reason I think newbies should be seeking a career in web development. It’s what I suggest to everyone who is looking for a way to get paid for writing code as quickly as possible.
In the world of web development, there are tons of jobs out there that only need you to have basic skills that can be acquired within 6 months or less depending on how dedicated you are (and how fast you learn of course).
Contrary to this, game development will require a lot more time. Usually, you’ll get your foot in the door of some company by starting at a testing position (even with schooling). Once you’re in you’ll be paid a very low salary or hourly wage. You probably won’t even be permanent full-time until you’ve served an internship or contract period. You have to work your way up to higher positions before you ever write a line of code.
In web development, you’re more likely to start writing code from day one.
Once you get into the industry, you don’t have to stay a web developer forever. You can always switch gears at any time. For some, web is exactly what you might want to do, but for many, you may want to transition into something else.
The main reasoning behind me wanting people to start with web development is so that they can get paid to write code as soon as possible. Once you start writing code for a living you start learning at an alarming rate.
For example, you’re going to need to know Git or other version control software, know how to connect to and query a database like PostgreSQL or MySQL. You’ll need to know design patterns, anti-patterns and architecture. These things are all transferable.
Web technologies have permeated into every other discipline so having a background in web, is only going to make you a stronger candidate for the type of work you really want to get into (if it’s not web development specifically).
One of the most important things to work on when you are trying to break into the industry as a developer is building a portfolio. Simply put, when you don’t have any real-world work experience, it’s difficult for an employer or potential client to know if you’re competent without seeing example projects.
Thanks to the super worldly and very wide World Wide Web, it’s easier than ever to share projects that you’re working on with friends, family, and potential employers, clients or head hunters. This isn’t unique to web applications, but anything running on the web comes with some nice advantages - especially for beginner coders.
If the projects you are working on are built to run in a browser, it becomes incredibly easy to distribute your work. All you have to do is share a link, and your app/website becomes immediately accessible to everyone with a web browser!
Considering how cheap hosting is, it’s a compelling argument. You can buy a domain for as little as a few dollars a year, and then host your front-end app or static website on Github for free. You can also share work that you build on codepen.io which is a popular service for front-end developers - completely free too!
Having the ability to create an accessible portfolio of work is a major benefit of web development. When you are new to development in general, figuring out how to package and distribute projects you’re working on is not always a trivial task. Web development pulls that barrier down completely, which makes it incredibly beginner friendly.
One of the coolest wins, in my opinion, is the fact that web development is so freeing. I feel like I’m free to go in any direction that my interests guide me with no bounds.
I can use, and have used web technologies to build websites, web applications, mobile applications, games, and even to program micro controllers. It’s amazing to have a skill set that is applicable to so many things.
The opportunities are endless. You can build pretty much anything with the web and it just keeps getting better and better every year.
OK, so before I bid you farewell, I just want to make sure it’s clear that I don’t intend to derail anybody’s current focus. If, for example, you’ve been learning C# and Unity for the past 6+ months and you know for sure game development is where you want to be - go for it! One thing I’ve learned is that once you find something you enjoy doing, it’s best you stay focused and continue working on it rather than jumping ship because someone said so.
But for those who aren’t quite sure exactly where to focus their energy like me when I was starting out, I really think you should start with web development. All the reasons stated above hopefully convinced you that it’s a good idea.
Just don’t quit your day job if you have one. My final piece of advice is that you should not quit your job to pursue this. The stress of having to make ends meet will likely be detrimental to your learning curve. Create some free time for yourself, make a time budget, and learn on the side. Within 6 months, I believe most people who are dedicated enough, will find their first job.
Here’s a great place to start: https://www.freecodecamp.com
Also, if you made it all the way to the bottom of this page, thanks for reading! If you like what you read, don’t forget to leave a comment and share!