On most projects at Atomic Object, teams have at least two developers, allowing for pairing, code reviews, and other common practices we follow. On occasion, though, a smaller project needs only one developer. I’ve spent a portion of my current project working on my own and have found a few practices that make solo development easier.
Time management is always important when developing, but it’s even more so when developing solo. This is simple when features are straightforward, but less so when features require exploration and follow-up communication with clients or third parties.
The best practice I’ve found for this is to more strictly time-box exploratory work. When that time is up, document your findings, follow up with the relevant parties, and move on to the next feature. I like to keep a small list of things I’ve put on the back burner so that I can easily revisit them without being blocked on communication.
Code reviews are an important part of development, in part because they give someone the chance to look at code with a fresh set of eyes. I’ve found that when working solo, if I put in a PR and look at it the next day, I’m able to look more critically at the code I’ve written. Formalizing this process also keeps me in the mindset of the typical development cycle.
Reach Out When Needed
There are times when problems are very tricky or you’re dealing with technology that’s completely new to you. These situations make solo development more challenging, as time blocked on research and exploration is time in which feature work drops to 0%.
Thankfully, Atomic has a ton of smart people with a wide range of knowledge. When blocked, I’ve sometimes pulled in developers for an hour or two to help me think through challenges, and the boost to my productivity has been huge. There is a balance to be struck here, though. Relying too heavily on people outside your team can be costly to the client, but not reaching out can prolong a task that may be solved much quicker with a second set of eyes.
What are your experiences with solo development? I’d love to hear about them.