Early Days

This will date me, but my first programming experiences were working through Donald Alcock’s Illustrating Basic with my Dad! Amazingly, Dad bought a Transam Tuscan so that we could learn together.

At upper school, much of my programming involved sending off hand-written code, to be typed up and run on some batch-processing system. I was lucky, though, to be just the right age to join the lunchtime queue to use my school’s first BBC Micro.

At University, I was able to keep up the programming interest in my fourth year, when I did a computational chemistry project in Professor Graham Richards’ lab, for the Part II of my chemistry degree. Practical chemistry never was my strong point, so this Fortran scientific programming experience was valuable.

From there, in 1987 I got a job as a junior programmer at Cambridge Crystallographic Data Centre (CCDC). Apart from a brief 6-month stint in sales at Oxford Molecular in early 1991, I was a developer at CCDC until June 2019.

Former Working life

Until June 2019, I was a Principal Scientific Software Engineer at CCDC.

Recent projects included:

CCDC’s continued adoption of Agile software development practices played a significant part in our ability to deliver CSD-Xpedite. (I say “continued adoption” of Agile, as I don’t believe it’s a state ever achieved, but more a continuous journey of improvement.)

When I was programming there, it was mainly in C++ and Qt.

With the replacement of the old “ASER database format” in our releases in late 2018, we archived more than three decades worth of FORTRAN 77 code, so that’s a skill that I no longer use.

I remain very proud of the CCDC’s Mercury crystal structure visualisation program. I was the original, and then lead, developer of Mercury from 1999 until around 2010. In December 2018 I returned to working on Mercury.

Scripting and automation

I’m passionate about using computers to save time. This means I contributed to CCDC’s software build and version control systems for decades. In 2009 and 2010 I lead major efforts to streamline their release processes, which had required many time-consuming manual steps.

Then in 2018 and 2019 I lead another project to significantly speed up the release cycle, culminating in my giving a talk Escaping 5 decades of monolithic annual releases at PIPELINE 2018.


In 2019 I set up Clare Macrae Consulting Ltd, and am available for consulting and training in all aspects of working with legacy and un-tested code.


I love folk music, and am always on the lookout for good music, both locally and further afield.

Between 1995 and 2010, I was very involved in Cambridge Cycling Campaign, including being coordinator for many years.

For years, I was a keen table tennis player in local leagues, representing Cambridgeshire, and eventually playing in Grand Prix tournaments and making it to the UK national ranking list.

I’m keen to support local educational computing projects, especially ones involving the Raspberry Pi.

Scientific Publications