The first time I met Graeme, I was terrified. I was working on a large online project, and the client decided we needed some help to ensure it was going to perform well when we threw thousands of visitors at it. Graeme Mathieson was the obvious choice.
I already felt a little out of my depth, so the idea of bringing in a true expert in the field both reassured and horrified me. I was sure to be found out as the fraud I felt I was, exposed as nothing but a charlatan and a fake.
Of course, Graeme being Graeme, nothing of the sort happened. He did indeed find problems with the project, but he took the time to patiently review the code, pointing out how I could improve it, teaching me how to solve the performance issues that would have brought us down about a week after launch.
Two years later, we found ourselves working together at FreeAgent, and he continued to teach and inspire me.
I slowly discovered that he, too, always felt like a fraud. He lived in fear that everyone was just a moment from realising that he had no idea what he was talking about. This was objectively nonsense, of course: he was usually the smartest person in the room, even if he could never let himself believe it.
That's not to say working with him – or learning from him – was free from frustrations. Fear or being labelled a fraud or not, when Graeme saw something as being "wrong", he was as stubborn as a mule. Graeme had a habit of suggesting things that seemed like overkill, or unlikely to be needed, or just plain foolish. You'd argue him down (at length) but inevitably, three months later, you'd find yourself cursing him for being right, and yourself for not listening.
Graeme was always a great teacher because he was always a hungry student. He could never keep new knowledge to himself for long. While we worked together, we continually traded new discoveries. Books and screencasts by Robert "Uncle Bob" Martin, for example, or epiphanies about software design, accounting, testing, social interaction. You name it, Graeme could geek out about it.
After Graeme left FreeAgent, we kept in touch. I'm usually terrible at keeping in touch with people, but with Graeme it somehow never seemed any trouble. I never worried what he would think. Graeme had become one of the few people I no longer felt like a fraud in front of.
As his illness became harder to ignore, we switched from learning about code to learning about the mind. Ever the student, Graeme was fascinated by his illness, and we both tried to apply the same techniques we had honed to this new problem: how could we better describe what he was feeling, what he was thinking, what he was doing? Could we find the language to understand it? Could we solve it? Or was this to be one of those horrible, ugly problems that resists a clean, simple solution?
Graeme fought his illness hard, and it saddens me how many people will misunderstand the depth of that truth. I once heard that those who suffer from mental illnesses fight a battle every single day. The days they triumph, nobody notices. We only really notice on the days they lose.
Graeme lost the last battle with his illness, but it was one of a handful of losses amid countless victories. If I described his illness as a part of him having malfunctioned, a part that had become unable to stop till he was dead, I could be describing cancer. I could be describing diabetes. He fought against that malfunctioning part of his mind every single day, and it must have been exhausting.
So a part of me is relieved that his relentless, daily struggle is something he no longer has to endure.
But the larger, selfish part of me is sad that Graeme is gone. He was a friend to me, and I to him, and I miss my friend terribly.