Ideas from the team

Category

Meet Our Senior Engineers

Stuart and Andrew

Here at Spektrix, we all pride ourselves on being the perfect combo of data geeks and theatre lovers. The brains behind Spektrix, our engineers, are passionate about creating the best system possible to help the arts community reach its full potential. Check our little Q&A with two of our senior engineers and find out what it’s like to be a part of the development and engineering team here at Spektrix.

How long have you been at Spektrix?

Andrew: Four years, making me the longest serving member of the engineering team (if you don’t count the founders).

Stuart: Three and a half years.

What were you doing before you joined Spektrix?

Andrew: I developed intranet software for the construction industry, used at Heathrow and Gatwick airports, the National Grid, train stations, oil rigs, and chemical plants.

Stuart: I was completing my PhD in Computer Linguistics at the University of Cambridge.

What’s a typical week like for a Spektrix developer?

Andrew: During planning weeks, we get our heads round new features and review each other's technical designs. During sprint weeks, we develop the features and review each other's code. Finally, during integration weeks we fix bugs and implement last minute features.

I work from home two days a week, which lets me alternate between days when I get in the zone, focusing on coding and design, and days when I share my ideas and collaborate with other developers. I love being able to have my own space to focus, while still feeling part of a team.

Stuart: Sometimes you're on the bugs team, trying to clear up any relatively minor bugs that can be found all across the system. You become good at diving into something you haven't seen before or in a while, and understanding what's going on, sometimes piecing it together by looking at the change history in a database. Otherwise you are working on adding new features to the system, so you go through a cycle of understanding exactly what the feature should do from a user's perspective, then discussing how to implement it at a code level, and finally working with the UI team and test team to ensure it's fully working and polished.  

What’s your favourite part of your job?

Andrew: I love coding, but it’s far more fun when you do it with others. My favourite part of the job has to be the people I work with. They care about the quality of the software all the way through from how it treats ticket-purchasers (many of the team are theatre fanatics) to the quality of the code itself. I love being able to show off some cool code I’ve written for other team members to review, and getting neat tips rather than negative criticism.

Stuart: I love problem solving. There's a certain satisfaction in diving into a problem where you can't work out how something is happening, and by the end of it understanding it completely. A recent interesting bug only happened when three rare things coincided; it took 3 days to understand, but it was very satisfying when I understood and could trigger it every time. Once I understood it, the fix took 20 minutes.

I like that I get to work with SQL, C# and Javascript (and Typescript - my new favourite Javascript variant). I like that we work "Full Stack" if you'll pardon the buzzwords. It's interesting that "break down the silos" was one of the big themes from last year's Spektrix Conference, and that is what "Full Stack" development is about. We're lucky to have relatively few silos in Spektrix. I can (and often do) go to talk to DevOps about how to make changes, or to Support to understand what they need.

What advice would you give your younger self, beginning a career in development?

Andrew: When you’re dealing with a bug that seems like it couldn’t possibly be happening and is driving you insane, step away from the keyboard and go relax. By the time you come back 9 times out of 10 you’ve got the solution or at least thought of a new path of investigation to try.

Stuart: Which programming language to learn matters less than you would think, although some definitely do not encourage good behaviour (here is a good rant on PHP!). Learn about common design patterns, and all the features of your debugger. Try reading other people's code, by helping an open source project for example. If you find you can't make head nor tail of it because of poor practice, then you start to appreciate why it's worth putting the effort in to do it well.

What excites you about the future of development and engineering, especially in relation to the arts?

Andrew: I’m just excited about arts software getting more features, and existing features getting more reliable, efficient, usable. It’s great being able to see it all happening from the inside and how it really works.

Stuart: Occasionally, audience technology will have a place in shows. I went to a production of Eurobeat (a spoof Eurovision show) a few years ago, and the audience sent texts to vote for the winner, meaning that the show had different endings. I could imagine an improvised show where the audience have an app they can use to influence the actors. Lots of museums and art galleries are using apps effectively to help show off their collection, and I can see that expanding massively.

Sound like your cup of tea? Check out our careers page! We’re always looking for great passionate people to join us.