I've been writing software professionally for more than two decades. In April I will have spent 12 of those years at CloudBees working on CloudBees Accelerator, first as a regular software engineer and now as chief architect. In Silicon Valley people sometimes look at me in shock — or maybe pity — when they hear about the length of my tenure here. I don't mind though, because I have good reasons to stick around as long as I have. Accelerator is an exciting, challenging product to develop: distributed systems, high-performance computing, parallel programming, kernel development — we've got it all, and I work on every part of it.
But the allure goes way beyond simply "D00DZ WE WRITE THE C00L3ST C0D3Z" (although we totally do). I love working on Accelerator because Accelerator really makes a difference in the lives of my fellow programmers . Maybe it sounds like I'm putting on airs, but check out this video of CloudBees Accelerator in action, reducing the Quake 3 build from over 2 minutes to about 5 seconds :
Maybe you've heard of the concept of (http://en.wikipedia.org/wiki/Flow(psychology)) ? You might call it "being in the zone" or "firing on all cylinders". Regardless of the name, you can surely recognize it by description: it's that state of mind where you are completely focused on the task at hand. Everything else drops away — there's just you and the code. Every thing you write is elegant, efficient, _beautiful . For me, I know I'm happiest and most productive when I'm in that state, and I bet that's true for a lot of you too. Getting into and staying in flow is hard though. You can do a lot of things to minimize interruptions — turn off your phone, your IM, your email, etc. But some things, like compiling the code, are just the nature of the beast.
So imagine you're in that flow state, and you want to test your code. You flip from your editor to the terminal and spin a build. With GNU make, you wait two. agonizing. minutes. (worst case, sure, but still...) Let's be honest though, you wouldn't just sit there watching that compile run. You'd flip to your email, maybe go refresh your coffee in the breakroom. Of course while you're there who do you bump into but your buddy from marketing, and he wants to know if you're free for a pick-up game of basketball later. Out comes the smart phone so you can check your calendar — whoops, you're not free until 6:00, if they can wait for you great, otherwise you'll just catch up with them next week. 15 minutes later you're back at your desk ready to get back to work. Of course now much of the context that you had loaded into short-term storage in your brain has slipped away, so you won't immediately get back into flow when you sit down. It will take, on average, 25 minutes to return to a flow state after an interruption . Looking back at the end of the day, you wonder where your time has gone and why you haven't finished as much as you'd hoped you would.
Suppose instead that your build was only 5 seconds long. You flip from your editor to the terminal and spin a build. May as well wait, it's only 5 seconds. Quick check of the unit tests and you're back to your editor. No context switch . You stay in flow longer, which means you're happier and more productive. That leads to a variety of secondary benefits: product quality goes up and you hit deadlines more regularly , which of course goes back into the positive feedback loop that makes you happier at your job. By the way — I use Accelerator to build Accelerator, so I know firsthand the effect that faster builds has on development workflows.
That's what I really love about my job: every day, developers all over the world are enjoying their work more , and writing more and better code, thanks to CloudBees Accelerator, the tool I created. Can you say the same about your product?
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.