Software Companies — Project-based vs. Product-based

Emad Bin Abid
4 min readMar 9, 2020

--

Image source here

It is often witnessed that fresh graduates (software engineers) are not familiar with different sub-industries and businesses operating under the bigger industry of software development. They tend to generalise the giant software development industry with a single term called “software housing”. There lies a significant difference among different domains operating under this industry. This article will discuss two major businesses under this umbrella; namely project industry and product industry.

Project-based Software Companies

Think of a service-oriented approach and how certain processes come up and amalgamate together to deliver an efficient and user-focused service. Project-based software companies follow a service-oriented approach. At one time, the company develops, maintains and delivers not just one software but multiple projects. These types of companies are more client-focused and have to undertake each and every bit of clients’ requirements as per their expectations, yet maintaining and overcoming the technical challenges that are due.

You might, at first, think and be curious about the management structure these types project-based software companies follow. This should be clearly noted that due to its service-oriented nature, it should not drive you to the conclusion that it must be following Project Organisational Structure. This is entirely dependent upon company’s vision and mission as to how they wish to operate given the model of business they aspire to carry forward in the market.

It is least likely that a project-based software company follows a similar tech stack for each project. They usually have a variety of expertise and technical resources to cover the maximum market share and deliver diverse applications. Hence, in this kind of a software company you are most likely to explore different tech stacks based on the needs, requirements and expertise.

Working for companies which are service-oriented has its own charm and benefits. For a developer who likes to explore different areas of application development along with a chance to work on different technologies, project-based companies probably are a good shot. Having said that, such companies might not be suitable for developers who wish to gain domain knowledge and expertise along with the flavours of software development. For these kinds of developers, product-based companies might be a nice fit.

Product-based Software Companies

Before getting into what actually product-based software companies are and how they operate, let’s dive a bit into “domain-oriented” approach. What is a domain? As per the dictionary definition, a domain is ‘an area of territory owned or controlled by a particular ruler or government.’ Same definition applies to businesses with a bit of formally defined executable. A domain-oriented approach is the one where an entity/business focuses on a specific market section and caters to the needs and requirements of users residing within that particular boundary.

A product-based software company follows a domain-oriented approach and the primary focus of the organisation is to intervene within the market segments in the best possible manner. The requirements here are not directly enforced by the client but they are emerged and documented as per the changing ecosystem of that particular domain.

Uggghhh!! Too much formal and general definitions.. Let’s simplify this and understand it using real world examples and case studies. Klarna is a Swedish bank which provides online financial solutions. Klarna can be referred to as a product-based software company because it is just targeting a single market need of ‘financial solutions’ and develops solutions specific to financial inclusion. Uber is another example of product-based software company which develops and builds solutions in the domain of ride-hailing.

Where in a project-based company you can get exposed to multiple tech stacks; generally the products are built using a specific set of technologies. The fact that products follow a consistent tech stack is not entirely true and depends upon the kind of software architecture the product follows. If it is a microservice-based architecture or something along the same lines, the product can be scaled and developed using multiple set of technology stacks as well.

If you are a developer who wishes to settle in a specific domain and want to offer services only for that kind of businesses, product-based software companies are an ideal fit for you. Here you will get extra-ordinary flavours and senses of how to deal with bigger code bases while developing, maintaining and delivering the product.

Which is Better?

Both, project-based and product-based, industries have their own thrill, advantages and growth opportunities. One cannot generally comment on the argument that which of two is better. It is entirely dependent on the nature of work a company does and the career interests of a developer.

Happy exploring!

--

--

Emad Bin Abid
Emad Bin Abid

Written by Emad Bin Abid

Full-Stack Software Engineer | Blockchain Developer | linkedin.com/in/emadbinabid

No responses yet