35 Steps To Become A Developer / Programmer

Before I learned how to code, I used to ask developers I met how much time it took them to realise their craft — and how they managed to do it.
They would answer stuff like 1.5 years, a bachelor'ss degree or I just started playing around with it— none of which satisfied my curiosity. I wanted to know precisely how much work they had put in, as I was wondering if I could do it myself (which I doubted, as it seemed close to impossible).
Now that I’ve finally gone through it and gotten a job as a developer at Xeneta, I think I can give the answer I was looking for.
So if you’re an amateur wondering how much effort it takes to become a professional developer: this post is for you.
Here are all the courses and projects I’ve done since I started, along with some advice I picked up.

Step 1: INTRODUCTION

I’ve divided my learning path into three phases; introduction, hobby, and boot camp.
My introductory phase started at the beginning of 2012 and lasted almost two years. The slow prog could have been faster. All happened sporadically, without proper structure or goals. In hindsight, I wish I had started off more seriously, which brings me to my first piece of advice for aspiring developers:
Remember that it’s never too early to start being serious about your learning. Your future self will thank you for this.

Step 2: Codecademy

As if you’ve never written a single line of code before, Codecademy is an excellent starting point. For many others, I started off with Codecademy, completing four of their tracks: Javascript, HTML&CSS, jQuery, and PHP. This gave me a mental model of what coding was.

Step 3: Interactivity For Kids Apps

After Codecademy, I knew enough to do simple interactivity for a few kid's book apps my startup created. It consisted of simple web animations: tap a <div> tag, and an image fades in and out while triggering a sound.

Step 4: 30 Days To Learn jQuery

Fast forward to the end of 2013. I did the 30 days to learn the jQuery course atTutsPlus, made by Jeffrey Way, an excellent tutor. He takes you through a lot of interesting small projects.
If you’d like to learn how to create interactive websites, I’d recommend you to start with jQuery over Vanilla Javascript, because it’s easier to learn.

Step 5: PHASE 2: HOBBY

Apart from the TutsPlus course, I did minimal coding in 2013, as I spent all my time on my startup. Also, I didn’t believe I could ever become a professional developer.
However, I started again upon discovering Udacity at the beginning of 2014. This time, I was more serious and set a goal of educating myself for at least one hour per day.
I find process based goals to be much more effective than outcome based goals. It feels less overwhelming, and the results always come automatically.

Step 6: Udacity — Intro To Computer Science

The CS101 course on Udacity is a great intro to computer science and Python, made by Dave Evans. This is where I learned about data types, functions, conditionals and other stuff, though I only finished 80%. Honestly, I’ve never finished a single MOOC, as I quit as soon as I got bored.
Don’t feel bad for dropping out of a course — you’re not in school anymore. Be aware of boredom, as it’s poisonous to your motivation.
The instructor Dave Evans easily explains complex stuff.

Step 7: Udacity — Web Development

I followed up with CS253, created by Reddit co-founder Steve Huffman. It takes you through building a blog and is a natural next step after CS101.

Step 8: Simple Javascript Game

At some point in early 2014, I became interested in creating Javascript games. I started with this tutorial, which takes you through creating a straightforward JS game where you control a character with the arrow keys to catch goblins.

Step 9: Mine Sweeper In Javascript

As explained in this tutorial, I followed up with the classic Mine Sweeper game. This was tough, and I remember feeling a bit overwhelmed by the logic. Though I like to follow through regardless of not always understanding what's happening (which I write more about here).

Step 10: Snake In Javascript

At some point, I also created a snake game. I can’t remember exactly which tutorial I followed, but it could have been the one below.

Step 11: jQuery Game — Shopping For Kids

During the eastern of 2014, I built a demo for an educational app for kids, as our startup had gotten a request from a company that was going to turn their Flash games into HTML5. Though we didn’t take the job, I wanted to know if I had enough coding skills to do a job I could theoretically get paid for.
It’s surprising how little knowledge you need to start generating a little bit of money on your coding skills. Try and get to this point as soon as possible.

Step 12: Udemy — Coding For Entrepreneurs

In the early summer, I did the excellent Coding For Entrepreneurs tutorial by Justin Mitchel. It’s an entirely project-based course and follows a learning-by-doing methodology. It’s a great intro to the Django Python framework.
While the Udacity courses will give you a foundation of CS concepts, this one will enable you to use your skills practically. Combining these types of courses is critical.

Step 13: House Of Fam Website

