In Peter Schaffer’s play “Amadeus”, Mozart is portrayed as a brat-genius who, much to the chagrin of his rival Salieri, could write beautifully constructed scores without any corrections or amendments whatsoever; a flow of perfect music from brain to paper.
In software engineering, we don’t have any Mozart characters who can write perfect, bug-free code. We do have a few that fall into the brat-genius category, but take it from me – their code is very far from bug-free!
Therefore you can distil software engineering down to two fundamental activities – writing new code and fixing existing code. There’s a whole bunch of other stuff that goes on but ultimately that other stuff is all related to one of these two fundamental activities.
Now, some people make the mistake of thinking that bug fixing is somehow subordinate to writing new code. Nothing could be further from the truth in our world!
The Oracle Systems division builds SPARC servers, SPARC SuperClusters and ZFS storage appliances running Solaris. These are typically used by large enterprise customers in their datacentres where they are part of a mission critical infrastructure.
When things go wrong, either due to “pilot error” or hitting a bug, the impact to the customer’s business can be severe. For example, if a bank can’t process payments or an online retailer goes off the air, everyone loses their minds!
That’s where we come in.
Oracle RPE, Systems is the organisation within the Systems division that deals with those “Apollo 13” moments. When things go horribly wrong and the usual support channels are stumped, people turn to us.
Our engineers have to be diagnosis experts and detectives. They have to investigate the pathology of the problem, gather whatever relevant data they need and figure out what’s gone wrong within these complex systems.
Sometimes this can be done from behind a desk, sometimes it means getting on a plane and going on-site to investigate. Either way, the engineer needs to have a solid understanding of the system and how all its components fit together. They need to be able to read assembler as well as higher level code. They need to be able to apply rational diagnosis techniques so that they can find the root cause hidden within the symptoms.
While this is going on, we also need to get the affected system back into production as soon as possible, so that we can minimise the impact to the customer. It’s as if an engineer has to be one part detective, one part field surgeon and one part code guru.
Once the root cause has been identified, then if it turns out to be a software defect, the next task is to engineer a solution and get that fix integrated into the software.
Don’t underestimate the challenge of doing this. Most of our software has been around for a long time, so it’s fair to say that most of the “easy” bugs have been found and fixed long ago. It’s far more likely that you would be diagnosing an edge-case; uncovering a bug that only manifests itself when a very particular confluence of circumstances occurs.
This also means that fixing it can require some careful engineering because one has to be very careful any proposed fix doesn’t accidentally break some other bit of code elsewhere.
Dealing with all these challenges means that our engineers are among the most respected experts within the company.
If you think you’ve got what it takes to become one of our experts, then please do talk to us. We welcome applications from new or recent graduates who have a real interest in diagnosing and engineering at the operating system level. New hires in our organisation get thrown in at the deep end. You will need excellent learning agility so that you can get up a steep learning curve. You will also need to enjoy the challenge of problem solving and have a natural aptitude for rational, scientific problem analysis.
We rarely get the opportunity to hire new graduates as most of our engineers have gained their expertise after spending many years in other roles. However, if you would like to join our team, it is still worth talking to us because we will give an opportunity to exceptional graduate candidates whenever we can.
On November 3rd, we will be holding an 11am session and we’ll be available at the Careers Fair 12pm-3pm so please do come and see us. Feel free to drop off your CV with us because we can always pre-interview suitable candidates so that when we get an opportunity, we can move quickly.
A quick note on writing CV’s…
Don’t just put a bland chronological list on a bit of paper. Start with an opening statement about you and why you are who we’ve been looking for. Try to be interesting and relevant! Give us a reason to single out your CV from the pile.
– Oracle will be attending the Careers fair on Tuesday 3rd November, so pop by and say hello!