When people ask me, ‘why Container Solutions?’, I always give the same one word answer: joy. When I was a kid I had a Commodore 64. It had a version of BASIC on it that I used to mess about with. I also played games on the C64. In both these cases feedback was quick. There are loads of reasons why this quick feedback is important, ranging from getting into flow to not having too much code in progress lying about. It was only when this quick feedback was taken away from me, in about 2004, that I realised my joy had been taken away, too. I started to dislike programming.
So what happened? In the early noughties I graduated from university and started coding professionally. A lot of this work was on web-applications and we used things like EJBs and Websphere. My job, therefore, was extended to include configuration management. This was good and bad. It was good because there was loads of scope for automation, which meant I got to program more. It was bad because the configuration nightmare never ended, no matter how much I could automate there was always some peculiar system that I couldn’t get access to and certainly couldn’t change. But it was bad for a much larger reason: it depressed me. I may have been at work all day programming, which usually made me happy, but the work I did was automating the build. Which meant I wasn’t actually doing what, as an engineer, I was supposed to be doing, namely, fixing problems for someone who cares.
It was in about 2004/2005 that I turned my attentions to returning the joy back to coding for myself and anyone else who I worked with. This is what led me to becoming a bit of a dictator in regards to our set up, our IDEs and way we treated each other. If we wasted time on configuring an IDE, we weren’t doing something valuable. If we wasted our time clawing each other’s eyeballs out, we weren’t doing something valuable. Now this no tolerance approach of mine was good training for my later work as a CTO and nowadays as the CEO of Container Solution. But… but. None of it was enough to return coding on my laptop to the joy I had coding on the Commodore 64. That would require a technological advance that didn’t come my way until January of this year.
Steve Case, who got a lot of people online before the web was even invented, took one computer science class at university because, ‘this was the punch-card era and you’d write a program and then have to wait hours to get the results’. But the thing is, years and years after punch-cards became obsolete, we were also waiting hours, sometimes days, to get the results of our latest efforts. And actually, right now in 2015, some of my customers have to wait a week to see the results of their efforts because their infrastructure has been outsourced to a ‘third-party vendor’ – i.e. a thief.
So what happened in January? We set up Mesos, Jenkins, Marathon and GitLab on Google’s Compute Engine. My interaction with the build now ends with ‘git push origin master’. Once I hit enter after typing that command, Jenkins, Docker, Marathon and Mesos all collaborate to take what I’ve done and put it in production. The whole thing takes less than a minute.
I don’t care what anyone tells me about their builds, there is nothing as smooth as what we have at Container Solutions. It is so smooth that I’ve actually started coding again and in a fit of enthusiasm invited people to my office to see how this magic works. What joy. I actually found myself smiling again.