Guide to land your first developer job
Tags: softwaredevelopment, programming, career, jobs
Published: 2019-08-04 15:50:44

---
title: Guide to land your first developer job
published: true
description: The roadmap I followed to land my first job.
canonical_url: https://keencoder.dev/guide-to-land-your-first-developer-job/
cover_image: https://thepracticaldev.s3.amazonaws.com/i/z4jmce3nko3idniosjgb.jpg
tags: softwaredevelopment, programming, careers, jobs
---

Ever since I got my first developer job, my friends started reaching out to me asking how they can get started with programming, build projects, apply for jobs...etc. So I shared them the exact path I took to land my first tech job at a startup. Here I am sharing it via my first ever blog post on the internet.

## 1. Learn Typing

I say this to my friends many times which is "**Don't call yourself a programmer or a software developer if you don't know how to type on keyboard**"(It is just my opinion). Yes seriously! If you really care about your tech career, dedicate some of your time to learn *typing*, there are many resources out there, go check them out. **Please don't skip this step.**

## 2. Start with HTML & CSS

**HTML** and **CSS** are the *skeleton* and *skin* for any application you create. **HTML** stands for **H**yper **T**ext **M**arkup **L**anguage, it is used to structure the content in your applications. **CSS** stands for **C**ascading **S**tyle **S**heets, it is used to facelift your application by adding some cool colors, backgrounds, transitions, animations...etc

The reason why I suggested picking up **HTML**, **CSS** first is that they are very easy to pick up, there are many resources that make learning them easy. One other advantage of learning them first is, they will really help you know your **learning method** which is very important to know in your career. Here is how... 

    
I am listing few of the best tutorials available for **HTML**, **CSS** on the internet. Try learning from them, pick one method and a resource and explore a **few topics** in it. If you find it difficult to learn, switch to a different method until you figure out what your learning method is.

1. **Interactive**
    - [FreeCodeCamp](https://learn.freecodecamp.org/)
    - [Dash](https://dash.generalassemb.ly/) by General Assembly
2. **Reading**
    - [Learn to Code HTML & CSS](https://learn.shayhowe.com/)
    - [HTML & CSS is hard but id does not have to be](https://internetingishard.com/)
3. **Videos**
    - [CSS - The Complete Guide (incl. Flexbox, Grid & Sass)](https://www.udemy.com/course/css-the-complete-guide-incl-flexbox-grid-sass/?couponCode=ACAD_W)
    - [Scrimba](https://scrimba.com/) (Interactive Video Tutorials)

> **Note:** To practice what you learned, I found a website that is really helpful. [FrontEnd Mentor](https://www.frontendmentor.io/).

## 3. Learn about Version Control (Git & GitHub)

Read what I wrote about **typing?** same goes for **Git.** Every aspiring software developer should learn how to use Git.

As a software developer, oftentimes you write code, save it, edit it and save it again. But, what if something goes wrong? how can you revert back your changes even after few days from the day you made changes? This is where Version Control really helps, It helps you track your changes.

**Git** is a modern implementation of Version Control, **Github** is a code hosting platform where you can browse your code and inspect your changes. **Github** really helps software developers as a portfolio/showcase of your work and let your potential employers know about your coding skills. So, learn enough **Git,** so that you host your code on **Github.** Go through the following resource

[Git & GitHub Crash Course For Beginners](https://youtu.be/SWYqp7iY_Tc) by [**Traversy Media**](https://www.youtube.com/channel/UC29ju8bIPH5as8OGnQzwJyA)

## 4. Pick your first programming language

There are many programming languages in the industry, beginners like us always have confusion when it comes to picking up our first programming language. So, pick either **JavaScript** or **Python**  and learn the basics well. They are very popular among beginners and in the industry as well. 

It does not matter what language you pick up because at some point in your career you will have to switch between languages based on the kind of applications you build. So don't get attached to your first language, focus on learning the programming fundamentals well. I found the following resources useful...

**Javascript**: [Introduction to Javascript from Codecademy](https://www.codecademy.com/learn/introduction-to-javascript)

**Python:** [Byte Of Python](https://python.swaroopch.com/)

## 5. Pick a framework based on your language of choice

Frameworks provide a set of tools that help developers build applications without re-inventing the wheel. I chose **Python** as my first programming language, so I picked up **Django** which is a full-stack framework. It is beginner-friendly and It has many things inbuilt such as *user authentication, forms, ORM (Object Relation Mapper), admin panel, unit test framework and many more*. So, it allows beginners to concentrate on the application and to have fun while doing that.

If you choose Javascript, you can pick one of the frontend frameworks (React.js, Vue.js) or backend framework (Node.js/Express.js).

## 6.Build an app to test your knowledge

Once you learn to use a framework, it is really important to build some projects to test your knowledge. It can be a simple To-Do app, a note-taking app like Evernote, a simple blog application, clones of your favorite applications like Medium, Twitter, Facebook...etc. Whatever you build, make sure you host your source code on Github and let the world know about your work by sharing it across social networks. 

## 7. Algorithms

This is the step that many beginners skip including me, I did not concentrate on learning algorithms and improving my problem-solving skills. Yes, some startups do not care about algorithms, but it is very important to learn them if you want to land a job at well known companies like Google, Amazon, Apple, Uber...etc. You will see them in every interview you face, so go grab a copy of [Cracking the Coding Interview](https://amzn.to/2GOjeVI) and prepare for interviews.

Once you have some applications hosted on GitHub, have your resume prepared, update your LinkedIn profile and apply for jobs. 

All the best, never stop learning...