For those interested in software engineering, we’ve got an incredible opportunity that could kickstart your career at one of the world’s most innovative companies. So what’s it really like to work in software development?

We recently announced a partnership with Google to help them hire their next cohort of software engineering apprentices. A Higher Level apprenticeship in Digital Innovation, it’s a perfect fit for people interested in broadening their skills and pursuing a career in software development. Here’s the lowdown:

  • The role is based in London, UK
  • It’s a 2 year, level 4 apprenticeship
  • You’ll spend 20% of the time studying towards a Foundation Degree in Digital Innovation, which is accredited by the Open University
  • It kicks off in October 2018
  • The deadline to apply is 1st January 2018

We sat down with two of WhiteHat’s developers, James and Matt, to get their thoughts on what it’s like to be a software developer, some of the things you’ll learn, and why working in software engineering is where it’s at.

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.

Working for Google means you’ve got something special about you, and these apprenticeships are no different! A few of the things they’re looking for are:

  • Completed (or in the process of completing) A Levels at grade B or above (or equivalent of this degree and grades) in STEM (Science, Technology, Engineering or Maths) related subjects
  • Written and spoken English, both fluently and idiomatically
  • Some prior coding experience, no matter what the programming language

Naturally, it will help to have a real passion and enthusiasm for Computer Science and new technologies, not to mention some strong problem solving capabilities. You’ll also need to be self-motivated and great at displaying a positive attitude at all times, as well as love nothing more than learning new skills.

Sound like you? You can apply here today, and we’ll get back to you with next steps!