How I became a developer

I have officially been a web developer for about three years now. When I meet other developers, I’m always curious to know how they got into the industry. I used to think there was only one route into the job, and that always included a computer science degree. But that’s not the case – I’ve met people who have come to their current careers from all sorts of backgrounds, from acting to architecture to astrophysics.

My own path into the job wasn’t the most conventional. My degree is in English Literature, and I’m almost entirely self-taught. But now here I am, writing code that helps people do things on the internet, and I’d like to think I’m pretty decent at it.

So, here’s how I got into this line of work, and a few tips for anyone else who’s thinking of a career change.

Early adventures in the internet

I was fascinated by the internet at an early age. I made my first website when I was 9, a drag-and-drop GeoCities spectacular with an eye-popping colour scheme.

My schools didn’t offer much in the way of a computer science education, but I did take an elective class in programming when I was in 8th grade. We learned how to make text adventure games in BASIC. Then the teacher assigned a class project: all 20 of us had to work together to build a single game. (This was an early lesson in the need for good project management, which in this case was lacking.)

I ditched BASIC and cracked on with making websites in my free time, learning more about HTML and CSS so I could style up my Neopets pet-pages and my LiveJournal. In high school, I even tried to set up my own WordPress blog, but when I tried making my own themes, the jump to PHP proved too difficult. When I asked questions on the official forums, most responses were rude or condescending. It was an off-putting experience, and my interest started to slip.

What can you do with a BA in English?

While I enjoyed playing around with web design, studying or working with code never really crossed my mind. My big thing in high school was working on the school newspaper, and I wanted to do something related to that – maybe journalism, maybe designing magazine spreads? I was sure I’d work it out.

So I went off and did an English degree. Three years later, I graduated and had no idea what the hell I was doing.

I spent a while sending out unsuccessful applications for journalism jobs, then for internships, then for unpaid work experience. 99% of the time, I heard nothing back, and the remaining 1% was rejection. In the meantime, I was working retail, although my employers did some of their selling through a website. I started writing product descriptions and debugging technical issues where I could. It started to occur to me that people might pay me just to do this sort of thing.

Finally, I managed to get a two-week placement on a local magazine. The staff were talented, but the positions seemed precarious, and a surprising percentage of the desks were taken up by other unpaid work placement students. I decided it was time to pivot.

My first web job

At last, I scored my first digital job – I was a “Web/Digital Marketing Assistant”. In practice, I was a one-woman web team, dealing with everything from content and social media to the occasional bits of design. Those odd bits of copywriting and HTML that I’d done in my retail job had turned out to be useful skills.

One day, my boss asked if I could modify some behaviour in the content management system – she wanted to hide some items until a certain date had passed. I wasn’t sure if I could, but decided to have a crack at it.

I dug through the source code and finally tracked down the relevant lines. It was PHP, my old high school nemesis, and it made no sense to me. After staring at the screen for a while, I dumped the lines into Notepad, double-spaced them, printed it out, and annotated every single command until I understood it. Then, after a lot of trial and error, I managed to get the feature change working.

My boss was pleased, but I was over the moon – it was the satisfaction of solving the problem, the thrill of understanding how something worked and then bending it to my will. I started picking up more and more technical tasks, designing and building small sites for events and projects. It felt like I was narrowing down what I really wanted to do.

Working with developers

One day, I noticed an ad for a content design job in a local digital team. I was worried about leaving the more code-y aspects of my current job behind, but I really wanted the chance to learn from other people. So I went for it.

My new job was the first time I’d worked on a website with other people. There were content specialists, like me, but the team also included designers and developers. And as a place to learn, it was a fantastic opportunity.

I wasn’t writing code any more, but I was getting to see how developers actually worked. I learned about Agile, user needs, workflows, version control and deployment. I watched as new bugs or feature requests came in, and saw how they broke the issues down and solved them.

The developers were working with the web framework Ruby on Rails, so I started learning it as well in my free time. I did Codecademy tutorials and worked through Learn Ruby the Hard Way and Learn Ruby on Rails. I went to a local group of other women trying to break into the industry, and we all sat in a cafe with our laptops, working through tutorials together.

Luckily for me, my team at work was full of lovely people who were all happy to encourage me – I had people who could answer my questions, let me look over their shoulders at what they were working on, or help me debug my code when I got stuck. I even got to tag along to a conference.

Eventually, a junior developer position came up on the team. I applied, I studied like hell, I interviewed, and I got the job. I was thrilled to bits. Somehow, against my own expectations, I’d made it.

So, you want to be a developer?

There are a lot of ways to get into the industry – I know bootcamps are becoming increasingly popular, for example. But based on my experience, here is what I’ve learned.

You don’t need a degree

But you do need to always be learning. It is impossible that you will ever know everything there is to know about development – the field is broad, and it’s constantly changing. The good news is that you’ll get to learn a lot on the job. It definitely keeps your brain busy.

Coming into the field without a formal education did leave some gaps in my knowledge, mostly around abstract concepts like design patterns – something I’m now working to fill in. But I’d managed to get enough hands-on experience that those gaps didn’t stop me getting that first job.

When you get started, there will be a horrible hump to get over where you feel like you don’t understand anything and you never will. Some days I still feel like this (imposter syndrome is a big thing in this industry). But push through it – you are making progress, even if it doesn’t feel like it.

I used to keep a list of “developer accomplishments” – the first time I pushed some code to GitHub, writing my first line of JavaScript, understanding how to query a database. When I had a day where I felt like I was getting nowhere, I could look back at that list and see how far I’d come.

Make things

Some people learn well from reading abstract concepts in a textbook, but I like to get my hands dirty. Having a specific project to work on gives you problems to solve, which gives you reasons to learn more.

When I was first learning Ruby on Rails, I made a lot of simple applications, like a website to track which books I’d read, or to let everyone in my office record their burger orders for a team lunch. They weren’t very useful and they looked hideous, but they made those hypothetical ideas I’d learned feel much more concrete. And they gave me something I could show or explain to potential employers.

Try to apply what you’ve learned to your current role too. There may be something in your job that you can optimise through programming. Even if it’s just writing a slightly more complex spreadsheet formula, it’ll still exercise those logical and problem-solving bits of your brain.

Meet other developers

If you can, get a job that lets you see how development teams actually function. You might not learn how to program, but you’ll learn more about how developers work and what tools they use. Plus it’s great for networking (and making friends).

Even if you don’t work with some developers, you can still go to developer events. Have a look on Meetup for local groups and tag along. Not gonna lie, I found these incredibly intimidating when I was first trying to become a developer – standing with a group of people who are all debating the merits of Docker when you have no idea what Docker is can be a little scary (I went home and looked it up later). But people were always friendly, nobody ever acted like I shouldn’t be there, and I often wasn’t the only newbie. It helps to go along to events where there’s a talk or some other structured occasion, as this means you won’t be chatting constantly, and the talk can become an extra subject to talk about.

There are also meetups and workshops specifically for newbies – I’ve never been to a Codebar event, but I’ve heard good things. Go check them out.

Programming is not the only skill

Yes, it’s certainly a necessary one. But there is more to being a good developer than just being good at programming. Things like:

  • communication
  • breaking down problems into manageable chunks
  • enjoying learning and problem-solving
  • giving and taking feedback
  • knowing when to ask for help

and, most importantly:

  • being really good at Googling things

Seriously, so much Googling. And you can practice these skills every day – look things up. Chase down your curiosities. Ask how things work and try to understand them. Do tutorials just for the sake of learning something new. Imagine something you wish existed and then have a go at making it reality. And persist, even something feels impossible to wrap your head around. Keep at it. You will get there.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s