- IT outsourcing company
- IT outstaff of the company
- Product IT companies
- Companies not directly related to IT
Outsourcing companies
First, let's briefly analyze what outsourcing companies and outsourcing in general are. According to Wikipedia, outsourcing is the transfer by an organization, on the basis of a contract, of certain types or functions of industrial business activities to another company operating in the desired area. Outsourcing in IT, as a rule, is the full implementation by a company that provides the relevant services and, accordingly, is called outsourcing, any projects or work under a contract, with a guaranteed required result from the customer and control over the progress of the work by the company itself. Among the largest outsourcing companies in Russian-speaking countries: SoftServe, Ciklum, Infopulse, EPAM, Luxoft and others. Let's go through the pros and cons of employment in such companies for a programmer.pros
- Relatively easy to get a job
For a number of objective reasons, many of which will be discussed in the “Cons” section, outsourcing companies, as a rule, have a fairly large “turnover” of personnel. Often, programmers who already have more or less significant experience and are in some kind of demand in the market tend to move away from outsourcing and working in such companies, running away at the first opportunity. Because of this, outsourcing companies almost always have a lot of open vacancies almost all year round, and the requirements for candidates for these positions are not as high as in more serious product companies, for example.
For this reason and more, being hired by an outsourcing company can be a good career start for an inexperienced novice programmer, allowing them to get a job and learn many important skills relatively easily.
-
Diverse experience
It is typical for outsourcing companies to work on a range of completely different projects that can be built on different technology stacks. Thus, working in a company allows (although not always) to gain knowledge and experience in several areas in a relatively short period of time, and this is useful for professional and career growth.
-
Time management, work organization and multitasking
As already mentioned, it is typical for outsourcing companies to deal with a number of projects, so their programmers quickly get used to working on several projects at the same time or moving from one to another relatively regularly. This is another advantage of working in an outsourcing company at the first stages - you can learn not only technologies, but also master other skills that are equally, and often more important in your career, such as time management, organization of your work, multitasking and etc.
Minuses
-
High load
It is typical for outsourcing companies to overburden programmers more than other types of employers. One of the main reasons for this is their business model. Outsourcing companies compete with each other for the same clients and try to get as many projects as possible, closing them as soon as possible. A number of other factors also create a high workload, such as unrealistic promises made to the client regarding the completion of the project, poor quality of the terms of reference from the client, and often poor communication at different levels of management, from the client to the employing company. All this leads to the fact that programmers in such companies are required to work long and intensive, often in excess of the standard office eight or nine hours.
-
Low salary
It's no secret that outsourcing companies tend to pay less to programmers. The reason is again in their business model, because in outsourcing the company acts as an intermediary between the customer and the team of project executors, trying to make the most of it, reducing the expenditure side in the form of the total salary of specialists on the project.
-
instability
In the programming outsourcing community, there are often stories of salary delays and occasional layoffs when the project the developer was hired to work on is over and their services are no longer required. Due to the fact that outsourcing companies depend on clients and, often, one-time orders, programmers working in them can only dream of stability.
-
The quality of the professional experience gained
Despite the fact that working in an outsourcing company allows you to get quite a lot of versatile professional experience, as mentioned above, its quality is rarely high. The reasons are the same: tight deadlines, the desire to close the project as soon as possible and get the maximum return from each employee with a minimum investment (read - pay as little as possible, but demand a lot). As a result, the quality of the experience gained is rarely high. This is another reason why experienced programmers often want to leave the outsourcing company at the first opportunity.
Company outstaff
Outstaffing differs from outsourcing in that in this case, the client company seeks and hires specific contractors to work on its projects, who at the same time work on the staff of the outstaff company. The difference is that outsourcing implies the complete performance of any work or the provision of services with a guaranteed result under the contract, while outstaffing is simply hiring a specific contractor with the qualifications the customer needs, on a temporary or permanent basis. We have more or less figured out the definitions, now let's talk about the pros and cons of such companies. However, first it should be noted that companies, especially in Russian-speaking countries, often provide customers with both services - both outsourcing and outstaffing. Therefore, here we will focus primarily on the pros and cons of the model itself, while companiesBenefits of outstaffing
-
Personal approach
In the case of outstaff, the client chooses each performer personally, and not just orders a team of a dozen coders. Therefore, hiring for an outstaff, as a rule, indicates a fairly serious qualification of a programmer, which determines the appropriate attitude towards him.
-
Working for an American (most often) IT company
Despite the fact that de jure the programmer works for a local outstaff company, de facto he is part of the team of the employing company. And these are, as a rule, serious American IT companies with a corresponding serious approach to management and work processes. Working for such a company will almost always be a plus for further employment - this experience can be added to your resume, and foreign colleagues can be “friended” on LinkedIn (increases the chances of a subsequent successful employment).
-
Business trips to the USA
Opportunities for business trips somewhere in Silicon Valley are also not uncommon for outstaff. Getting a US visa at the invitation of a well-known IT company, most often, is not difficult.
Outstaff cons
-
Boring and uninteresting work
As many programmers who have worked “on the outstaff” for a long time note in their reviews, most often the most tedious, uninteresting or simply incomprehensible work that local employees do not want to do is dumped on remote team members.
-
The need to quickly understand the project
Team members who are already working on a client-side project are rarely willing to take the time to help a newbie get up to speed and understand the project, especially if he is working remotely and has not yet proven himself. Therefore, to delve into the nuances of the project, as a rule, you have to do it yourself. At the same time, the time to get up to speed is often very little or not at all.
-
Working for two "bosses"
Another disadvantage of this model is that the programmer works for two companies at once and therefore has two “bosses” – a foreign one, for whom he works de facto, and a local one, in a company that pays him a salary. Needless to say, having two bosses does not add comfort.
Product companies
Product companies are those that develop software products and services directly for themselves, and not for third-party organizations, as is the case with outsourcing and outstaff. Therefore, many programmers oppose product and outsourcing companies, choosing between them, because both of them have their pros and cons. Let's try to understand the advantages and disadvantages of working in a product IT company.pros
-
Stability and measured work
Product companies, unlike outsourcing companies, do not depend on one-time orders, the flow of which tends to be interrupted. Also, the work schedule in them is usually more measured and calm, for the same reasons - after all, they are developing their own product or products, trying to make them as high quality as possible, and not finish them as soon as possible. This leads to the next advantage.
-
Quality professional experience
Since product companies work on their projects slowly and with an emphasis on quality, the young programmer has more opportunities to gain quality knowledge of the technologies involved in the work, as well as an understanding of the correct approach to developing and implementing solutions. Product companies also spend more time and effort on training new programmers, because for them the quality of each employee plays a more important role, especially if the project has already been launched - errors in a working product have much more serious consequences than in one that is just about to be released .
-
Competent management
Management in product companies, as a rule, is of higher quality, again, because stability is important for them, and it is desirable to minimize staff turnover, especially among developers.
Minuses
-
Less diverse professional experience
If in outsourcing, switching from project to project, programmers have to master different technologies, in product companies, work is usually carried out on the basis of one technology stack, proven and reliable for a long time. Because of this, developers, staying in such a company for a long time, often undergo the so-called professional degradation, as they stop following new technologies and trends.
-
More routine
For the same reason, work in product companies is more routine and therefore boring. Having learned all the technologies and processes, the developer is left to perform daily tasks of debugging and improving an existing product. Many programmers complain that working without calls makes them tired.
- Higher entry threshold
Well, as a consequence of all of the above, product companies usually have higher requirements for the experience of new programmers, so getting into them is usually more difficult for relatively “green” coders.
Companies not directly related to IT
Companies that hire programmers to work on software products, but do not work in the IT industry. This category most often includes banks and e-commerce companies, as well as other businesses that have their own software products, but they are not the key and most important elements of their operations. Let's try to analyze the pros and cons common for this type of company in terms of employment for programmers. Although in general it should be noted that in this category companies and working conditions for programmers can differ markedly, because it includes a variety of businesses and organizations.pros
-
Stability
Judging by the feedback from programmers, work in non-IT companies is more stable than in outsourcing and even product IT firms. Such companies, as a rule, have a stable business that generates profits, and in case of financial difficulties, managers and other office workers are subject to layoffs, but not programmers.
-
High salaries
The remuneration in them is also often at a high level, although everything is not so simple here. High salaries often boast of programmers working in major banks and various large e-commerce companies, while small organizations often cannot afford to pay programmers a lot.
Minuses
-
Bureaucracy
For large companies and organizations that are not directly related to IT, bureaucracy is more pronounced than in IT. This, according to many programmers, is one of the main problems of working in banks, for example.
-
Career
Career growth in such companies is often much less rapid than in young and innovative IT firms. Linking career growth to “length of service,” that is, the number of years that an employee has worked in a company, is also not uncommon.
-
The abundance of formalities
From the dress code to the lack of informal atmosphere and relaxation areas on the office territory, IT companies are still far ahead in this compared to other employers.
GO TO FULL VERSION