One Year In
It has been exactly one year since moving from a consulting role into a product team lead role. While the titles are effectively the same, the roles are drastically different. In this post, I am going to highlight some of the main differences I have seen between the two types of software development positions.
Immediately, when comparing the roles I think of the sales aspect. Many times in consulting we would be focused on the value being delivered. Generally, this was measured in new features, bug fixes, and other functionality deployed to the production environment. We focused heavily on how the work was sliced, ideally splitting requirements into small enough changes to software that would demonstrate the needs of the customer without getting caught in the details of all the requirements. The goal was to show value and the skills of the team, to keep the customer when contract renewal time comes up. Another desired outcome is to expand the account to a larger team or other service. Looking at every iteration of work and conversation as a small deposit into the next sales conversation. In the instance the unit of work was not well received, it was a small withdrawal from the account.
On a product team, the mentality is quite different. Not many are thinking of the sale of the product. There is more focus on how the customer will accept the product, and whether or not what we have meets the needs of the customer. When interacting with customers, there is less of the "make it or break it" type of feeling when talking about features and roadmaps. There is more conversation around what order of feature delivery gets the product to the next level to target the next market of prospects.
The product customers have a different feeling as well. In both cases, the customers are there to help make their lives easier. In the consulting domain, the customer hired you to take a burden off of their plate. Where in a product world, the customer is using your tool. Both engagements are exchanging something of value for access to your skillset. For the customers I have been working with on a product team, the conversations revolve around what is mutually beneficial. Where consulting is a service business, you are there to serve the needs of the customer in exchange for some insights you may be able to use elsewhere. However, there is no guarantee of that.
Ownership is a huge difference. While building a product, you are in it for the long term. While you may support multiple products at one time, shifting from one to the next all the products are yours to own and maintain. This means maintaining quality, performance, and scalability. In consulting, tomorrow may be the last day of the engagement. The main focus is keeping the contract moving forward. This is not to say it's acceptable to deliver garbage solutions to the customer, there is less stress on the quality and scaling. Delivery is of the utmost importance.
There are many more subtle differences between consulting and product teams. For now, I am going to leave that to another post. If you are looking to move from one domain to the other and have questions. Please, reach out to me on Linkedin. I would love to have a more in-depth discussion.