This Is What I Did to Get My First Developer Job

AP Jama
APJama
Published in
6 min readDec 27, 2017

I started programming just under 12 months ago. Around six weeks ago, I landed my first junior developer job. My background isn’t in computer science, or even a science or mathematics or something terribly clever. I did languages at undergrad. I am writing this post to show you that it is absolutely possible to self-teach programming. I have learnt a lot this year: that degree subjects don’t matter as much as we think, that employers care a hell of a lot more about your problem-solving skills and your other “soft” skills. Employers care about how driven you are and if you have a “knack” for seeing shit through. For my first language, I picked a reasonably “easy” language: Python. Here is my journey so far.

Discipline and planning

Discipline and planning are everything. If you’re serious about becoming a better developer (or a developer at all), you need to work on your trade every day. Thankfully, my background was in languages, I knew what to expect and what to prioritize when learning a language: taking effective notes, going over notes multiple times, trying to recreate what you’ve learnt. If you can show an employer that for 9 months, not only did you learn how to code on your own, but that 1) you actually care about what you’re doing 2) You’re a self-starter and 3) you are keen to learn (which is super important for developers), they’ll be begging you to work for them!

My personal approach was and still is to have a spreadsheet with all my programming objectives. Every time I buy a course, or a book, I note it down on the spreadsheet and write on the column next to it when I should have done that course/book by. These give you hard deadlines to work to, yes, but they also give you a broader strategy that you’re definitely working towards. My broad strategy at the moment is to get super good at core Python, JS, some SQL-type stuff and get a firm understanding of containers. That’s my plan for the following year. Next year, around December time, I’ll sit down and do the same planning session I did last year and this year. This spreadsheet system creates a reward system and it also makes your aims/objectives tangible things that I can almost feel! Here is what my spreadsheet looks like for the following few months.

Connect with people

This bit is super important. You’re new to the field. You don’t know shit about shit. But you know who knows about stuff? People know about stuff. Connect with them. I promise you, most mid-level developers and senior developers want to help you. I was really fortunate to be told about Code Bar by a friend. I went to a few of their sessions and learnt so much. Now, when I say learn, I don’t mean pure coding, I mean, I managed to pick up some of the language a developer would use. For instance, the first time I heard “shipping”, as in putting the actual software out there for the customer to use. It might seem small, but if you’re seriously about becoming a developer, you want to also be “fluent” in the culture and customs of developers. So, even if there isn’t a code bar in your city, connect with other developers on twitter. Creating a list is sometimes a good idea, if you don’t want your timeline to be filled with developers talking about bugs lol. But it is definitely a good idea. It’s maybe on the TL, that you’ll find your first open source project! Who knows! The industry is hungry for people like you and I! They want to meet us.

Monty Python Before Python

Watch Stuff

Software development community is so different to any other industry I’ve worked in. People want to share stuff all the time. They want to share what they’ve learnt, what they’ve done wrong, what can be done better. They want to share their software so you, and the open source community, can build on it and improve it. So, when you watch stuff, online, for free, you’re benefiting from this incredibly generous culture. Mate, I spent an hour watching on breh from Netflix talking about how it took them seven years to be fully in the cloud. I watched a guy from Uber talking about why going from 200 to 3000 developers in less than 18 months can be a problem. Or a dude talking about scaling problems Instagram had. For free. These people are sharing years of lessons learnt so that you can learn it very quickly. My point is, make full use of Youtube. Subscribe to people. And that’s basically what I did. You know the bit when you’re out of the shower and you’re getting ready to leave the house, or when you’ve a little bit of time to kill, well, use those to watch talks. Lots and lots of talks. You’ll be thankful.

Books

Now, this is the bit where it gets specific to Python. So, if you don’t care about Python, go away. Here is a list of books that I have used.

Learning Python by Lutz. It’s an O’reilly book, probably about 1300 pages lol. But I loved it. I took notes on every single chapter and then read it back. I think this book is really well organised. It covers everything you might want to know as a junior developer. It assumes that you don’t know shit. And as such, saves all the juicy difficult stuff like namespaces, scopes and classes for the end. I found that using this book particularly useful when I followed along. Even if it was just a dumb and simple string operation, I’d just try it out in the console.

Test-Driven Development with Python by Percival. This is seriously dope. When you feel like you’ve got a decent understanding of the language, try this book. Everything you have ever needed to learn about testing in web development is in this baby. Now, granted, you might not be interested in web development, but the principles of inheritances, particularly classes and stuff is good knowledge/practice. He goes to a great length to explain each line of code, which is wicked to be honest.

Python Cookbook (O’reilly). This book is a bit big, so maybe don’t go through the whole thing. I just went through the bits that I cared about. Each chapter is split into problems: “You need to split a string into fields. So, for each problem, before looking at the solution, I tried to work it out on a piece of paper. And THEN looked at how they did it. Then went to try and copy the code, seeing if I can recreate slightly different versions of the problem. This whole problem & solution situ is the type of thing you’ll be facing. So that’s good practice.

Once I had a decent understanding of Python (the core language), I started playing around with Django, the web framework. For that, I used Mastering Django: Core by Nigel George, and Building RESTful Python Web Services with Django by Gaston Hillar. Once I had gone through those two, I felt comfortable enough to build stuff on my own.

Courses

I really like Udemy. I tried TreeHouse. I just couldn’t afford it after a while though. On Udemy, if you’re really good, you can get these courses for like a tenner. That’s £10. Ten quid. Here three courses that I did on Udemy.

The Web Development Bootcamp: I learnt a lot of good stuff on this course. I didn’t even know how the internet worked. This takes you through HTML, CSS and Javascript. It’s long yes. But just put that time in init.

Django Core | A Reference Guide: One guy called Justin Mitchell who I had watched on Youtube delivers a pretty comprehensive list of videos on Django, how it works and the slightly dodgy bits. Course is well organised.

Git a Web Developer Job: Brad Schiff is such an incredible teacher. Guy explains things in the most straightforward fun way possible. This course introduces you to it, GitHub, Node.js, NPM, Object-oriented JavaScript, ES6, webpack, Gulp, BEM. There are course notes, and a github repository that you can download code from. All in all, I give this a 10/10.

Actual Coding

Now, here is the most important lesson: go build stuff. This is honestly the most important thing. Go and build stuff. Try and contribute to open source projects. Try and make at least one thing. I built an E-Learning platform using django and it taught me a lot. It also meant that when recruitment agents, or companies asked me about personal projects, I had something to show.

If you’ve any other questions, hit me up on my Twitter.

--

--