How to Become a Web Developer
UPDATE: Check out a more recent post how to become a programmer in 2017 or the best way to learn to programming for beginners.
So you want to become a web developer? Smart move. The web is a growth industry and I don't know of any university curriculum that adequately prepares people for this career. A good web developer can pull in well more than the median annual wage and job benefits and promotion opportunity are great.
So what do you need to know?
- Programming 101
- HTML & CSS
- Read the Manual
- Pick a Content Management Systems (CMS)
- How Long Will It Take?
First things first, web developer is really code for web programmer. As a programmer you've got to know programming fundamentals. Concepts like an if statement and for loops allow you to create programs that do things. In my own personal experience learning programming fundamentals requires consistent exposure and rote learning followed by an epiphany, where you actually discover why you've been writing the things you've been writing down.
While you can certainly start with online tutorials, I think the best place to cut your teeth on these concepts is in a classroom, surrounded by people who are likely just as puzzled as you are. It's likely that these classes will be conducted in C, C++ or Java. Remember: you're getting core concepts, so the language doesn't matter much.
HTML & CSS
HyperText Markup Language & Cascading Style Sheets (aka HTML & CSS) are the most important elements in the display of every webpage you visit. While a basic well-formed webpage can be created in as few as 6 lines...
<!DOCTYPE html> <html> <body> Hello World </body> </html>
...the art of HTML & CSS is a long and storied tradition. Hand-coded HTML/CSS (using a text editor) and getting websites to display consistently across web browsers (FireFox, Safari, etc.) is something akin to alchemy. No matter what you do in this regard, no matter how painful it is, stay away from WYSIWYG editors, like Dreamweaver (sorry Adobe!).
NOTE: in your browser, look for the command that reads "View Source" and start examining the HTML on the websites you visit the most.
Read the Manual
Now that you've got the basics covered, it's time to go back to the beginning and read the PHP Manual. Yes, read the manual. Not only will you get a thorough review of a true web-based language, but you'll also likely pick up some brand new concepts that will broaden your horizons.
Pick a Content Management Systems (CMS)
These days knowing web-fundamentals is not enough. If you want to be marketable, you need to pick a Content Management System. I am a huge advocate of Drupal, with WordPress coming in at a close second. Both of these CMSs are built on PHP, are on fast growth curves and boast strong communities. These communities mean there is plenty of contributed code and consensus around best practices, while the fast growth curves mean jobs.
How Long Will It Take?
If you are transitioning to web development from another career, plan for a 3 year ramp up. Roughly speaking, Year 1, should be devoted to taking classes, stumbling around and being confused. Year 2, should be devoted to building websites for anyone and everyone who asks you for one (and there will be a lot of people) and contributing to opensource projects (like Drupal and WordPress). And Year 3, is when you should be able to expect to either start charging for your work as a freelancer or when you might be able to pickup an intro position (or internship) with a company.
No matter how far you make it in your journey to becoming a web developer, the above steps will open new doors and opportunities. You may find along the way, you prefer the discipline of Project Management or you might become an iPhone App developer or a blogger or an instructor. Pursuit of technology will enrich your life and broaden your horizons and just may put you on a career path in an industry that is destined for even more growth in the coming decades.
Why I Wrote This Article
Those people who are regular readers of the Metal Toad Blog, may be wondering why I wrote this article. Our content, in general, tends to be very technical and targeted at people already in the industry. It's a tale of two worlds. As the rest of the economy has been faltering, the internet economy has been seeing a huge boom, from ecommerce to consultancies. Many of the services and tools traditionally practiced offline have increasingly become web-enabled, while the educational system has been falling short of providing people with a good inroad into what is becoming increasingly a closed loop system. People and companies are rewarded work, based on a track record of successful projects.
As an employer and as someone who cares about other people I would like to see a broader field of employees and companies competing with Metal Toad. I'd like more people riding the wave of web technology. If you are a web developer, encourage people to consider it as a career and give them pointers.
Want more awesome content like this? Subscribe to our newsletter!
thanks for the article. As someone who has (relatively) recently transitioned into a web career I think your advice has been born out in my experience. The exception is the classes part. I'd love to study, but (decent) opportunities to do so for people who have already studied an undergrad course other than CS seem limited. What are your thoughts on this? Was your advice targeted at younger people yet to go to university? And what kind of study opportunities did you have in mind?
ps. just for context, I've looked at courses, but undergrads seem too expensive / long / low-level/ young (in terms of age). Masters, conversely, are either not very good, or impossible to get into without a CS degree/or perhaps some kind of maths/physics degree. (This is in the UK btw.)
Mon, 01/23/2012 - 22:03
The best investment seems to be centered around community college classes. Here in Portland at Portland Community College (for example) you can do programming classes for around $12 in fees per class. I haven't attended community college here in Oregon so I may be missing some costs, but this seems like an incredibly cost effective way of getting the basics under your belt, in a little more structured setting.
Thu, 01/26/2012 - 11:08
thanks for the reply. $12 a pop seems great value - I'll have to check for similar courses over here. I guess I was looking for a full on masters/course (with some heavy maths, algorithsm - big 'O' notation, etc.) but individual classes might be a better option (much more affordable and easier to mix with actual (paid) work.
Thu, 01/26/2012 - 17:23
I think $12 is the lab fee; the actual tuition at PCC costs a bit more but is still a good value. On the other end of the spectrum, MIT offers many CS classes online for free at http://ocw.mit.edu/!
Also consider applying for Google's Summer of Code program. You only need to be enrolled at an accredited school on the start date of the current GSoC, and part-time status still qualifies.
Wed, 03/28/2012 - 01:54
Nice post. A lot depends on your ability and background. But starting from ground zero 3 years seems minimum assuming average abilities and no background.
Sun, 04/15/2012 - 05:12
How about Joomla CMS?
Tue, 04/17/2012 - 23:16
Tue, 07/17/2012 - 12:11
Great article !
I completely agree with you.
Unfortunately, I did not find your post before but, Fortunately I figure it out by myself.
I'm glad to see that I've almost followed the path you describe. I'm currently reading through all the PHP manual and I will soon embark on the journey to get PHP 5.3 certified.
I was wondering how long time would it take to get through all the manual ? Any idea ?
And for the CMS my heart is going to Drupal 7. ;)
Tue, 07/31/2012 - 12:26
Can I ask you one question ? There are many kinds of language like PHP ASP or Html etc ... that can also build website so why and which different of those languages that make developer choose one of them ? I'm a beginner developer.
Wed, 09/26/2012 - 11:23
I'm 20 with no idea what girection my life is heading. I was wondering if this can be a Career some one without a college degree could get into? I'm not able to afford Classes right now do to family troubles.
Wed, 09/26/2012 - 16:21
Hi Donny - I have known a number of people who are very successful in the web development field who either have no college degree or nothing related to the web (music, philosophy, etc). That said, it is a career that requires drive and passion. It's a great career path for someone who finds themselves digging through websites to find out how they work, though if you don't have a computer science/programming degree it can be more challenging, because you need to get those fundamentals on your own.
Sat, 04/06/2013 - 22:44
Joaquin. I have a BS in information systems and a BA in journalism but have not used the BS in IS. Can I leverage the journalism degree much in the web development industry?
Tue, 07/01/2014 - 16:14
Sorry for the (very) delayed reply here.
Truth be told, degrees don't matter much in web development. As much of the technology turns over year over year, a general aptitude and interest in learning new things is much more important. A foundation in Computer Science definitely helps, but as a practical matter there's a lot of other things that you will learn that are more important.
Thu, 06/26/2014 - 10:48
hmmmmmmmmmmmmmmmm..... i love this jaoquin
Wed, 09/26/2012 - 21:31
Hey Donny, I got into programming pretty late (22 in my case) so it is definitely quite possible! I do have a degree but not in CS or a programming-related course.
But I agree with what Joaquin says: a degree isn't required but you do need to be willing (and motivated) to learn as you go. If you enjoy learning and reading up on stuff then you can quickly catch up and even overtake many people who come from a CS background. Being a good programmer is about constantly learning and this can be fairly academic.
So while you don't need to have a degree you do need to enjoy learning and be willing to invest time in, as Joaquin puts it, getting the fundamentals.
Sun, 10/07/2012 - 00:55
Awww... the talk of learning too late is very discouraging for me (and I'm sure I'm not the only one) as I'm 29 and just learning HTML & CSS. Why does the whole world make me feel like I'm useless after 25? I really hope I'm not too old to be doing this...
Fri, 10/19/2012 - 01:15
You aren't at all – I'm 29 as well, and after years of doing graphic design-related stuff (my official career was as a book designer), my current job is encouraging me to do more web-related things. I find it really interesting and thrilling to do simple HTML coding, and my work – a small agency! – will be paying for me to take online courses for web design. But I've been reading up on development, and it seems so much more interesting to me. Long story short, eff the people who make you feel old – do what you want to do! You're never too old to change paths!
Fri, 10/19/2012 - 16:39
You are never too old to try anything new; the only limit is your tolerance for feeling out of your depth.
To try something new, you have to be prepared to get things wrong and have things not make any sense. For people who are experts in other areas, returning to padawan status can be very uncomfortable.
Tue, 11/27/2012 - 18:33
I'm honestly shocked at the number of people thinking they're too old to learn programming. You have to stop believing the nonsense this culture tells people about aging. Ignore it and get to work.
Sun, 06/15/2014 - 01:27
I'm getting started at 54 and totally jazzed about this new direction for me. Btw, I'm a VP at a 100mm company and can't wait till I'm good enough at web dev. to make the change!
Tue, 06/17/2014 - 05:56
Jim - it's great to hear about this. It's never too late to make a change and it's wonderful to hear about people doing what they love.
Tue, 03/29/2016 - 03:58
Your post is almost 2 years old. How did it go? I'm 61 and likewise tied to a large company in finance but want to create some web development skills for projects I am interested in.
Sat, 11/24/2012 - 19:42
I have several ideas for websites that I would like to persue but it's impossible to move forward without a website developer. I'm afraid I would be easily squeezed out of any project because I have no skills to bring to the table, only the idea and the vision. For this reason I'm considering learning website development so I can create the website myself, is this a good reason to get into this field? Is this a popular idea?
Mon, 11/26/2012 - 18:55
If you have an idea for a website,it's a good reason to work with an established professional - even if you are interested in web development as a career long term. If you are serious about your idea, you don't want it to fall victim to bad development practices and die on the vine. Jason Duerr (Dropkick Design) has a great little video on why you should talk to a professional - in the video he's talking about designers needing to work with CPAs, but I think the same can be said about people with a web site idea. Talk to a professional.
Mon, 11/26/2012 - 19:40
I'm not sure that I completely understand what the problem with bringing in a developer is. Most of the work that the majority of developers do is on behalf of a client. If you're worried that someone might think "hey, that's a great idea. I think I'll steal it.", just work with someone you trust and use a contract and NDA.
If you want to get into web development anyway, using personal projects as a platform to learn can be tremendously useful. Keep in mind that it takes time to build up some chops. I've been doing this for around 15 years and I'm certainly not an expert in every aspect of the development process. There are still plenty of situations that I work with other developers and specialists.
Tue, 11/27/2012 - 17:51
First, I want to thank you for this article. I've been trying to get started as a graphic design for a few years now, but have been intimidated by web. Thanks to one of the comments, I'm about to start the MIT OpenCourseWare class in Computer Programming and will follow the suggestions you laid out in the article. I must admit however that I feel a bit daunted by learning this at the tender age of 38, but I am determined to not let that stop me. Thanks again!!!
Mon, 02/18/2013 - 17:57
I am very happy to hear that you were inspired by this thread. I think this is a great career path and I wish you the best of luck as you move forward. As you progress, it would be great to hear you weigh in from time to time.
Tue, 02/05/2013 - 22:19
OMG, AGE, people are we that insecure? I started college @ 25, got a A.A.S in Broadcasting Technology & Mngmt, B.A. in Music Industry. Now 13 yrs later @ 43 I went back to college to get a A.A.S in Web Design and will be graduating in the Summer.
However, I didn't know at the time the difference between being a Web Designer vs Web Developer. So just when I thought I was finished, guess what? Back to school, tutorials or whatever the hell else I gotta do to make it work for my goals / vision!! I could give a rat's behind what age I am, I still feel 25 but look 35, that's what my wife tells me. :)
So to all that have doubts of returning to school or advancing themselves through education, whether via online tutorial, classes etc... GO FOR IT!! Does your success have an age descrimination? Don't let fear dictate the rest of your life, cause before you know it, game over! I'd rather go out with a bang, then on my knees saying I should have...
Peace, Love & Development!!
Mon, 02/11/2013 - 04:25
Thanks a lot. I really love your article.
I really don't know how to begin. I know programming. (since when I was 11. and I have learned, QBX, VB6, C++, Python, HTML, PHP, JS ). but I'm new to rails and ruby. I don't know any CSS (I have never used it and I'm truly new to CSS) and although I know html PHP , and JS but I don't have enough experience with them. So what is your suggestion for me ? (I'm 19 yeas old and I'm kind of self-learner)
Mon, 02/18/2013 - 17:50
If you already have your programming fundamentals, and you are interested in getting into Ruby, read the Ruby documentation. It will give you a sense of whether you like the language or not and no matter what, reading a manual from A to Z will open a few doors in terms of techniques and best practices.
Mon, 02/18/2013 - 02:51
I am going to be 34 this year, and, while I studies some BASIC and Pascal at High School ages ago, and some HTML on my own about 8 years ago on one occasion, I am now determined to study and do what it takes to become Web Developer. Community College in my area offers Web Development sequence for 89$ an hour plus lab fees. Besides, I am studying some programming on my own - Python. I was wondering how relevant it is to know LINUX for web developers?
Mon, 02/18/2013 - 17:53
These days, there's a very common specialization within the web development industry: front-end developer (HTML, JS, CSS) or back-end developer (PHP, Database, etc.). If you are planning on being a back-end developer - or a senior developer at some point in your career, I think Linux is an important fundamental. Ultimately, this career path is all about learning new things, so if you are looking for something you can learn and "be done with it" there are probably better career paths.
Mon, 02/18/2013 - 10:13
Hi, just seemed to stumbled upon this blog; I am a 40 year old trying to break into the web dev free-lance world. I am a CS major but after graduation I worked in the corporate sector and 15 years later my skills include writing emails, conducting meetings and making power point presentations. After getting laid-off I wanted to learn a skill that'll allow me freedom and I decided to jump into the web dev world. So, my question; what would be the ideal learning path for someone like me? I learned some programming back in the day, cobalt, C, & C++ but never applied it. Currently I am learning HTML5 & CSS3 through books and videos (lynda.com & net tuts). I am totally into it and spend close to 12-14 hours a day on learning these skills. So, am I shooting too high? is it realistic to learn these skills in 6-7 months?? I know the learning process never stops but I want to have enough skills to start making decent websites & get some free-lance work. I will appreciate any positive feedback and the "too old" crap is just ridiculous!
Mon, 02/18/2013 - 17:55
If you already have your programming fundamentals, then I'd expect a few years to ramp up. Normally it should be three years but you should be able to hop right into experimenting with open source CMS platforms.
Sun, 03/03/2013 - 09:51
Sat, 03/09/2013 - 08:08
I've had some experience building websites (HTML, CSS and Wordpress) for fun and family. Now I'm thinking of making Web Development a career, but I know I need some training on the fundamentals. What would you look for in a college? Is a Bachelor's Degree worth the expense? I'm in Olympia, WA.
Thu, 04/11/2013 - 16:41
That's a great question, and it really boils down to what you are expecting to get out of the degree. Since it sounds like you are looking for job-specific skills, I would say it's not. There are two reasons for this:
- University curriculum is always out dated. I am actually not aware of any BA program that has a program that would set you up with what you need to be a developer.
- In general university programs are not skill-based, but rather provide environments that foster problem solving and creativity (in general) - as well as being excellent places to network at a young age.
Generally speaking, nothing about a university is something that can be practically applied as at a job, but it can make make things like finding an internship more feasible.
i hope this helps!
Sat, 04/06/2013 - 04:40
Greetings all you young people. Sometimes life likes to turn your world up-side-down. I have served in the military for many years until health issues got in the way. I went on to earn a BS degree in Information Systems. Eventually, I worked for a software company as a Support Analyst. However, I left a good paying job because of health issues and my family needed a parent at home. What a role reversal! I became a House Husband -- before it became fashionable. The time is quickly coming when I'll be able to go back to work. I can't do the physical work like I used to do. So, I need a career that I can work at well into my elder years. I have decided to turn my attention to Web Development (an interest of mine for many years). If I can do this at 55 (I think of myself as thirty-something), then you younger folks should have no problem. I appreciate the postings where other people share information on learning new skills. Please keep it up.
Thu, 04/11/2013 - 16:42
Right on, Gary! :-)
Mon, 07/01/2013 - 23:44
I am a business analyst and have been one for the past 4 years. I have a computer engineering degree but i was too interested in the wonders of the world and didn't focus on any technical aspects. Only thing i remember are the ifs and fors. Now i feel the need to be a developer, at least to the level where i can at least understand everything. I dont know where to start now? Where to brush up the concepts? where to begin learning development? which language to use? etc. Any help will be more than helpful as i am on the mercy of google without proper direction.
Wed, 10/30/2013 - 19:24
Thanks for this wonderful article. I am beginner in the field of web programmers and I have some doubts;
first one; as a newcomer in this field I am not getting from where to start learning web programming and how?; second one, I am not understanding the terminologies like AJAX, JSON, JQUERY, OBJECT, DOM, where to use which tag and it's different attributes and properties; third one, I am not understanding the terminologies like tools that are been used for web developments, plugins, libraries; and last one; from where to find help if I get stuck to some problem. There are many confusion and I hope you can understand my problems. So my humble request is , please provide some solution. Once again thanks for this article.
Wed, 11/20/2013 - 22:35
There's not any great places to learn web programming specifically without first knowing something about programming. You may want to check out some beginning programming books, classes or web tutorials depending on how you learn best.
As far as the acronyms go, Wikipedia is a good place to start. Take this post for AJAX as an example. If you find you don't understand the post, you probably want to follow the terms up a level until you find a starting point that does make sense. Importantly, this kind of learning never stops in the web development field. There are always new things to learn. If that's frustrating or intimidating, you may want to rethink things and look at a different field.
Mon, 11/18/2013 - 06:02
I'm currently a student enrolled in computer science (getting really bored of it, found out I'm not much of a "school" person and I'd like to get way more creative) I've given web development/design a lot of though over the past year and decided that I was pretty much born for it. I'm in my second year of university and pretty much have C++ mastered, if statements and for-loops I know like the back of my hand. I'm just wondering if this would be enough of a programming background for me to be able to easily catch on to other coding softwares that I might need to use in my web development/designer career instead of wasting more money taking extra classes that I'll never need, such as Economics, Stats, Physics and all that lovely stuff that I could care less about.
Wed, 11/20/2013 - 22:30
My recommendation would be to look for an internship as a way to build some professional experience. Importantly, finding internships *while still in school* is a much easier process.
As an aside, if you ever want to work for yourself you may find those economics, stats, etc. classes not quite so useless.
Thu, 01/02/2014 - 19:27
I have a B.A. in English Literature and I want to become a Web Developer. I have some proficiency in HTML and CSS. A lot of the job postings for higher paying jobs require a B.S. in computer science. It seems like my options are the following: 1. Get another Bachelors Degree in Computer Science 2.Get a Masters Degree in CS 3. Get some sort of Certification Program. What would you recommend for a working professional who would ultimately like a high paying web development job?
Sat, 01/18/2014 - 16:54
First of all, thanks for this very informative post.
I've been finding the discussion about age both interesting and encouraging. Maybe it's in my genes,but I really think you can do anything you put your mind to at any age (my 92-year-old Dad just put down a hardwood floor). Many people assume that you have to be born into the Internet age (Generation X, Millenials) to be able to grasp concepts related to the web. They seriously underestimate us Baby Boomers.
Mon, 01/20/2014 - 16:58
I don't think age is a factor, rather it's whether you are the type of person who always likes learning. In this industry, you are never done or even a master of your craft in the same way you can be as a civil engineer or architect. Fundamentally speaking the "materials" we work with change much more rapidly that other industries. That said, time at the job does matter and learning gained in earlier situations definitely applies to later ones.
Tue, 07/01/2014 - 06:15
I agree with you 100%. I think the age factor is a huge misconception in the industry, and it doesn't matter. The only thing that matters is your desire to do it.
That's one of the great things about this field: age, background, education or socioeconomic status aren't barriers like they can be in other fields. The key to success lies with much you want it!
Mon, 03/03/2014 - 18:37
This is certainly a good start, but plan on keep going after this. Getting your skills up to a professional level may take several years depending on how much time you have to devote to this.
Wed, 05/21/2014 - 16:37
I'm 22 years old and I've recently decided to go back to school and pursue a career as a web developer. My mind wasn't totally there the first time I tried school and I got discouraged and bailed. I've spent four years searching for an easy way out but to no avail, I ended up working at a few dead end jobs which became increasingly frustrating. I do enjoy computers but do not understand the basic fundamentals of web development or anything you mentioned in your article above. Do you think it is too late for me to learn the basics? Can I learn them in school? Will it be extremely difficult for me to grasp all that is required for me to earn a degree without prior knowledge? I'm really confused at this point in my life and it would mean the world to me to get some advice. Thanks
Mon, 01/23/2012 - 19:35