How to become a web developer

So you want to be a web developer. Maybe you’ve never worked with computers at all and are looking for a total career makeover. Or perhaps you’re pretty comfortable with technology, but aren’t sure how to turn that into a paying job. Wherever you’re starting from, this article has you covered—from the very first steps all the way to your first job interview.

Basics

If you’re completely new to the world of programming, you might want to get a little bit of theoretical grounding in how computers actually work. Harvard University put their intro to computer science course online, and though the whole series is worth watching, the first lecture alone is a goldmine of really fundamental concepts in computing explained in terms that total beginners can understand.

Next, you might want to spend a little time getting up to speed on the most basic tools of professional development: the command line, text editors, and version control software.

A lot of people don’t bother to learn these things until well into their programming education, but they’re really fundamental, and knowing how to use them makes the task of learning a computer language and actually doing things with it much, much easier (and it will give you a massive boost in confidence). The “developer fundamentals” track at Michael Hartl’s “Learn Enough” website has crash courses in all three.

Lastly, a good place to start learning web development is with the simple but essential tools of front-end design and website creation: HTML and CSS.  The Dev Tips YouTube channel has a simple but well-designed introductory video series for both HTML and CSS.

Pick a (first) language

The next step is to get started learning one of the major programming languages used in web development. In one sense, it almost doesn’t matter which one you pick. But some languages are hotter than others, and some languages are more frequently used in web development than others.

JavaScript is one of the most common languages in the web dev world, but other contenders include PHP (which powers WordPress), Python (one of the fastest growing languages and great for beginners), Java (also used heavily in mobile app development), and Ruby (not as popular as it once was, but excellent for web design and probably the most beginner-friendly).

You might want to talk to some web developers working in the sorts of companies and on the sorts of projects that interest you before you decide which language to go with—some languages are used more heavily in the sciences, for example, while others dominate the world of business.

But in the end, you get further along the road to working as a developer if you just begin. Remember, once you’ve learned your first computer language, the next one is much easier (and quicker) to pick up—and most developers will learn multiple languages over the course of their careers anyway. So don’t worry, it’s not like you’re getting married here; just pick something that looks promising and get started!

full stack developer

Think about your stack

Before moving on, you might want to take a moment to think about what you’re going to do as a developer.

If you’re sure you want to move into the world of “full-stack” development, meaning development in which you will deal with all aspects of the web app from user interface all the way to the back-end and the server running the site, then you may want to consider which popular software “stack” would be most useful to have: MEAN, LAMP or another?

These acronyms denote common groupings of server, database, and language that work well together and are thus sought-after by employers as a complete skill set. Some combinations are more common (and more in-demand) than others, so if you’ve just learned JavaScript, for example, and you think you might want to get into full-stack development, it makes sense to look at which database program would be best to learn.

Pick a framework

Web developers are time savers. They don’t want to reinvent the wheel every single time they build a website. That means that they have processes in place that they can repeat, or even snippets of favorite code that they can reuse.

And it means that they use web frameworks, which are libraries of already-written, extremely useful code meant to make web development faster, easier, and more secure.

Now, not all frameworks are created equal. Some are front-end focused, others are built for full-stack work, some are more comprehensive while others are designed to be lightweight. So before you pick, again, think about the work you’re likely to be doing (or you think you’d like to do, anyway) and do a little bit of background research.

Then go with what seems like your best bet. There are loads of popular, well-supported frameworks to choose from: Python has Django and Flask, Ruby has Rails and Sinatra, JavaScript has AngularJS and Express, PHP has Laravel, and so on.

Remember, like programming languages, the second framework is always easier to learn than the first. So don’t get too stressed out about which one to pick—what’s most important at the outset is that you get some experience actually making websites (especially if you want to, you know, actually get hired as a web developer!). There’s no law that says you can’t jump frameworks later on in your career.

ux_design

Learn databases (a little or a lot)

Databases store everything that makes a website…well…actually worth visiting. Knowing how to structure, manipulate, and get a web app to interact with that data is a fundamental skill of back-end and full-stack development. But even if you think you’ll end up focusing on front-end work, it’s an excellent idea to at least learn SQL so that you have some basic knowledge of how databases function.

Obviously, if you’re going to get into serious back-end work, you’ll likely have to go much deeper into the world of databases and really master something like MongoDB or the MySQL database.

Make web apps

A web developer without some web apps under her belt is not much of a web developer. So how do you get portfolio projects to show to prospective employers before you’ve even held a job?

Easy. Make some web apps.

Some of these you may have already done as part of a course or tutorial: you can easily spruce up these learning projects and show them off as your first fully functioning web apps.

Another way to get portfolio material is to make a website that no one asked for! Create a small app that will help your community out, even if it’s something very simple, like bus-fare calculator or a coffee house finder.

Even better: find a friend or family member who needs a simple website, and offer to do the work for free. You’ll get a site for your portfolio, someone you care about will get a site they need (at an unbeatable price!), and maybe down the road you’ll wind up getting other (paying) work via word of mouth.

20-Frontend-Interview-Questions

The coding interview and applications

The basics of good job interview skills are common to all industries: dress well, do your homework, show up early, be confident and charming and relaxed (somehow) all at the same time.

But the coding interview adds a bit of a twist: you may be asked questions or given on-the-spot coding challenges to test the depth of your knowledge—and to give your interviewer some insight into how you think and overcome obstacles.

Don’t panic, it’s not as bad as it sounds. And with a bit of practice, you can actually learn how to use this portion of the interview to really show potential employers that you’re methodical, analytical, and a creative problem solver.

As far as where to apply, web development is so thoroughly mainstream now that even small and mid-size companies hire developers—meaning that you can probably find job postings on almost any job board or through good old-fashioned networking. And if you’re looking for somewhere to browse development jobs that’s completely devoted to the world of software and technology, Stack Overflow and GitHub are good places to start.

There’s a lot to learn if you want to be a web dev—but the potential rewards, both financial and personal, are worth the hard work. And wherever you are—halfway there or total newb—remember that the only thing you have to do today is take the next step, whether it’s watching that day one lecture on computer science or finally grappling with the intricacies of MySQL.

Good luck!