It’s nearly exactly three years since I started at LShift. I’d like to take a moment and look back at what I’ve done.
One of the reasons I applied at LShift was the chance to break out of a niche. Up until I started, I had pretty much entirely been paid to write in Delphi (and hence worked entirely in a Windows environment). A variety of things, mind you – database stuff, UI stuff, network stack – but pretty much all Delphi. In particular I wanted to gain some experience developing in a Linux environment. Irony of ironies, the very first project I worked on… was a C# application!
After that, having just learned to swim in C#, I was thrown once more into the deep end. This time, I had to learn Ruby and Scala, writing and supporting a custom code generator that produced AMQP and HTTP network bindings for services, data objects and the like from an abstract data model. After a while I took lead of the project. And then I had to use Java, after a 10 year break. (Last time I’d touched Java, it was version 1.0.6.)
All good things come to an end, so when I stopped generating code I started with more Ruby. Only now I was leading a project from the start: RabbitMQ Bigwig.
So in addition to learning C#, Ruby, Scala, Java and Clojure, I’ve learnt to use Maven, NAnt, Bundle, Ansible, Graphite, Icinga and a myriad other tools, frameworks and libraries. No wonder I feel like I’ve been strapped to a knowledge rocket!