If you are into tech, then you must have heard this debate between product-based companies and project-based companies.
Even though on the surface both are software companies but they have completely different DNA. They have a different culture and they encourage different types of habits. Members of a? product company think DIFFERENTLY than members of a service-based company.
Here are the biggest differences between them
All the thinking is outsourced/done by the client
In a service company,?Client is expected to come up with the feature set. The client is expected to understand the users. The client is expected to think about the UX.? The development starts after the specifications are finalized. This is a passive way of developing software. The developers are not required to think or understand the product. They are simply expected to follow the specs. It is very difficult to get a sense of ownership
Insulation from technical debt
In the service industry, the cost of technical debt is borne by the client and in case the company is very skilled in negotiation, you can even get paid to fix the bugs which you introduced. Since there is no risk of crushing under technical debt, there is? no real incentive to leaning proper engineering practice.
While in product company the cost of technical debt is very real( we have faced it ourselves). Since the cost of technical debt is borne by the company, here is a real incentive to learn and follow best engineering practices.
Insulation from the Project Failure risk
Projects fail, Products fail. This is the reality. But if you are a project company, then the majority of the risk is borne by the client. The project company will get paid no matter the client succeeds or not. The worst that will happen is that company might have to write off the last installment.
While in a product company, failure of a product can often result in shutting down of the company.
Focus on Sign-Offs
In a service company the money is made when there is a sign-off. The product is secondary. If you manage to get a sign-off while delivering a shitty product, it will count as a win.
In product company the whole system is geared towards making something which the user will use or pay for. There is no authority to do a sign-off. Usage and engagement is the only metric which matters.
Conclusion
There a lot of other differences, but in my opinion, these are the most significant.
I have observed that developers coming from project company background have a hard time in a product company. And it is not because they lack talent or knowledge, but it is because they have a different set of habits which they develop while in service-based company.
So If you are a developer then understanding these differences can be essential in deciding about which path to follow.