
We’ve all met those people for whom difficult things just seem… easy.
And it’s infuriating.
Take James Galbraith, the subject of this edition of Source Code. Not only is he a prodigious developer, he’s also a multi-instrumentalist (drums, guitar, piano, tin whistle – all self-taught). He seems to be on the winning team of every Cranmore quiz or team-building day. He pulled off the fastest lap on our go-karting trip, and, of course, he won overall.
For crying out loud, the man has been invited to Porto to present his remarkable Master’s dissertation on detecting duplication in GitHub contributions – a feat rare among those not engaged in a PhD.
And yes, he got a First at Queen’s.
So it is with some relief that James tells us it doesn’t come as easy as it seems.
“I started in the top class at school. But then it didn’t go too well – I wasn’t pushing very hard,” he says.
“There was lots of FIFA and Grand Theft Auto. So, I knew I had more in the tank.”
Despite working “quite hard” for his A-Levels, it wasn’t until university that a true turning point came.
“I thought I would see what would happen if I knuckled down. I remember someone saying, ‘It’s just two years of your life, so you won’t have lost much’.”
From that point, James did knuckle down, and then some.
The mistake people make is that once you know what clean code looks like you can just start writing code like that.
James Galbraith
During this period, he joined Cranmore for his placement year, returning during the break between his Bachelor’s and Master’s.
“I had a few comebacks,” he says. “After the placement I had the summer to spare. I knew I liked it here, so I asked if I could go back to see what I could achieve in three months.
“I wanted to push myself again and refresh what I had learnt.”
What started as a two-year push culminates next month with his trip to the ENASE 2025 conference in Portugal.
It’s kind of a big deal.
There, James and his Master’s supervisor Des Greerwill be presenting James’ dissertation, which could have profound implications for duplicated issues and pull requests in GitHub.
[We’ll post a link when the work is published in the coming weeks. Make sure you follow Cranmore to see it.]
In the meantime, James is pushing on, driving a range of fascinating initiatives at Cranmore, such as an IoT solution for an Ending Violence Against Women and Girls project.
So, we ask him, does he think those two years of ‘knuckling down’ were worth it?
“Yeah,” he says, and it reminds him of a lesson he took from the book Clean Code by Robert Martin; AKA, ‘Uncle Bob’.
“I remember there’s a thing in Uncle Bob’s book,” he says. “It explains you’ve got to learn that it takes practice to write clean code.
“The mistake people make is that once you know what clean code looks like you can just start writing like code like that.
“But that’s not the case.
“It takes practice. It doesn’t just magically happen.
“You have to work on it. Only then, after you’ve put in the work, does it become easy.”