After my bachelors degree I worked as a summer intern in compilers before starting a masters by research in compiler design.
I then spent a few months working in financial services before realising that life in a bank wasn’t for me and that I wanted a more technical job with low-level work close to the hardware.
The middle of a recession is never the best time to graduate and I had my fair share of rejections before I found a job. The most important things are to keep applying and to be proactive to make sure you are as technically capable as possible for the roles you are targeting.
Writing a new driver
My company designs multimedia and communications hardware intellectual property and accompanying software. This is licensed by semiconductor companies to be used in mobile phones and other embedded hardware.
I work in a team that’s writing an OpenCL driver to allow programs that use OpenCL to run on devices that use our hardware. There’s a good mixture of team and individual work. The whole of the driver is written as a team but it is possible to split it into reasonably large, distinct sections.
The day-to-day work therefore is fairly independent but we often discuss what we have been working on and pull together to solve some larger problem if it arises.
My normal hours are 9.30 until 18.00 with an hour for lunch because this is how I prefer to work. The hours are quite flexible as long as you work seven and a half hours each day. Virtually all my work takes place in the office although I am going to a conference in Budapest for two days.
We’ve written the driver from scratch so we’ve had reasonably free reign to determine how we would implement various parts of the specification and it’s this problem solving aspect that I enjoy the most. It is an open-ended problem and I have to figure out the best way to solve it – I can’t just look up an answer.
This can be a double-edged sword and there are definitely times where the problem solving can be the worst part – there is nothing worse than tracking down an obscure memory error. However, even then you get the satisfaction of solving it, even if you have been pulling your hair out over it for a week.
Another aspect I’ve particularly enjoyed has been learning more about graphics hardware, which wasn’t an area that I knew a great deal about before I joined.
Learn more about Imagination Technologies on their website.