Q&A : Tom Weaver - Software Engineer

Staff profile: Tom Weaver - Software Engineer

Location: Bristol, UK
Education: BSc in Computer Science from Sheffield Hallam University

How and when did you join SN Systems?

In 2016, part of my Computer Science degree at Sheffield Hallam University was to do a placement year in industry. My tutor pointed out that SN Systems advertise year long internships, specifically designed for placement students. As I'm a massive gamer, the allure of the PlayStation® logo and the descriptions of the tools and technologies that SN Systems work with put stars in my eyes and I had to apply. One successful internship and a very happy graduation day later, I was invited back as a full-time graduate compiler engineer.

What do you do at SN Systems?

I work in the compiler team, more specifically in the Tiger team. Our team is focused primarily on ensuring that the debugging information generated by the compiler is correct. Incorrect debug information means a less than desirable debugging experience for game developers. My day-to-day activities are many and varied, for example investigating hard to track down bugs in the compiler, writing tests that help us track further issues, reading open source reviews pertinent to our work and many other things. Every day is different as we're constantly moving forward in our quest to deliver a great debugging experience.

What has been the biggest challenge during your time at SN Systems?

I would say, getting to grips with LLVM compiler technology. It's incredibly complex with many moving parts. Since any section of the compiler can have a detrimental effect on the debugging information, tracking down bugs can be challenging. When compiling optimised code, well over 200 distinct optimization passes can be run over the input source file. That's a lot of chances for things to go wrong. Thankfully though, LLVM and Clang have lots of neat features for navigating this complexity. Given enough time and determination, mastery of these features can make investigating and tracking down problem passes in the compiler fun and enjoyable.

What do you like most about working at SN Systems?

I have a particularly privileged role at SN where-by the vast majority of my work is performed for the upstream LLVM community. Working upstream means my work gets wider recognition within the LLVM community, not just here at SN Systems. Given the wealth of expertise and experience in the LLVM open source community, there’s a great opportunity to learn from world class engineers about compiler technology not just at Sony, but around the world.

What advice would you give anyone wanting to get into programming?

I would say learning to program will only get you half of the way. The other half is learning how to solve problems. That's where computer science and software engineering methods come into play. There is certainly joy in learning how to program but nothing beats the rush of solving a good problem. Make sure you're using your newfound programming skills to solve interesting problems as you learn.

What do you particularly like about living in your location?

The cycle to and from work. I live about seven miles from the city centre and my daily commute is up and down the river Avon, through the Avon gorge. The scenery is stunning, and I feel very lucky to be able to experience it on my daily commute. There's lots of cycling infrastructure in and around the Bristol area. I love mountain biking and two miles from my door is the Ashton Court Nova trail. It's built around a golf course, so it's quite long and has lots of interesting features. I love spending the day out on my bike soaking up the sun whilst getting some exercise.