- IT outsourcing company
- IT outstaff company
- Product IT companies
- Companies not directly related to IT
Outsourcing companies
First, let's briefly look at what outsourcing companies and outsourcing in general are. According to Wikipedia's definition, outsourcing is the transfer by an organization, on the basis of a contract, of certain types or functions of production business activities to another company operating in the desired area. Outsourcing in IT, as a rule, is the complete implementation by a company that provides the relevant services and, accordingly, is called outsourcing, of any projects or work under a contract, with a guaranteed required result from the customer and control over the progress of 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 high staff turnover. Often programmers who already have more or less significant experience and are in some kind of demand in the market tend to avoid outsourcing and work in such companies, running away at the first opportunity that comes along. 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 food companies, for example.
For this reason and more, employment with an outsourcing company can be a good start to a career for an inexperienced newbie programmer, allowing him to get a job relatively easily and learn many important skills.
-
Diverse Experience
It is typical for outsourcing companies to work on a number of completely different projects, which can be built on top of different technology stacks. Thus, working in a company allows (although not always) to gain knowledge and experience in several areas at once 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 for an outsourcing company in the early stages - you can learn not only technology, but also master other skills that are no less, and often more important in your career, such as time management, organizing your work, multitasking and etc.
Minuses
-
High load
It is typical for outsourcing companies to place a higher workload on programmers 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 quickly as possible. A number of other factors also create a high workload, such as, for example, unrealistic promises made to the client regarding the deadline for completing the project, poor quality of technical specifications from the client and, often, poor communication at different levels of management, from the client to the hiring company. All this leads to the fact that programmers in such companies are required to work long and intensively, often beyond the standard office eight or nine hours.
-
Low salary
It's no secret that outsourcing companies usually pay programmers less. The reason, again, is in their business model, because in outsourcing the company acts as an intermediary between the customer and the team of project implementers, trying to earn the maximum by reducing expenses in the form of the total salary of specialists on the project.
-
Instability
In communities of programmers working for outsourcing companies, there are frequent stories of delays in salaries and periodic layoffs in cases where the project for which the developer was hired is completed and his services are no longer required. Due to the fact that outsourcing companies depend on clients and, often, one-time orders, the programmers working in them can only dream of stability.
-
Quality of professional experience gained
Despite the fact that working for an outsourcing company allows you to gain quite a lot of diverse professional experience, as mentioned above, its quality is rarely high. The reasons are the same: short deadlines, the desire to close the project as soon as possible and get maximum output 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 is rarely high. This is another reason why experienced programmers often tend to leave an outsourcing company at the first opportunity.
Outstaff company
Outstaffing differs from outsourcing in that in this case the client company searches for and hires specific performers to work on its projects, who also work on the staff of the outstaffing company. The difference is that outsourcing implies the full implementation of any work or the provision of services with a guaranteed result under a contract, while outstaffing is simply the hiring of a specific performer who has the qualifications required by the customer, 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 often companies, especially in Russian-speaking countries, provide customers with both services - both outsourcing and outstaffing. Therefore, here we will primarily talk about the pros and cons of the model itself, while companies hiring programmers using the outstaffing business model are approximately the same as in the case of outsourcing.Pros of outstaffing
-
Personal approach
In the case of outstaffing, the client selects each performer personally, and does not just order a team of a dozen coders. Therefore, hiring for outstaffing, as a rule, indicates a fairly serious qualification of the programmer, which also determines the corresponding attitude towards him.
-
Working for an American (most often) IT company
Despite the fact that de jure the programmer works for a local outstaffing company, de facto he is part of the employing company’s team. 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 in future employment - you can add this experience to your resume, and “friend” foreign colleagues on LinkedIn (increases the chances of subsequent successful employment).
-
Business trips to the USA
Opportunities for business trips somewhere in Silicon Valley are also not uncommon for outstaff. Obtaining a visa to the United States at the invitation of a well-known IT company is most often not difficult.
Disadvantages of outstaffing
-
Dull and uninteresting work
As many programmers who have worked “outstaffed” for quite a long time note in their reviews, most often the most tedious, uninteresting or simply incomprehensible work is dumped on remote team members, which local employees do not want to do.
-
The need to quickly understand the project
Team members already working on a project on the client side 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, as a rule, you have to delve into the nuances of the project yourself. At the same time, there is often very little or no time to get up to speed.
-
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 the 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 parties, as is the case with outsourcing and outstaffing. Therefore, many programmers contrast product and outsourcing companies, choosing between them, because both 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, their work schedule is usually more measured and relaxed, 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 quickly as possible. The next advantage follows from this.
-
Quality professional experience
As product companies work on their projects slowly and with an emphasis on quality, a young programmer has more opportunities to gain high-quality knowledge of the technologies involved, 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 to them, and it is desirable to minimize staff turnover, especially among developers.
Minuses
-
Less varied professional experience
If in outsourcing, programmers have to master different technologies, switching from project to project, in product companies work is usually carried out on the basis of one technology stack, which has long been proven and reliable. Because of this, developers who stay in such a company for a long time often experience so-called professional degradation, as they stop following new technologies and trends.
-
More routine
For the same reason, work in food companies is more routine and therefore boring. Having learned all the technologies and processes, the developer remains to perform everyday tasks of debugging and improving the existing product. Many programmers complain that working without challenges tires them out.
- 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 it is usually more difficult for relatively “green” coders to get into them.
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 core and most important elements of their operations. Let's try to look at the pros and cons that are common to this type of company when it comes to employment for programmers. Although in general it should be noted that in this category, companies and working conditions for programmers in them can vary markedly, because it includes a wide variety of businesses and organizations.pros
-
Stability
Judging by the reviews of programmers, work in non-IT companies is more stable than in outsourcing and even product IT companies. Such companies, as a rule, have a stable business that generates profit, and in the event of financial difficulties, managers and other office employees, but not programmers, are subject to layoffs.
-
High salaries
Remuneration in them is also often at a high level, although everything is not so simple here. Programmers working in serious banks and various large e-commerce companies often boast high salaries, while small organizations often cannot afford to pay programmers much.
Minuses
-
Bureaucracy
Large companies and organizations that are not directly related to IT are characterized by bureaucracy, which 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 often occurs much less rapidly than in young and innovative IT firms. Linking career growth to “length of service,” that is, the number of years an employee has worked for a company, is also not uncommon.
-
Abundance of formalities
From the dress code to the lack of an informal atmosphere and relaxation areas in the office - in this area, IT companies are still far ahead compared to other employers.
GO TO FULL VERSION