Stepping into Development

Thin Martian
4 min readOct 18, 2016

Alice joined Thin Martian three months ago as a Junior Developer, here’s what she has to say:

Natural born coder

Let me start out by saying I didn’t grow up naturally drawn to computers, writing html or playing World of Warcraft. I have stumbled my way into coding, via a bootcamp.

So I had a few preconceptions about my first web developer role:

  • Horrendous technical interview
  • Will be shoved onto legacy code (old code that has had lots of people writing it)
  • Will be left totally alone and have to figure things out
  • Stay till midnight/3am

First day

I’d miraculously avoided the dreaded coding challenge, otherwise known as the technical interview, so on my first day I was filled with anxiety that everything was a test.

In my inbox were two emails from my line manager:

  1. Plan for the week.
  2. Longer term training plan.

Yes that’s right, a thorough plan was waiting for me. None of the scare mongering was true. It turns out this was because my line manager had been in my position before, and wanted to make sure I got off to a good start.

The main thing to do that day was get myself set up. So I downloaded a few things and personalised my work environment. No, that doesn’t mean changing the desktop picture. Although mine is the Ravenclaw common room. It means when I downloaded SublimeText, I could spend time changing the theme, picking what I liked.

SublimeText is a code editing package, so just like an author might use Microsoft Word to write, edit and comment on their writing, I use a code editor to make my life easier.

Still not fired

The client projects that were in the pipeline, for me to work on, were Javascript with React. So initially I needed to learn the React way of doing things as well as ES6 and Linting.

ECMAScript (ES6) is a scripting-language specification and Linting is like a super human spellchecker. But instead of red squiggly lines under just misspelled words, it also tells you if a function (think of it like a sentence) makes sense. As in, do you have all the right parts. It’ll tell you if you referenced something but it can’t find it, which funnily enough is usually because you’ve misspelled the name of the path to the file. There’s other things it does too, not least is keeping you neat and tidy. When there are a bunch of errors your code lights up like a Christmas tree and not in a good way. Sounds daft, but when you work in a team, keeping everything and everyone constant saves time.

In short, React is about building one component, let’s call them lego bricks, at a time and being able to use that lego brick more than once. By working with these smaller bricks, when someone uses a website, the brick (of code) that they are interacting with is the only thing that needs to change. So think of a website, there’s usually a navigation menu, well that’s a component. Then each of the options of that menu is a component. Code is more efficient like this, so nothing is repeated. It’ll also be faster because only the code concerned with that component needs to do something, no need to load the whole page.

Rubber duck testing

Things break. Sometimes you can fix them straight away. Sometimes you can’t. Enter rubber duck. You know when you ask your friend a question, and in explaining your problem out loud, you realise what the answer is yourself. Well the rubber duck is the substitute for your friend. I don’t have an actual rubber duck on my desk, I just look like I’m talking to myself.

Learning all the things

I’ve learnt a lot so far, but I don’t know everything about all of them. I think of it like driving a car. There’s a bunch of fundamental stuff you need to know and you need to actually get behind the wheel (before self-driving cars are mainstream), but you can still drive the car without fully comprehending the laws of physics and mechanical engineering. The more I learn, the more I realize how little I have learned. And that’s ok.

Just keep swimming

If I didn’t enjoy solving a problem with code, then refactoring it, then fixing my mistakes and then finding a better way to do it, web development wouldn’t be for me.

As much as you can read tutorials and watch YouTube videos, I find the best way to learn is to push up my sleeves and get stuck in. So that’s what I’ve been doing, I’ve been building little apps.

I usually start out with simple, typical things while following a tutorial, like a blog post, but then the world is my oyster.

My favourite things I’ve built to so far, not including client projects so just for learning purposes:

  • an app that animates Cillian Murphy’s face
  • a film quote guessing game
  • Rock, Paper, Scissors, Lizard, Spock from the Big Bang Theory
  • an app that tells you which magical creature is near you, from the Harry Potter universe (I put the database together, late one evening, from Newt Scamander’s Fantastic Beasts and where to find them)

Up next: plenty more lego bricks.

--

--