My First 2 Years as a Software Developer

As a moody, angsty 19 year old starting a Music Technology course back in 2011. I never would have once thought that I would end up developing software for a living. But here we are in 2019, still moody, still angsty just older… Developing software for a rapidly growing dev-house in Staffordshire.

The music technology course opened the door for my passion for software. As I was using digital software and plugins, I found myself asking “How do these plugins work? How are they made” more and more often. After doing some research, I found that you could write these plugins in something called C++. So I started to learn C++, I cried, alot… Failed my degree, Moved to learning JavaScript whilst working in a Zoo resturaunt for a few years and the rest is history.

I’ve learned a lot over 2 years, I’ve learned that being a good software developer is more than just being able to architect and write code all day. It’s having the ability to collaborate with a team of people that aren’t just developers, problem solving to meet customer requirements, compromise, and most importantly, having the mindset that you don’t know everything, and you probably never will.

What I’ve learned

It can be tough being a new software developer, you’re surrounded by brilliant and talented people who know what they’re talking about, there’s all these buzzwords, Acronyms, frameworks and technologies being thrown around in discussion and it can be overwhelming… Don’t worry about it. Looking back from when I first started to now, I’d probably give myself these words of advice:

  • Learn how to read other people’s code - This one is so important! Let’s be real, you’re going to be spending most of your time looking at code that isn’t yours, and the programmer who originally wrote it has probably moved on. It can be scary to look at other people’s code, you weren’t in their minds or with them when they wrote it but as long as the code is well written, you’ll get used to reading code that you don’t own.
  • Your colleagues are there to help - I don’t think I would have got very far at a dev house if I didn’t constantly ask people about EVERYTHING. Everytime I was paired with someone, I would constantly be asking ‘Why are we doing this?’ or ‘Is there another way of doing this?’ to the point where I honestly thought I was going to be kidnapped and dumped in a forest somewhere in Scotland. Truth is as long as you’re listening, most people are more than happy to teach you.
  • Use work’s tech stack in your own projects - There’s a lot to learn in programming, a lot of concepts, technologies, frameworks and languages. One thing that really boosted my confidence on our massive code base was learning the tech stack that I use day in, day out (in my case: .NET/C# and Angular/TypeScript). It really does help.
  • You don’t have to be a genius - I wonder if a lot of people suffered from the illusion that you have to be some sort of God with a 10,000 IQ to be a programmer like I did? You really don’t. All you need is a keen attitude to learn.
  • But it doesn’t mean programming is easy - It’s still important to understand that software development also isn’t easy. There are times where you will struggle but it’s all part of the job.
  • Domain knowledge is key - Having an understanding of how systems gives you more confidence when it comes to adding and removing from the code base. It also helps with things like making sure that what you are doing doesn’t have potential side effects to the rest of the system or having confidence that you’re not going to introduce a new bug to the system.

And that’s about it

I think it’s just important to remember that Software development is one of those ‘you get out what you put in’ kind of industries and that it’s a very rewarding industry if you are willing to put time into professional and personal development. Enjoy what you do and you’ll never work a day in your life, or something like that…