How I got a web developer job after 3 months of learning HTML, CSS and JavaScript

Getting started with web development can get overwhelming. Firstly, there are multiple programming languages and many technologies, both old and new. The learning process is endless and time-consuming. After so much effort, especially as a self-taught programmer, you should expect to get a job and begin making money ASAP. Yet, some web developers are still jobless. I was able to land a contract front-end web development job after just three months of learning. Was I lucky? Maybe, maybe not. The upcoming paragraphs highlight how I did it. This is some sort of guide to newbies who want to begin making money from their web development skills as soon as possible.

When I just started, I was blank on web development technologies. I had worked with Android Studio in the past, but web development was a whole new foreign territory. I had to start from scratch. As you may guess, I began with HTML and CSS.  Later on, I moved to JavaScript. I found reading tutorials and watching videos an inefficient method of learning. I wanted a more interactive and practical method of learning. I therefore used:

  • FreeCodeCamp: I enjoy the freeCodeCamp curriculum a lot. It’s tailored for the absolute beginner and gradually progresses to more advanced topics. The practical projects at the end are really helpful. I stuck to learning only the HTML, CSS, and JS lessons there.
  • Codecademy: Even the free version of Codecademy will help a whole lot. If you can afford to go Pro, then go ahead. You’ll get hooked up with lessons, projects, and quizzes. The clean Codecademy interface is an added bonus too.

Lesson learned: Skip books and videos. Focus on interactive lessons.

It took me about 2 months to master the basics of HTML5, CSS3 and JavaScript. On average, I think I coded about 7 hours a day. Coding, like any skill, gets better with practice. There was no time to become lax and stop there. I had to start building actual projects. I found freeCodeCamp’s projects helpful. I was tasked to build stuff like a tribute page, product landing page, a survey, a personal portfolio among others. And thus, my journey as a frontend web developer begun.

Lesson learned: With the limited knowledge you have, create sample projects. This will improve your skill.

I love online playgrounds, mostly for the ability to live-preview code as well as gain access to a database of code snippets, which serve as inspiration. My playground of choice was, and still is, Codepen. For the next month, I used the platform to create about four projects, using only HTML and CSS. My knowledge of JavaScript was still very low, so I avoid it. Here, I put in all I’ve learned in HTML and CSS. This moment made me realize that I do not know much. I had to google the most basic things, especially when involving CSS syntax. It was a struggle to make responsive pages using pure CSS. I found myself on StackOverflow on average five times a day. I also navigated through the ‘pens’ of other Codepen users, as a source of inspiration.

Lesson learned: Visit communities like StackOverflow. They are helpful. Online playgrounds are useful too.

Also read: 5 Best Online Front-end Web Development Playgrounds

By the time I was done with creating four basic one-page sites, my HTML and CSS skills had improved. Most people underestimate the power of these two technologies. As a front-end web developer, I appreciate their power a lot. When mastered, they can do impressive stuff. I still didn’t know much about JavaScript. Sure, I had gone through the entire syntax, but I still couldn’t build anything with JavaScript. Was I ready for a job? Probably not. But that didn’t stop me from trying.

Lesson learned: You don’t have to wait to be perfect. Once you know a little, try to get a job. You’ll learn more along the way.

The mistake many make is trying to be perfect at everything. Most often, aspiring web developers wait until they have mastered everything, before trying to get a job. I didn’t use this approach. I would agree I didn’t know much, but I believed my knowledge so far will suffice. I refrained from visiting freelance sites like Fiverr or Upwork. I made good use of Facebook by messaging a guy who owned a software company and showed him the projects I’ve done so far. He was impressed, to my greatest surprise. About a week later, I got a job offer. I would emphasize the purpose of good networking. In a digital world with numerous social media platforms, meeting people is easier than ever. Befriend people with similar interests, and those who have something to offer. Being introverted myself, I would agree that being social is hard, but there comes a time where I have to put aside my fears and contact people, just for the greater good.

Lesson learned: Networking matters. Know the right people and contact them.

The first job was hard, I’ll admit. Like I’ve earlier mentioned, I didn’t know much. As a requirement of the job, I had to know the Bootstrap framework. I hadn’t used Bootstrap before. Thankfully, it wasn’t complicated, and I read through a Bootstrap manual and created a sample page using Bootstrap as practice. Done in one day. The job involved replicating a bunch of Photoshop-designed pages with code. It required HTML, CSS (a whole lot of it), and a little bit of JavaScript. I had to learn JQuery as well. While doing this job, I had to google a lot of things and go through a lot of other code snippets. In the end, I knew a whole lot more than I knew before beginning. In fact, working on a real client’s project forced me to learn/apply a lot of new things, which I would have been too lazy to do if I wasn’t get paid for it.

Lesson learned: Not everything must be known from the very start. Some things are better learned along the way. Feel free to search Google for the most basic things. It’s okay to go through the code snippets of others. Understand it, don’t copy and paste.

Once I was done with this job, I could call myself a “front-end junior web developer”. The journey doesn’t stop there. As I strive for the “full stack developer” title, there’s still a lot more that should be learned. If you aim for this title as well, consider this list of technologies you should know:

  • HTML
  • CSS
  • JavaScript
  • General-purpose backend programming language (Ruby, Python, PHP, etc)
  • A relational database system (PostgreSQL, MySQL, Oracle, etc)
  • Web server (Nginx, Apache, etc)
  • Deployment operating system (Ubuntu, CentOS, FreeBSD, etc)
  • Version-control system (git, subversion, etc)
  • Frontend library (React, Angular, Jquery, etc)

Lesson learned: Learning never ends. As new technologies come up, there will always be something to keep one busy.