Programming is a team sport

Steven Koh
Government Digital Services, Singapore
2 min readJan 28, 2016

After spending a lot of time thinking about team dynamics and building high performing teams, I have decided to publish a series of posts to put my thoughts together on what works, what doesn’t work in the context of building high performing teams for software development.

I have seen programming as a solo activity in situations such as programming as a hobby, programming for individual’s assignments in college and programming as a work profession, and it is the last one that raises eyebrows.

There are two common reasons for this:

  1. Ignorance of software development as a social activity, already well explained in Jeff’s blog

Working alone is a temptation for many desperate software developers who feel trapped, surrounded by incompetence and mismanagement in the desert of the real. Working alone means complete control over a software project, wielding ultimate power over every decision. But working on a software project all by yourself, instead of being empowering, is paradoxically debilitating. It’s a shifting mirage that offers the tantalizing promise of relief, while somehow leaving you thirstier and weaker than you started

2. Lack of organizational’s support. Some organizations do not invest in their programmers’ profession, as long as software is delivered. They do not invest in software engineering tools like version control or software engineering practices like continuous integration, code review and pair-programming. Without these tools and practices, it is more convenient for the organization to assign a lone programmer per project. Easier to manage schedule, clear responsibility, no merge conflict, no integration hell, etc…

While this might be easy for the organization, solo programming is a bad deal for the developer because the developer will have:

  • No chance to learn tips and techniques from peers
  • No technical accountability which leads to poor discipline and bad technical habits
  • No one to talk to. Motivation is harder
  • No vacation because there is no one to back you up
  • Under-developed social skills

If you currently work as a solo programmer and you regard programming as a profession, share this post with your colleagues.

And if you are already working in a development team, lucky you! :)

Updates — May 2016

  • Interesting thoughts on why people don’t pair
  • If you enjoyed this piece, you might like to learn about our interview assessment because we are hiring! :)

--

--

Steven Koh
Government Digital Services, Singapore

GDS Director@GovTech | Pragmatic optimist | Build high-performing teams, delightful products, and fun-loving communities | #techforpublicgood