Tight Dev Loops
Development of software is a loopy process.
- First, you type something into an editor
- Then, a bunch of intermediate steps (e.g. compiling, configuring, linking, execution)
- Finally, you inspect the output of the code’s execution to determine if it works
- Then, you loop back to the first step to fix bugs or continue further development
It is vital to have a tight dev loop. You want to spend nearly all your time in step 1. The rest of the loop should be quick.
You achieve tight dev loops by spending time upfront to remove viscosity in the steps 2 and 3.
Try to automate as much of it as you can. Try to reconfigure things so that a compilation that takes 45 seconds can be done in 5 seconds. The accumulation of these seconds adds up quickly.
More importantly, tight dev loops keep developers from distracting themselves during development iterations. Productivity is maximized.
Matt Might is my favorite blogger on the topic of productivity enhancing tips, for example here, here, here, and here.
This post was inspired because I worked alongside my engineers today during a crunch time end of Q3 development push. I have a tight dev loop that I’m working on in lock step with my team. It’s awesome to live in a tight dev loop.
Use emacs or vim. Know the keyboard shortcuts to do everything on your computer. Avoid the mouse.
If you’re a developer, what do you do to keep tight dev loops? If you’re a manager, what do you do to help developers be more productive?
From the conversation
Comments preserved from the original post.
melonakos
Here’s a nice comment by Peter Hamilton on using Guard: https://plus.google.com/101318077591560389105/posts/aPkzGZQtqFP