Testimonial

After our last Performance Analyser session we knew for sure the SN Systems versions of our libs were well on top of the competition.

 

Dave Gargan
Head of Developer Relations
Havok

Product Spotlight

SN-DBS

Free to all PlayStation® game title developers!

It slashes compile times by distributing your source code builds between cooperating PCs on your local area network

more details...

Meet the Team

Q&A: Graduate Software Engineer


Yufeng at his desk

What was it that led to you becoming a tools programmer?

I started working at SN Systems as a tester for the SNC PPU toolchain products in November 2007.

Testing in general is one of those essential jobs, but can be quite tedious at times. Luckily, being part of the games industry makes it much more interesting. Part of my role involved testing the toolchain on various PS3 titles and middleware solutions. It meant that I sometimes got to work and play on released and unreleased games.

As with game code, bugs in the toolchain often manifest themselves in strange and funny ways; cars can be upside down; players fall through the ground; places out of the map boundary can be found. Tracking these down can be hard but rewarding.

Being a tester in the toolchain team is different from general testing, as it’s not just about finding problems but also analysing each bug, finding the root of the issue and fixing it if possible. My role was a real learning curve and, bit by bit, I got to gradually know the toolchain better and better. The more I knew, the more my interest leaned towards the optimizer part of the compiler – otherwise known as ‘the magic of generating highly efficient code’.

After one year, I was transferred to the SNC optimizer team. My role now still involves bug fixing but also includes improving existing optimization and coding new optimization functions.

How has the job evolved over the last year?

Killzone 2 was one of the PS3 games to have recently shipped using the SNC PPU toolchain, and the number of games using it is increasing all the time, so our work is becoming even more developer driven.

There are increasing support issues to deal with and it’s essential that we’re quick to respond to any such issues, especially in such a fast paced industry as this one.

At the same time, PS3 developers have high demands, which drive us to add more features to the toolchain, which in turn help games gain better runtime performance, smaller code size and faster build speeds, while also maintaining stability.

Last year, SN suggested that communication skills were at least as important as coding skills. Is this still true?


SN engineers have forged strong alliances
with cutting-edge codeshops such as
Killzone 2 creator Guerilla

I don’t think it’s possible for any large, modern software company to be successful without developers who can work as a team and communicate well. Every level of communication happens on a daily basis within SN Systems.

We have offices in San Jose, California and Dublin, who we communicate with, and we're also in contact with our parent company, Sony Computer Entertainment Inc, as well as colleagues from Sony Computer Entertainment Europe and from Sony Computer Entertainment America all the time.

On the development side, every time there's a new feature for the toolchain, it needs to be carefully designed and implemented, so we'll have frequent meetings including international conference calls with colleagues in other offices on researching, task allocation, demonstrating and so on. There are several communication links between the development and testing teams, including off-the-shelf bug tracking solutions such as bugzilla, internal systems, and face to face meetings.

The gap between education and industry is drawing a lot of attention at the moment. How well did your education prepare you for the job? How big a knowledge gap was there?

Well, there’s definitely a gap. Compilers used on university courses are usually just toys.

The compiler module I studied back in 2004 for my degree focused mainly on the front-end, and restricted itself to some context-free grammars. Having that limited knowledge meant it took time for me to start working efficiently on the SNC PPU toolchain.

However, there are indeed many useful modules, like the one I did on my masters course named 'System Software', in which we were asked to write a basic but complete RISC machine simulator, a tiny but efficient kernel and a simple assembler. It helped me become much more familiar with low-level system mechanisms and it played a part in helping me get my job at SN Systems.

What's the most important part of an applicant's portfolio?

Having at least one of the following three skills: PES, table football, real football. On a serious note, I'd say the willingness to learn, the ability to solve problems and attention to detail are very important traits.

SN Systems is a fast-paced company which innovates and leads. We pride ourselves on delivering the best development tools we can and providing first-class support. There are other essential qualities such as C/C++ programming skills and knowledge of microprocessor architectures, so it’s really a combination of all related skills and traits.

Yufeng Zhang
Graduate Software Engineer


This is a representation of an EDGE article that appeared online and in EDGE Magazine issue 206 in October 2009.

To subscribe to EDGE Magazine please see: http://www.myfavouritemagazines.co.uk/store/displaystore.asp?sid=434

 

© Copyright 2006 - 2010 SN Systems Limited