Landing and Excelling At Your First Web Development Job

First Web Development Job

I was talking to somebody the other day who had just finished up school and is looking for his first web development job. I had a lot of thoughts on the subject, but they weren’t very well organized. So I thought it would be prudent to refine them and write them down. Maybe some folks will find them useful.

This post is geared towards aspiring web developers. While there are many other great career paths to follow, such as mobile app development, game development, or embedded programming, I’m choosing to focus on a topic I’m qualified to write about.

There are two categories within this topic that, to me, seem important to address. The first is landing your first web development job, and the second is preparing yourself to be successful once you get there.

Landing The Job

General Advice

  • Create a LinkedIn Profile , and make it look professional. Follow the steps suggested on LinkedIn to create a good profile. Recruiters are very active here. You’ll have to learn to distinguish good jobs from bad ones, but what we are going for here is increasing the quantity of available opportunities.
  • Create a resume. If you’re familiar with a programming language it’s a good idea to list it. Don’t claim to be an expert if you’re not one though. You’ll be inviting questions about the topic. If you put items on your resume you should be willing and able to discuss them intelligently.
  • Prepare for interviews. Lookup common interview questions online and be prepared to answer them. Websites like leetcode have technical questions. Working through some of these questions will help prepare you for the technical portion of job interviews.
  • Often the best way to get a job is through personal contacts. Keep up with classmates, school faculty, and others in the software industry who may be able to provide you with an inside track to a good position at a company.
  • Look up local job postings and see which programming languages are in high demand. Consider focusing your efforts on learning one of those languages.
  • Have at least one personal programming project you’re proud of and can talk about. Put it on github. This is a common interview question.
  • Think about programming classes you took in college and be prepared to talk about what you liked/disliked and what you learned.
  • Show up to interviews well dressed.
  • If you are having trouble landing your first web development job, consider applying for QA positions, even if that’s not your ultimate goal. It’s a great way to get your foot in the door, and you’ll probably get the opportunity to do some programming if you show a little initiative. Good testers are worth their weight in gold, and a lateral move within the company might be easier than getting hired directly as a developer.

Questions To Ask During The Interview

  • What is the build system like? Can you build the code in one step? Do you do daily builds?
  • How is QA/testing handled? Do you have automated testing?
  • What’s the on-call situation like?
  • How many people will you be working in the same room with?
  • Do you use version control?
  • Do you use a bug tracking tool?
  • Ask for more time off if you can’t negotiate salary further.

Preparing Yourself To Be Successful

What Technology To Learn?

There is so much technology available these days to build web applications. It can be a bit overwhelming when you see the vast number of web development libraries and frameworks that exist.

My basic advice for your first web development job is to focus on learning and understanding the underlying concepts and languages. Once you do, you will have no trouble learning whatever the hot new framework is. Learn whichever frameworks your company uses, but remember that the languages they are built on are the foundation.

Much can be learned on the job, but the more you know ahead of time, the better prepared you will be. Be curious and eager to learn more. It will serve you well throughout your career.

Front End
  • HTML is for structuring the content of the web page.
  • CSS is for making the web page look pretty.
  • JavaScript is for making the page interactive and making ajax calls.
    • It’s most important to understand the language itself, but you’ll probably encounter some front end frameworks in your career. I wouldn’t worry about learning them until you have to for the job, but it’s a good idea to be familiar with them.
      • jQuery is an older library, but it used to be very popular. Don’t be surprised if you encounter it eventually.
      • Newer popular frameworks include React, Vue.js, and Angular. New ones come out all the time and we are all sick of them.
      • There are lots of related technologies, like Babel, Webpack, TypeScript, etc. Learn these as required by the job, unless you’re just really interested in them.
  • Learn how to use the browser’s developer tools.
  • I’m more of a back end guy, so take my advice with a grain of salt!
Back End
  • Understand object oriented programming. It’s a useful paradigm and very popular in the business world.
    • Knowing and understanding the buzz words is good for passing interviews. Polymorphism, Inheritance, Encapsulation, etc.
  • Popular languages: Java, C#, Python, Ruby, PHP. There are plenty of others. I’d recommend looking up what kind of jobs are most common in your area, and then focusing on learning whatever that language is.
  • Different languages have different web frameworks around them that people use. You’ll have to learn whichever one your company uses.
  • One thing common to different web frameworks is a dependency management system. In Java, for example, this is usually Maven. It’s worth learning about how these work. They’ll let you use code built by other people.
  • Learn to use your IDE well, including the debugger and its keyboard shortcuts.
Database
  • Learn how to write SQL queries. It doesn’t matter much which database vendor. They are basically all the same with some slight quirks.
  • Know select, update, insert, delete (Often referred to as CRUD operations).
  • Understand how joins, having clauses, group by clauses, and aggregate functions work.
  • Lots of companies use ORMs (Hibernate, etc) to interact with databases. These are nice to know, but less important than knowing SQL.
HTTP (Hyper Text Transfer Protocol)
  • Basically, understand how the internet works at a high level.
  • Know what a GET request is.
  • Know what a POST request is.
Version Control
  • Git is the most common one. It’s worth learning no matter which company you work for. You’ll use it eventually if you stick with this career long enough.
    • Commit
    • Pull
    • Push
    • Merging code
    • Local vs Remote
    • You can use the command line, but there are also some nice GUI applications for interacting with git. My favorite is Source Tree.
    • Learn how to use GitHub
  • Other popular ones include subversion and mercurial. Only learn these if your job requires it.
Linux

Most web servers run Linux unless they are on the Microsoft stack. And they usually don’t have a GUI. So it’s worth your while to become comfortable navigating using the command line.

Useful Books and Websites

  • Stack Overflow for finding answers to programming questions. Don’t just copy and paste. Try to understand the code.
  • Hacker News for learning about the latest trends in tech and listening to people worry about climate change. You can sometimes find job opportunities here as well.
  • Code Complete, the best book I’ve read on how to write good code. You’ll thank me and so will your peers.

Have more advice to add? I’d love to hear from you in the comment section below this article.