📜 ⬆️ ⬇️

Students vs Developers

There are two opposing opinions about hiring programmers. Proponents of the first opinion believe that experienced developers are better than students. Developers are more productive and their career is not in danger. The opposite opinion is that it is cheaper to hire 3-5 students.


It should understand what the developer (full-time employee) is different from the student. First of all, the main advantage of an employee is work experience. Do not, however, underestimate the students. The ability to do your job well depends more on the person than on experience and salary (omitting the question of motivation). Many developers experience is reduced to picking any different code by typing and this experience, of course, is not so in demand. Experience badly correlates over the years. In itself, coding is not an experience; experience is rather a development of a world view due to the solution of some practical problems.

The difference between a developer and a student is in probabilities. A good developer is very likely to responsibly (let's not forget about the question of motivation) to approach the solution of the problem and execute it, and at the same time, the student will fill up the task with the same probability, break the deadlines and possibly leave behind a bad code. There are some good coders among students who already have a decent experience and it is convenient to work with if the development process is set: coding standards, code inspection, etc. But the percentage of such students is very small, and given the demographic gap, the overall quality of training (and / or knowledge) on average just awful.

Another important difference between a developer and a student is that he does not need to go on foot to the erotic journey called “session” twice a year. In a programmer’s work, the most important thing is concentration on the task (the so-called entry into the stream) and a person who does not need to flee for a couple to think or to do laboratory and coursework will be more concentrated. And to build a process when a person is constantly at work is much easier than when he combines work with study.
')
Who more often justifies the expectations of the employer, student or developer? From the employer's point of view, hiring one good developer instead of three students is a risk, and what a risk. Anything can happen to a developer: he fell ill, died, quit, or God forbid, went on leave when he really needed him at work. A good developer, as a rule, is a threat to the credibility of a bad manager, and, as we know, good project managers are as rare as wage increases during a crisis +).

A developer can really work productively and solve complex tasks. Throwing heavyweight on light tasks is unprofitable, so very quickly they get bored with working with primitive tasks that a student can cope with. Where can I get interesting tasks for a full download when development consists of 80% terrible tedious coding?

Large companies prefer experienced developers and personally I am happy about it. They recruit students for internships, then the most gifted are offered jobs. The fact is that such companies choose a model of business development that is not similar to the “Russian Model” - get money without doing anything. The “Russian model” is chosen by companies that live on kickbacks. This does not mean that small companies prefer to use the “Chinese model” - quickly making a bunch of consumer goods for which you need a lot of cheap labor, which students are no doubt. In any business, there are many companies that prefer to create products based on the "Japanese model" - the achievement of the highest quality or "American model" - the earliest possible profit. Both models involve long-term investments in employees to maintain the required level of qualifications.

A qualified developer has high salary expectations. Projects with competent leadership, well-defined tasks and a streamlined development process are rare. The overhead of such a project is large in itself and it does not make sense to hire a large number of developers. In such conditions it will be enough to find a competent student who will ask for a salary substantially less than the developer. In my opinion, a serious developer has practically no chance to get a good project.

There is one more question: who will set the tasks? An experienced developer is easier to set the task - no need to explain the little things and the situation, he, as a rule, will see the details himself. For the student it will be required to work through the tasks in much more detail. Then the choice can be conditionally converted to the following: a relatively expensive task setting process and a relatively cheap developer or a relatively cheap way of setting the task and a relatively expensive developer. What will be more effective from the point of view of the business owner? That's right, there is a budget. The project is in a hard peak. We take cool, otherwise we will focus on those who are simpler. Total, the developer shines a complex project.

There is an opinion that if you drag a problem project a year, and it doesn’t get any better, it means: either you’re not such a cool developer, or the management opposes the changes. As a result, something needs to be changed at the conservatory. If the developer succeeds in adjusting the development process, then the moor has done his job, the moor can leave. The project is likely to live on and with less skilled labor resources. It is better to look for the next promising project on the problems and leave yourself.

Why leave? By itself, the care of a qualified developer from the project is not indicative, but leaving the office speaks about one of two things: either projects that need such a specialist are over, and you need to leave without thinking, or the level of a specialist greatly exceeds the requirements of the place where he works .

A contractor or an experienced developer should be easy to work with and easy to part with - then he will be called to other projects. That is, if there is a difficult project - you need to take heavyweight workers with a high salary, who with a high degree of probability and small risks will bring a bad project into a good one and then transfer the supporting pieces to another project, gradually replacing them with less qualified developers or students.

You are a student and got to the project - you are lucky and try not to screw it up. You are an experienced developer and you are removed from the project, when the project got to its feet - it means you have to go further.

P.S. The post is written based on: yakov-sirotkin.livejournal.com/121661.html and yakov-sirotkin.livejournal.com/121525.html

Source: https://habr.com/ru/post/80105/


All Articles