
“Crafting a great piece of code is like writing a catchy guitar riff,” says Cranmore’s product architect Steven Graham.
Not only is it a great line to kick off this latest edition of Source Code, it also illustrates the detached wisdom with which Steven views software development.
He was a Spectrum-toting kid of the 80s and a youth of the 90s; skateboards and punk bands and Saturdays loitering in army surplus shops.
A friend explained it was cheaper to buy computers in parts and build them yourself. Before long his musical ambitions were sidelined by his small business fixing hardware.
“A salesman selling Microsoft services came in one day saying, ‘don’t worry about programming. Devs are anti-social people.’ and I took him at his word,” he says.
But it bothered him that he didn’t understand the code running the computers he built and fixed and he couldn’t shake it.
“I couldn’t come up with problems to learn alone, so I used an old Google messaging board,” he says. “We’d swap examples and that’s really where I developed my problem-solving skills.”
Soon those skills found him in the halls of a large corporate. Then, as soon as the pathway to upper management opened, Steven knew it was time to move on.
He joined Cranmore some seven years ago after finding kinship with a culture of problem-solving, of serious dev work.
Today, the father to a music-obsessed son is the go-to guy, the mentor that’s seen it all. The one to whom his colleagues attribute lessons learned and principles to code by.
“That’s a treasure to me,” he says when we explain his advice is quoted in almost all other Source Code interviews.
“I enjoy being able to see people progress,” he says. “When you’ve been down the path yourself… now you get to see young devs grow and develop their own confidence. That’s important to me.”
One of the concepts Steven tries to instil is that finding solutions is a creative process.
“My view of software has changed over time,” he says in a philosophical tone. “I don’t think of it as coding anymore, I think of it as solving problems. The code, the language – these are just tools.
“So, think less about the tech and more about what you’re trying to achieve.”
Steven has passed on many such truths to his Cranmore colleagues, and we bid him to share his most prized advice.
“The thing I probably say the most is that the answer, most often, is to simplify,” he says. “It’s just as true in life as in programming.
“The most precise and simplest way is most often the one that won’t break.”
He adds: “You move through your career learning new skills, then you start writing more complicated ideas, but then, eventually, you realise complicated isn’t better. “And despite all the knowledge you have and languages you know… it’s funny, you start simplifying again.”