Collaborate at the Contractual Boundaries

A team of engineers working together on the same project should divide up their work at the contractual boundaries. This avoids rework because choosing an arbitrary point to split up the work can be difficult to specify and more susceptible to breaking changes introduced by the other team members.

A simple example is dividing work up by frontend and backend where the API serves as a contractual boundary. It’s simple to understand which work each person is responsible for and results in less rework. (It’s still important to specify the API contact, but you can be more hand-wavy about the rest).

  • Project Management Is Overlooked and Important

    Being able to lead a project that coordinate multiple people, teams, and organizations is critical for career development. At a certain point, the limiting factor in one’s career is not skill, but the ability to do project management sufficiently well.