My first paid job as a developer was to code a simple website (my co-founder designed) for a Norwegian fashion designer. It’s a great feeling to finally get paid for doing your hobby, as you realize you can finance growing your skills further. Even though we made peanuts compared to the hours, we put into it.
Don’t worry about hourly rate being below minimum wage for your first job. It’s still infinitely more than you got paid for your last project.

Step 14: The Disco Fingers Website

I also built a simple landing page for our music creation app Disco Fingers, which our startup launched in late 2014.

Step 15:Disco Fingers Top Songs Crawler

After launching Disco Fingers, I wrote a Python script that crawled our internal list of Disco Fingers beats and tweeted a link to the most famous beat daily. This taught me a lot about APIs, cron jobs and scraping.
Creating a script that saves you time feels empowering. I’d recommend you to try this out.

Step16: Udacity — Supervised Learning (ML)

At the end of 2014, I became fascinated by machine learning, so I took a few lessons from this course. I‘d recommend it if you’re interested in getting a a mental model of machine learning. But it doesn’t involve any coding, which was kind of disappointing.

Step 17: CoderByte Challenges

To improve my fundamental skills (which you can read more about here), I solved many challenges on CoderByte.


Step 18: Tic Tac Toe In Javascript

I also built a Tic Tac Toe game as a part of my applications to various coding boot camps.

Step 19: PHASE THREE: BOOTCAMP

This became my goal after our startup failed, so I applied for a bunch of coding boot camps and finally chose Founders and Coders (FAC) in London. At this point in time, I was good enough to create simple scripts and knew how to deploy a Django website if I followed the Coding For Entrepreneurs formula. But I was still far from able to take on a job as a developer. 
FAC is built around weekly projects. Building these projects involved reading a lot of tutorials and taking short online courses — not all of which I remember. So I’m linking to the GitHub repos instead, in addition to the assignments. I’ve also noted which skills we gained from each task.

Step 20: Week 1: Team blog

A primary blog using GitHub Pages. The source code is available at this repo, and the assignment is here. Skills: GitHub Pages, CSS, jQuery, Jekyll.

Step 21: Week 2: The Guardian API

A website that pulls in content from the Guardian API. The source code is in this repo, and the assignment is here. Skills: Web APIs, Ajax, JSON.

Step 222: Week 3: Nearby Stuff

A social wall that displays nearby tweets. Assignment & Repo. Skills: Servers, Node.js.

Step 23: Week 4: Instagram & Twitter Search

An app where you can search for tweets and Instagram posts. Repo &Assignment. Skills: Heroku, MongoDB.

Step 24: Week 5: D3 Tweet Visualization

This was the D3.js week on FAC. Assignment & Repo. We experimented with how to create visualizations. 

Step 25: Week 6: Note-Taking App

Our first introduction to React.js, which I immediately enjoyed working with.Assignment & Repo

Step 26: Week 7: Blog 1.0

A simple blog with authentication. Assignment & repo. Skills: Server-side rendering, cookies.

Step27: Week 8: Blog 2.0

This time we added more authentication methods, e.g. Twitter, Facebook and email signup, and used the Hapi.js framework. Assignment & repo. Skills: Hapi.js

Step 28: Week 9: Keyword King

In the ninth week, we got to build whatever we wanted. Our team created a site which analyzes your App Store keywords and tells you which ones are worthless. Repo is here. Skills: jQuery, Heroku, apis.

Step 29: Sir Predictalot

We started doing client projects in week ten, making a little money. Our first one was a prototype for a Tinder’ish news predictions app. Repo.

Step30: Kids Puzzle

A kid's puzzle based on a Norwegian kid's books series named Troll-Olav.Repo

Step 31: RateMyStuff

A social network based on image rating. (I, unfortunately, don’t have an image of this one.) Repo

Step32 : Squish

A tool for students to help them repeat and remember what they have learned. Repo

Step 33: Coursera — Intro To Machine Learning

At some point during FAC, I got started with this course. I did not finish it as usual, but I still learned much.

Step34: Machine Learning Week

I also did a one-week machine learning stunt, where I tried to learn as much ML as possible. This involved a range of tutorials and trial and error, which you can read more about in this article.

Step35: Getting a job

After FAC finished, I moved back home, and after about a month, I got a job as a front-end developer at Xeneta, where I’ve been for around 5 months.
This article has helped you understand the amount of work it takes to become a developer. You can get there with less effort than I have, though not much less.

Post a Comment

0 Comments