Back to advice hub
How a passion can become your day job

James and Matt's story: working in Software Development

Hacking tips

Q: Hey James and Matt! Thanks for sitting down to chat. First of all, I wanted to ask why you decided to get into software engineering?

J: Well I started out studying Physics at university, but I always used to play around with coding purely as a hobby on the side of my degree — I loved the problem-solving aspect and found building websites from scratch so satisfying. You never stop learning new things when you’re coding, which keeps it constantly interesting. That’s what made me realise I wanted to code as a job.

M: My first job was actually being a software tester — and I found it pretty boring! The job got more and more interesting the more code I was writing to automate the tests, so I decided to make the switch into software development in my early twenties.

Q: And what are the best bits about working in software development?

J: There are so many! I think the best thing for me is getting to build something that didn’t exist before, and then see other people use it and enjoy it. That practical application, which you just don’t get in a lot of jobs, is what makes me want to come into work on a Monday.

M: For me, I get the most satisfaction out of writing clean, readable, quality code, which is easily understood and extendable by other developers. I think the best bit of software development is when you know you have crafted a really elegant solution.

Q: What does a typical day in your role look like?

J: One of the great things about our job is the fact that we get to go and speak to other teams and work out how to solve their problems. Our customers are all around us, working alongside us, so in a typical day we often ask questions and test in real time. We start every day with a quick stand up meeting — a 10 minute get together to talk about blockers and current tasks. We always work in two-week sprints, so we have regular project deadlines. Within those two weeks, each project is split into small day-long tasks using a task management system called Trello. Whenever we have code ready to deploy, we review each other’s work and give feedback.

M: We’re a very small team at the moment. We work on separate new features individually, but call on each other for advice as needed. Once we think the feature is done we submit our code for review, at which point someone else reviews our changes before they go live.

Q: What qualities does a good developer need to have?

J: Communication — people don’t often associate this characteristic with developers, but it’s actually highly important. You need to be good at understanding problems effectively, but also at communicating solutions well, especially when your key stakeholders might not fully understand the technical elements of a given project. Good software engineers put effort into being good communicators.

M: I think resilience is really important too. If you come across a problem that you don’t immediately know how to solve, and potentially even find really scary, an ‘I am sure I can search online for a good answer to this’ sort of attitude is key. You need to be thinking it’s just a matter of time until I *do* figure out the solution!

J: Completely. And I think tied to that is a desire to keep learning, to never feel that your work is done. Software moves so quickly, you always need to be learning new things unprompted — you can’t wait for your manager to tell you to get on top of new things in the industry.

Q: How has working in software engineering developed you as a professional, and as a person?

J: I think the problem-solving aspect is a great skill — it’s valuable in every part of life. As a developer, you spend all of your time breaking large complex problems down into small, solvable ones, which is such a useful approach for pretty much anything!

M: For me, a big lesson has been teamwork and collaboration. I was quite young when I joined the industry, and working in a professional software development team with good role models really helped in my personal development. I’ve had to work with people of varying temperaments, which I think is a key life skill.

Q: How does working in software development make you feel empowered?

J&M: Technology is the best way to build scalable processes — without us, the company wouldn’t be able to grow! We build the website that all of the end users in this process go through — so the importance of our role feels pretty clear, and that responsibility is a really big motivator.

Q: And finally, do you have any tips for someone looking to get into a career in software engineering?

J: Don’t be afraid to ask stupid questions, and never stop learning! Also find developers you respect — read their blogs, watch their videos and learn from their code.

Related Articles