Why I Love ElectricAccelerator — and You Should Too

I’ve been writing software professionally for more than two decades. In April I will have spent 12 of those years at Electric Cloud working on ElectricAccelerator, 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 ElectricAccelerator in action, reducing the Quake 3 build from over 2 minutes to about 5 seconds:

[youtube http://www.youtube.com/watch?v=N-vGFI92sts?rel=0&w=480&h=360]

Maybe you’ve heard of the concept of flow? 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 ElectricAccelerator, the tool I created. Can you say the same about your product?



ElectricAccelerator-fb-01
If you’re not already using ElectricAccelerator, you should download ElectricAccelerator Developer Edition and give it a try!
Follow me

Eric Melski

Eric Melski was part of the team that founded Electric Cloud and is now Chief Architect. Before Electric Cloud, he was a Software Engineer at Scriptics, Inc. and Interwoven. He holds a BS in Computer Science from the University of Wisconsin. Eric also writes about software development at http://blog.melski.net/.
Follow me

Share this:

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe

Subscribe via RSS
Click here to subscribe to the Electric Cloud Blog via RSS

Subscribe to Blog via Email
Enter your email address to subscribe to this blog and receive notifications of new posts by email.