JavaRush /Java Blog /Random EN /I work in an outsourcing IT company: developers share the...

I work in an outsourcing IT company: developers share their experience

Published in the Random EN group
We continue a special series of materials in which programmers who write in Java talk about different types of IT companies. We hope that the experience of our heroes will help JavaRush students and juniors understand what kind of company they would like to work for. In this text, Sasha Gorbov, Nastya Klimenko and Roma Beskrovny share their experience of working in outsourcing companies: what are the advantages and disadvantages, is it worth it for a junior to join a company of this type. I work in an outsourcing IT company: developers share their experience - 1I started my career at a grocery company in Lugansk and worked there for several years. For a long time he worked in outsourcing companies, including Luxoft. Now they work for the outstaff company Zoolatech. In outsourcing, I worked on several projects: I made software for a Swiss bank, software for an advertising agency in the USA, and so on.

I will highlight the following advantages of an outsourcing company:

  • Good salary. Often, management overestimates the developer in terms of salary in order to sell him to the client at a higher price. He can be sold as a middle player, but in fact he does not yet have middle skills. For a developer, this is naturally a plus.
  • Fast learning. Thanks to different tasks and projects, an outsourcing company can quickly learn new technologies. Often a company specifically hires consultants who tell them how to write code correctly. For beginner developers this may be useful. Also, due to the fact that in outsourcing the team is not as close-knit as in the product, the developer is less attached to people, and accordingly, there is more time for studying.
  • Diverse tasks and pressing deadlines. Perhaps a debatable advantage, but I like it when there are many different tasks in my work.

The disadvantages include:

  • Less friendly atmosphere than in a food company. The product is more often team-oriented, so in product companies it is more cohesive. I left a grocery company 5 years ago, but I’m still friends with my former colleagues. I didn’t develop any friendships with anyone in outsourcing.
  • Less flexibility in choosing technologies than in the product. In outsourcing, the client has certain requirements; he knows better which technologies to choose for the project.
  • Less interesting projects than in the product. Personally, I think that the product is always more interesting than outsourcing: you can come to the manager and say what feature you want to add to the product. In outsourcing it is more difficult.
  • Bureaucracy. In outsourcing companies there are many people between the developer and the client. In fact, the developer may not even know whether the client even knows his name. The second problem is increased control. You can get a manager who will make sure that you don’t disappear. Accordingly, a story like “why did you go home earlier” will begin, or he will come every hour and ask what you did.

Should a junior join an outsourcing company?

I would advise juniors to outsource, simply because they have standards that will tell them where to go in terms of development. Most likely, the outsourcing company will have a mentor who guides the person. At first, it really helps to fit in and understand what’s going on. After the product, I went outsourced because I wanted something new. I think the best option for a junior is to work outsourced, and then thoughtfully choose a product that suits him. A lot depends on how much time you are willing to invest in the work. I work in an outsourcing IT company: developers share their experience - 2I used to work for Beetroot, for which I made websites. Now I have switched to outstaffing and work directly for a customer with whom I previously interacted through my company. Our team was structured like this: team lead, developers, account manager, sales people. I received a specific project to which the team lead assigned me. Everything else was decided at a higher level: sales people looked for a project and sold developers to the client, accounts solved organizational issues.

I will highlight the following advantages of an outsourcing company:

  • There is a ready-made technical specification for the developer. That is, the team lead and account manager initially calculate how much time is needed for the project and what technology stack to use. The team leads have studied all the client’s wishes and you have a ready-made technical specification: this is convenient.
  • Dynamics in work tasks. In outsourcing, you have to delve into each project, everything is completely different. The last time I was stressed about deadlines, I remembered that I myself wanted this drive.

The disadvantages include:

  • Difficulties due to the human factor. For example, team leads did not calculate and missed the client’s wishes. We had a situation where we needed to make a new website design, I met the deadline, gave the project to the client, and it turned out that the accounts forgot to tell us about transferring the galleries to the client’s website. The client got mad. Then the whole team sat and loaded the galleries.

Should a junior join an outsourcing company?

I developed on various projects thanks to outsourcing. I think it's cool for June. I work in an outsourcing IT company: developers share their experience - 3I worked for a grocery company for about a year and left because there was no workload. I came to EPAM and have been working there for 2.5 years.

I will highlight the following advantages of an outsourcing company:

  • Clear work schedule. Now I work from 09:00 to 18:00, which suits me completely. I have a lot of tasks besides work: time for family and so on. At that moment, when I was certified as a senior, I tried very hard, was a lecturer and mentor. Now I have reduced my activity. If I work for a product, I understand that there will be overtime, even if they are paid for, I’m not ready for that.
  • All processes in the company are clear and transparent. If I agreed on a vacation, then something is unlikely to change. In smaller companies, where people negotiate verbally, things can change. In outsourcing (at least in EPAM) this practically cannot happen.
  • Social package. For example, EPAMs work as closely as possible to the laws of the country in which they are located (public holidays are observed, there are sick days, there are still 7 days a year when you can take sick leave without explanation).

The disadvantages include:

  • Lots of frameworks in the works. For example, the client has defined a stack of technologies that the developer works with and they cannot be changed. From a business point of view, this is correct, because new technologies are not always good. Developers are always interested in trying something new. Businesses need to get a product that can be maintained after 5 years.
  • There is no particularly friendly atmosphere in the team. There is no special culture in the company, as well as unity for a common goal. We just gathered a team and went to work. Yes, there can be team building, but it’s still not the same: the developer has no emotional connection with the project, and at any moment you can pack your things and quit. There is much less responsibility in this regard.
If you want to work and do nothing else, please. If you want to develop, there are a million courses and opportunities. If you want to become a team lead, you can go to an internal project and work as a lead on it. Here everyone finds what they are looking for.

Should a junior join an outsourcing company?

Yes, I would recommend it. It is better if it is a large company that works with beginners. There will be more opportunities there.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION