Hear the word ‘architect’ and we tend to imagine someone who designs buildings. But there are architects in the world of software, too – and they’re critical to building a working system.
We spoke to Emily Whetter, technical team lead at the Met Office, about why software needs architects and why it’s a great career path for girls who enjoy creative problem-solving.
You mostly work as a software architect – what does that mean exactly?
Organisations build software systems to solve specific problems they have. The software architect is the person who actually designs the system. It involves knowing what technologies are out there, and which ones you can put together to create the best solution to the problem. Then it’s about making them work together in the most sensible and efficient way.
What are you working on at the moment?
I’m a contractor, so I move between roles a lot. At the moment, I'm working as a technical lead at the Met Office in Exeter. We're working on systems that will allow other organisations to use the data from the Met Office supercomputer, which is one of the most powerful computers in the world.
It takes in 215 billion weather observations every day, from satellites and from sensors all around the world, and turns them into incredibly accurate real-time weather forecasts. The work we’re doing will allow organisations to get access to those forecasts to help them with their own planning.
What might a typical day look like for a software architect?
At the start of a new project, you’ll be coming up with the initial design. First you’ll analyse the problem that the business wants to solve – which is usually described in a set of requirements by the product owner responsible for the new system.
Your job is to translate that into a design that will actually work. You’ll review different technologies that you could use, and decide which are the best ones for the project. They don’t just have to work well together – they have to be affordable, and you’ll want to look at how secure the design is, too.
Once the project is underway, sometimes you have little issues that come up where perhaps the initial design didn't work as well as expected and you have to re-think it. Sometimes a new requirement comes in that you have to build into the system.
And when the system is finished and up and running, sometimes problems come up that you have to fix. It’s basically all about creative problem-solving, which is what I love about it.
The job of a software architect is all about creative problem-solving, which is what I love about it.
What kinds of skills do you need to be a software architect?
In a smaller company, the software architect is also what’s called a technical lead. That means you often have to mentor more junior team members, and train people in the new technologies you’re choosing. So there are some soft skills involved there.
Then you have to spend a lot of time keeping up to date with what new technologies are available. You have to love learning, as new technologies come out every day. In my current job I'm working with Amazon’s cloud technologies, which I’d never used before. So it helps if you’re the kind of person who likes a steep learning curve.
But mostly, you have to be the kind of person who has a logical mind and loves to solve problems. There’s a lot of creativity involved too, because you have to think creatively to design a system that works.
Did you always want to work in IT?
I didn’t know what I wanted to do. I really enjoyed writing when I was growing up, and I thought I might be either a writer or a geologist. But I also really enjoyed more technological subjects. I didn’t do any actual coding until I went to university, where I did a module on it as part of my Maths and Physics degree. That’s when I realised this was what I wanted to do.
I hadn't done any professional coding before I got my first job, where I was literally thrown in the deep end. Rather than looking for experienced coders, they were looking for bright graduates who could pick it up. They gave us a test to see how good we were at logic and problem solving, as those are the skills that make good programmers. So I learned to code on the job to start with.
What advice do you have for girls who might like a job in software development?
If you’ve done some coding and enjoy it, I thoroughly recommend learning Python. It’s quite a simple programming language to learn, but it's actually widely used in industry. Spoken languages like French and Spanish are also a good grounding for learning programming languages, as it’s all about syntax at the end of the day.
If you’ve done some coding and enjoy it, I thoroughly recommend learning Python. It’s quite simple to learn, but it's actually widely used in industry
But I think it’s important for young people to know their options aren't limited, whatever they enjoy doing at school. You can come into a software career quite a lot later in life. I know lots of people who have moved into the technology world halfway through their career.
How can parents support and encourage their daughters?
Sometimes it’s about giving them space to discover things for themselves. My daughter is very technical but she’s quite resistant to learning from me! Encouraging girls to join code clubs is a great first step, though. An Arduino kit is another nice way to get kids into coding, because it’s hardware they can program to do things – so they can actually see their code in action.
Emily recommends learning Python to gain coding skills that are in demand commercially. Here are some great first steps:
Coding for kids in Python (YouTube series): YouTuber Neha talks you through how to get started with Python in easy, bite-size video tutorials:
Coding for Kids in Python by Adrienne B. Tacke: The book that Neha's YouTube tutorials are based on. It makes Python easy and fun for kids aged 10 and over. (Click on the picture for the Amazon link.)
Python coding and other activities: The Code Creates website has tons of free STEM activities and competitions for kids under 16 - including Python resources.