Timehop reminded me today that exactly one year ago I somewhat pretentiously wrote a post called 12 Steps to Writing Better Web Code. Quite a bit has changed since then. LayerVault, technically, had zero employees. (Both Allan and I still had full time jobs!) Now we are three.
As an exercise, I figured now would be a good time to review these steps and do an audit of ourselves.
The 12 steps are:
Let’s see how we’re doing, one year later.
Yes. We are still only deploying from master.
Yes. It is run by each new employee or each time the employee gets a new machine. It gets updated each time it is run.
So far, we’re batting 1.000 on this one. It will be a challenge over the next year or two as we inevitably hire more non-technical roles.
For the most part, yes. We have run into a few issues with this. In the original post, I was lauding Cucumber for it’s flexibility and awesomeness. Cucumber is still awesome, but it is slow. Our test suite takes about 45 minutes to run (yuck).
We’ve looked into things like Travis and CircleCI. They are both a bit short in the tooth, but they should mature soon enough and remove the necessity of us having to manually run tests from the command line.
More than yes. We do it with zero commands. One of the first things Ryan built was Divergence. It allows you to switch to a remote branch by merely changing the subdomain. It’s awesome.
Somewhat. We actively remove some deprecated code, but we could be doing a much better job. It’s clear that this one is actually more important that I initially thought it to be. Once you have several levels of “deprecatedness,” pulling out code becomes much more difficult. The lesson: remove early, remove often.
Yes. We <3 GitHub Issues.
We’ve also discovered a great little command in hub that turns any issue into a Pull Request:
hub pull-request -i 1001 -b layervault:master -h layervault:1001_bugfix
Yes. We only drop into Xcode when we have to.
We’ve got a good balance between naval-gazing and shipping code. The ratio should be about 1 to 100.
Which reminds me, I need to end this post and get back to work.
Discussion is on Hacker News.