I am a London based developer with a passion for software engineering.  I am also a rugby player and fan, so expect to see some forced rugby references scattered through-out these pages.




My masters degree in Physics gives me a logic mind, but at the start of my programming career this left me with a lack of theoretical knowledge, and definitely an inability to remember or work out what the seemingly hundreds of TLA’s stood for.  So that was hopefully the only unexplained three letter acronym (TLA) you will see on this site.  I aim to write my blogs assuming as little knowledge as possible, so with any luck if should be as digestible for those starting out on their coding journey as those with plenty more experience than myself.

My career after university started with a stretch as a business analyst in financial services, where I got familiar with designing systems to calculate the risk on equity derivatives and exotics, how (not) to upgrade a department to a new version of Windows.  I completed my level 1 CFA exam in this time.  During my first few years, I quickly realized that programming was a skill I had the potential to be pretty good at.  I’m still relatively very new to programming, but have now got over the impostor syndrome enough to have the confidence to start blogging.  I fell into programming with a passion and haven’t looked back, the only problem is that the more I learn, the more I realize there is to learn!

Taking the shift from object-orientated Java to functional Scala 2 years ago (via an embarrassing midway house of poor Javaism full scala – ‘is that a null???’) was a one way trip for me, and though I hope to avoid being a FP purist I make no promises.  The only promise I can make is that I won’t be taking up Haskell anytime soon.

For the last 2 years I have been learning Scala, Spark and Cassandra so you may see some blogs on these topics.  However, more recently I have been thrown in the deep end working on a greenfield Azure data warehousing project with services built in C# and ExcelDNA (which is a great tool to write Excel add-ins and integration using C#, working in the financial sector means our users love Excel, so why not make them happy if we can write maintainable code for it?).  So expect to see some blogs on these topics in the near future.

Actually, I started this blog due to a lack of documentation in ExcelDNA,  sadly Stack Overflow is limited in this department and stack overflow is frankly the only way I know how to do my job (don’t try and claim you are any different, if you are you may just be one of the cleverest people in the world).

I am very open to feedback or suggestions on anything that I write in these pages, so don’t feel shy to tell me I’m an idiot or there is a better way to do things.  I’m all ears.


  • University of Oxford: Master of Physics MPHYS – 2:1
  • CFA Level 1
  • ITIL Foundation

  • Functional Programming Principles in Scala / Functional Program Design in Scala


  • Nephila Advisors UK, July 2015 – Present: Analyst Developer [Scala, Spark, Cassandra, Tableau | Azure Cloud, C#, ExcelDNA]
  • UBS Investment Bank, September 2014 – July 2015: Analyst Developer, Global Equity Derivatives Core Risk IT [Java, DataSynapse, Oracle]

  • Celer Technologies, Jan 2015 – Jun 2015 (part time): Contractor, developed TWAP/VWAP algorithm for FX products
  • UBS Technology Graduate, Sep 2012 – Sep 2014:  Business Analyst, Global Asset Management IT

  • Lloyds TSB Australia, Christmas 2011:  Research Analyst, Environment & Infrastructure

  • UBS Technology Intern, Summer 2011:  Platform Services, FICC IT

  • UBS Technology Intern, Summer 2010:  Trade Processing, FICC IT


  • As the tagline suggests, I am a rugby player and fan.  I am bored of reading about cooking recipes, cakes, flying ducks and deep-pan pizza factories with multiple choices of cheese, so my code examples will be rugby based.