Hi! I’m Emma and I’m a Software Engineer at MI5. If you are interested in coding and looking to become a software engineer, then this article is for you!
When it comes to software engineering, I believe the best way to get ahead of the crowd is to learn and practice coding. There are plenty of learning resources that helped me in the beginning (and still do now). Everyone learns differently, I’m predominantly a reading and writing learner, and for coding, this means reading and then implementing. I find online platforms such as Pluralsight and Codeacademy complement this style because you read the content, and then put the theory into practice through exercises. There’s no specific ‘thing’ to practice as most languages and techniques can be used in any context, and organisations have different ways of working.
Projects vary depending on the problem trying to be solved. Usually,software engineering projects involve teams made up of everyone from Scrum Masters and Business Analysts to User Experience experts and Software Engineers, to name a few. They’ll likely follow an agile methodology such as Scrum or Kanban, where they’ll continually deliver new changes to the end user. For applications that are already established, you may have to fix bugs or solve existing problems that users are facing as part of your project, or alongside your project.
But software engineering isn’t just about hard, technical skills. It also benefits from soft, personal skills. Here are my top three:
1.Teamwork and Communication
One of the key things about working well in a team is having good communication skills. In the workplace, software engineers often work in teams with people who have other roles, but who all contribute to the same end goal, with work being allocated individually. So good, consistent teamwork and communication are needed to produce the best product.
Software engineers who can think creatively and imaginatively are more likely to design unique solutions, which adds efficiency and allows us to innovate! Creative solutions can also be more enjoyable, meaning developers are even more motivated and productive when developing ideas.
Software development isn’t always flawless. There’s a constant need for feedback from those who are going to be using the software and so you make to ensure that it works for them. So being flexible and anticipating these changes create a better environment to be able to incorporate any necessary changes to the product.
My key piece of advice? If software engineering is a new concept for you, don’t be worried – just throw yourself in! I had very little software abilities three years ago, but now I’ve worked on a handful of software projects confidently, and even developed web-based applications on my own! There are a number of ways to use your interest in software engineering at MI5, MI6 and GCHQ, if you’re interested check more on the MI5, MI6 and GCHQ careers pages.