Reflections on software development consulting

It’s been about a year and a half since quitting my job to become self-employed and for the most part it’s been swell. Having said that, I think it’s time to cycle back into a team.

Consulting was great because I got to

  • Broaden my non-technical skills. Managing people is a completely different job from building software, but one I enjoyed immensely. What people say and what they actually mean or want are often at conflict, and the ability to help reconcile the two is invaluable.

  • Make design/architecture/development decisions and manage my own projects.

  • Focus on other areas of my life. I am generally smarter, stronger and more well-balanced than ever. Just having the time to think or be bored allowed me to figure out how to lead a more meaningful life, and clarified my goals and priorities.

Joining a team is becoming a priority because

  • My technical skills are stagnating. As the saying goes if you’re the smartest person in the room you’re in the wrong room. Working from home alone I am by default the smartest in the room :(

  • I need access to a different set of challenges that align with my long-term career trajectory. For the most part clients require the same set of services when it comes to web development: new features or bug fixes. While I got to kick-off some fun green-field projects, much of the work remains of the same nature. Unfortunately this means I haven’t had exposure to complex systems at scale, or infrastructure and security management.

  • I haven’t been marketing (nor do I super enjoy it). Luckily all of my work has come through word-of-mouth and referrals, but that’s drying up.