Product vs. Outsource companies - Which is better and does it make sense to compare?

Product vs. Outsource companies - Which is better and does it make sense to compare?

Vicert
6 min read
audio-thumbnail
Product vs Outsource companies Which is better a
0:00
/9:17

If you've ever hesitated between outsourcing and product companies, you've probably heard some of these phrases:

"In an outsourcing firm, clients will grind you down with short deadlines."

"You will get bored in a product company, the same thing all the time, you will hardly learn anything new."

"Ok, in the outsourcing company there is a faster pace and there is a little tension with clients, but at least it is dynamic, you are constantly learning something new."

"Product companies are better - there you can see the product from start to finish as it develops, you have to perfect your code so you can upgrade later."

Such statements and their variations can be heard in the eternal discussion: What is better? Outsourcing or product companies?

In Serbia, the majority of IT companies are still oriented towards outsourcing for foreign clients, but as the domestic IT scene matures, there are more and more opportunities to work in companies that develop their own products.

And this is where the dilemma arises - where is it better to work? In a product or outsourcing company? What are the advantages and what are the disadvantages? Where do you get better experience, both career-wise and personally?

Together with the Vicert company and members of their delivery team*, we make an overview of the situation and dispel myths.

*The research was conducted anonymously, in the form of a written survey. Statistical data were observed through the prism of the research method of thematic analysis.

Opportunities for learning and development

It is clear that the approach to product development in product and outsourcing companies is different. The challenges are similar, but the circumstances are different.

In a product company, it is important to think about the product from start to finish - to think whether it will be possible to easily add new features that users are looking for to the existing product and whether they will be able to be delivered within a certain time frame (competition is strong, users expect new features in the short term). If things are rushed at the beginning and software architecture is not thought of in time - just maintaining your own product will be more difficult.

Therefore, a good knowledge of the technologies in which you make your product is crucial.

In outsourcing companies, however, the story is a little different - the product is made according to the client's requirements, which can result in situations that are often beyond the developer's control. The pressure is greater because each client is different, the projects are diverse and it is a common misconception that in outsourcing companies it is therefore easier to "catch curves" in terms of code quality. And that's where we come to...

Myth no. 1

Code worked on in product companies is of better quality than code in outsourcing companies.

❌ No.

The quality of the code should be equally good both in the outsourcing and in the product company.

Although the team that worked on the first release of the product may not work on its maintenance, the code must be of the same quality as in the product company. You should think about the colleagues who will maintain it afterward, right?

Myth no. 2

In an outsourcing company, the deadlines for releasing products are shorter.

❌ Actually, no.

In outsourcing companies, the focus is on the release of products according to the deadlines set by the client, but with good management of the client's expectations and good organization - the deadlines do not have to be so short at all.

On the other hand, in companies that develop their own product (especially when it comes to startups), the most important thing is "time to market" - which can often result in much shorter deadlines compared to outsourcing companies.

Myth no. 3

Outsourcing companies work with a larger tech stack.

✅ Yes, outsourcing companies work with a larger and more diverse tech stack.

Projects are more diverse and therefore require the use of different technologies. The Vicert company uses over 50 technologies - 70% of respondents confirm that the tech stack used by the company is desirable. Just some of them include: React.JS and Native, .NET framework, Ruby on Rails, Node.JS, Java which are extremely in demand in the job market.

In order to keep up with client demands, outsourcing companies must constantly upgrade their tech stack and expand their technical knowledge of new technologies.

Myth no. 4

Broader knowledge is acquired in outsourcing companies.

✅ Yes, this is true

As many as 70% of those surveyed confirmed that in outsourcing companies, they acquire broader knowledge in the sense of learning new, different technologies, which mostly change from project to project.

Regarding the amount of learning, 50% of respondents confirm that they learn more in an outsourcing company and that the tasks performed in outsourcing companies are more varied than the tasks in product companies.

Myth no. 5

Outsourcing companies do not work with legacy code.

❌ Well, sometimes it works.

Although there are more frequent situations where you write code from the very beginning - working with legacy code is not excluded.

Sometimes the client will come up with an already finished application that they want to improve, like adding new features. In those situations, you hope that the team that worked before you on the application thought about not creating a large technical debt and left clear instructions on how to proceed. Because there are more situations where it was not thought about, most developers do not like to work with legacy code, so in these situations, you make a decision as a team about what is the best approach.

Also, one of the scenarios of working with legacy code is to work with clients who have been developing their software for years using older, reliable technologies.

Myth no. 6

In an outsourcing company, everything depends on the client.

❌ No.

Similar to the "short deadlines" mentioned above, in an outsourcing firm, not everything has to depend on the client and his requirements.

If you have your own Product Owner, Project Manager or Delivery Manager, a lot depends on the in-house team, because development is done by you. It is up to you to communicate with the client his expectations, what is feasible and what is not and what the final product will be. How you arrive at the final product and how you organize yourself is up to you.

Career and personal development

Here we will deal a little more with "busting myths" since every company is a story for itself and opportunities for growth and development are different everywhere. But we will try to go over some general places that are easy to compare.

Learning new technologies - stress or additional motivation?

As we established in the previous part of the text, the pace of learning is definitely higher in outsourcing firms - is this a good or bad thing?

Even 90% of respondents are satisfied with their knowledge and 60% of them are happy because they are constantly learning. Of those surveyed, 30% of them see learning as an additional motivation for growth and development.

Therefore, if the organization in the company is good and if we are careful not to overburden the employees - learning new technologies can be an additional motivation for the growth and development of employees.

A good organization in the company also means that all employees are satisfied with their current roles 40% of employees expect to continue learning and developing, and 30% expect leadership positions to be waiting for them.

Learning new technologies and developing new skills are not only there to fulfill the wishes of clients, but also for the career and personal development of each employee.

Where is career growth faster?

This is a bit of a delicate question because it all depends on what we mean by career growth? If we look at career growth as acquiring new knowledge, and skills and moving to new positions, the situation is like this:

Of our respondents, 30% believe that working in a product company influenced their careers. The same number of respondents also believe that career growth in outsourcing companies is faster because broader knowledge is acquired.

For beginners, 50% of respondents recommend working in product companies to perfect one technology to begin with, and then expand their knowledge in outsourcing companies.

Can we compare them?

Does it make sense to compare outsourcing and product companies?

Or is it like comparing grandmas and frogs, Marvel and DC, The Office and Parks and Recreation*?

*(Of course Office is better, but you didn't hear that from us, we are completely objective.)

Well, there is no point in comparing them, they have their advantages and disadvantages - and it all depends on what type of person you are and in which direction you want to develop your career.

If you want more:

✔ Experience in product development from start to finish

✔ To work on maintaining and improving your product

✔ To better study the technologies you already work in

The product company is the place for you.

If you are more for:

✔ The possibility of learning new technologies that you are not familiar with

✔ Work on various projects

✔ Exposure to different clients and domains

Then an outsourcing company is a right solution for you.

If you want to accelerate your career growth in an outsourcing company, look at the open positions in Vicert and apply!

DEV

[10:27 AM]