What to do to get normal money and work in comfortable conditions as a programmer

This post grew out of the commentary on one article here on Habré. It’s quite a common comment, except that several people at once said that it would be very good to arrange it as a separate post, and MyKrug without even waiting for it to publish this same comment separately in their group on VK with a nice preface

Our recent publication on the salary report in IT for the first half of this year has collected an incredible amount of comments from Habr users. They shared their opinions, observations and personal stories, but we liked one of the comments so much that we decided to publish it here.


Therefore, I finally gathered my strength, and wrote a separate article, revealing and substantiating thoughts in more detail.



image



Sometimes in articles and comments discussing the income of IT-specialists, one can find statements like “Yes, where do you get such numbers? I have been working X for many years, and neither I nor my colleagues have ever seen such money ... ".



Honestly, I could write the same comment N years ago. Now I can not :)



After going through different places of work, organizations and life situations, I personally formulated a completely simple set of rules on the topic "what to do to get normal money and work in comfortable conditions in IT". This article is not only about money. In some points, I touch on the topic of the opportunity to improve my professional level and learn new demanded skills, and by “good conditions” I mean far not only a comfortable office, technical equipment and a good social package, but also, first of all, lack of insanity, peace of mind and nerves.



These tips are relevant primarily for software developers, but many points will suit other professions. And, of course, the foregoing applies primarily to the Russian Federation and other ex-USSR countries, although, again, some points will be relevant everywhere.



So let's go.



Avoid per kilometer state and half-states and similar institutions



Firstly, when financing an institution from the budget, the upper salary level is naturally limited - "there is no money, but you are holding on." Even in government offices and similar places, salaries are often tied to staffing tables. And it may turn out that the document says that the programmer receives as much as some clerk, and this can not be changed. Some leaders, realizing the absurdity of this situation, semi-legally arrange IT specialists for one and a half or two bets, but this is rather an exception to the rule.



Secondly, if an institution does not work in a free competitive market, then its leaders will most likely not have a goal to improve the quality and competitiveness of products and services (the goal is to not lower this quality below a certain value so as not to get according to the heading from the supervisory authorities), and accordingly, will not try to recruit the best employees and motivate them in cash or otherwise.



image



Due to the lack of focus and motivation of the leadership on quality and results, as well as the fact that they spend, in fact, not their own, but other people's money, one can often observe a phenomenon such as the attachment of children / relatives / friends etc. to “warm places” in the organization. However, you still need to work somehow. Therefore, it may, firstly, turn out that a person who got there from the street will have to do the work for himself and for that guy. And secondly, it is unlikely that he will be surrounded by highly qualified specialists, from whom much can be learned.



In the case of employment in a private company, but working for a government order, alas, one may encounter approximately the same thing. If a company receives orders and tenders because “everything is already taken”, then, in essence, we again come to the situation of “no competitors” with corresponding consequences. And even if tenders are played honestly, you should not forget that the winner is the one who offers the lowest price, and it may well be that they will save primarily on developers and their salaries, because the goal will not be “to do very good product ”, and“ make a product that somehow meets the formal requirements ”.



And even when an office enters the free market and it has competitors, the thinking of management and its attitude towards employees is far from always being reconstructed with corresponding sad consequences. The concept of "soviet management", alas, came from real life.



image



Sometimes it happens the other way round that in some state-owned company even ordinary employees can receive very good money by local standards (for example, in the oil and gas sector). But, alas, “soviet management” does not go anywhere, and you can often stumble upon administrative insanity, of the type “working day strictly from 8 in the morning, for being late for 1 minute depriving of the bonus”, endless writing of services and shifting responsibility, and the attitude of “pay a lot, so if you please work even harder, we won’t pay for processing ”and“ if you don’t like it, nobody keeps it. ”



If you are a programmer, then do not consider positions in offices for which software development is not an activity that generates the main income



... including all sorts of research institutes, design bureaus, engineering offices and factories, trading companies, shops, etc.



There’s even a joke in one community
“ If your position is not called“ Senior Developer ”or“ Team Lead ”, but“ Engineer of the 1st category ”or“ Leading Specialist of the Department of Information Technology ”, then you have turned somewhere else in the wrong place ”
Yes, this is a joke, but there is some truth in every joke.



The criterion of "generating basic income" I define quite simply:

it or





or



Why such advice?



First of all, read the excellent publication “13 surprises of a non-IT company” , there many real differences of non-IT companies are really well noticed. And if you worked in IT companies, but you always observed items from the 5th to the 13th described in that article, then this is an occasion to think and take a closer look at the world around and the labor market.



In "purely IT" companies, people directly related to software development (programmers, testers, analysts, UI / UX designers, devops, etc.) are the main driving force. It is their work that brings business revenue. Now let's look at some “non-IT company”. They get the main money from the resale of something, or from the provision of some “non-IT services”, or from the production of “non-IT products”. In this company, IT-employees are maintenance staff, yes, they need to be able to work more efficiently (for example, through automation, automatic accounting, taking orders online, etc.), but they do not bring direct income. And therefore, the attitude of the shortsighted leadership towards them will most likely be just that - as to something that you have to spend money on.

This is very well said in the article mentioned above:

The conceptual difference between an IT office and an non-IT office is, of course, that in an IT office you - as a programmer, tester, analyst, IT manager, finally - are part of the revenue side of the budget (well, for the most part), but only in an non-IT office - only only his expendable article, and often one of the most noticeable. Accordingly, a corresponding attitude is being built towards internal IT people - like some freeloaders whom we, the business, are forced to pay from our own pockets, and they also dare to want something for themselves there.


Often the management of such a company does not understand anything at all in IT and software development, and because of this, firstly, it is difficult to convince him of the need for something, and secondly, the “creation of an IT department” itself may not happen in the best way: a person is taken for the position of head of this department, whose skills the managers cannot adequately check. If he was lucky with him, then he will gain a good team and ask the right vector of development. But if he was unlucky with him, it may happen that the team seems to be developing something, and the product even seems to work, but in fact it is boiled in its own juice in isolation from the outside world, it’s not particularly self-developing, and really knowledgeable and talented people they don’t stay there. Alas, I observed this with my own eyes.

How to identify this in advance, at the interview stage? There is the so-called Joel Test , however, we must admit that it is very superficial, and in fact there can be much more factors for checking and wake-up calls, but this is the topic of a separate article.



image



I would like to say separate words about various engineering companies, production associations, research organizations, design bureaus, design institutes and all that sort of thing. There are reasons “why not go there, well, or at least think very well before that” in my experience, there are several.



First, again, there often reigns dense and technological lag. Why - the question is separate and draws on a good such article, but people regularly speak out on this subject even here, on Habré:

“I’ll tell you a terrifying secret - embedded software is tested at least an order of magnitude less and worse than any withered web server. And dinosaurs often write it, a debugger is for wimps, and "if the code compiles, then everything works."

... I'm not joking, unfortunately. " [ from comments ]
“No wonder. According to my observations, many hardware developers believe that manufacturing a device is an art subject to the elect, but he can write the code for it himself, on his knee. Well this is generally a trifle. It turns out working quiet horror. They are very offended when they explain to their fingers why their code smells bad, because ... well ... they’ve done a piece of metal, what’s there, some kind of program. " [ from comments ]
“From my own experience of scientific work, I can say that when one to several people work on a task, it doesn’t use speech code. They write how it will turn out, use the minimum language features, most of them do not know about version control systems. [ from comments ]
Secondly, everything again often rests on management and established traditions:

“The development of equipment according to statistics, this is most often a self-paid, self-financed Russian enterprise, with Russian customers, the Russian market and the Russian chief - a former engineer aged 50+, who also previously worked for a penny. Therefore, his thought was: “I have been plowing all my life so that I pay some young person? It will be cut! ”Thus, such enterprises do not have much money, and if there is, then they will not be invested in your salary.” [ from comments ]
And thirdly ... In such places, programmers and other engineers are often not shared. Yes, of course, a programmer can also be considered an engineer, and even the very concept of “software engineering” is hinting. And in that and in that case people are engaged in intellectual work and the development of new entities, and in that and in that case certain knowledge, skills and mindset are required.



But ... the nuance is that in the current situation on the labor market, these categories are paid very differently. I’m not saying that it should be so, I myself think that this is wrong, but, alas, at the moment this is a fact: the salaries of “programmers” and other “engineers” can vary by one and a half to two times, and sometimes even more.



And in many engineering and near-engineering enterprises, the management just doesn’t understand, “why do we have to pay twice that”, and sometimes “why what is it, our Vasya electronics engineer will write a code no worse” (and Vasya- then it’s not against, although he is not a software developer ).



In one of the discussions on the topic “the path of the programmer is complicated” with the respected Jef239, a phrase like “Well, what’s so, we pay our people higher than the average salary of an engineer in St. Petersburg” was said once in his comments, although, in a good way if the company appreciates and respects its employees, they should pay "... higher than the average salary of a programmer in St. Petersburg."



A very revealing picture that a few years ago went around all the social control systems in social networks speaks for itself
image





Do not work with the military



I made this conclusion for myself as a student of the military department at the university :)



In fact, I personally did not work in this area as a customer in near-war offices and private firms, but my friends worked, and according to their stories, there was a lot of folklore like “There are three ways to do something — right, wrong, and army "And" I will now gather a narrow circle of limited people, relying on whom I will figure it out properly and punish anyone horrible! "Appeared far from empty place.



image



In my case, interviews in such firms usually ended with the need to fall under the form of secrecy. Moreover, the interviewers vowed that "the third form is pure formality, it does not mean anything, they do not even ask about it, you can go abroad without any problems," but to the questions "If it does not mean anything, then why does it exist and why does it exist sign? ”and“ And what guarantees that, given the current insanity, one day the legislation will not change and everything will not be different? ”no answers were received.



Do not work as a jack of all trades



image



... it's like when you are both a programmer, and an admin, and a network installer, and an iron purchaser, and a cartridge refueler, and a DBA, and tech support, and a telephone operator. If you immediately and immediately do everything in your place, then most likely you will not be an expert in each of these areas, which means you can be replaced by several students or dzhuns, who are not a problem to find even for a little money. What to do? Choose a narrow specialization and develop in its direction.



Start exploring a more relevant stack.



... if you work with legacy tools. It happens, for example, that a person writes on some Delphi 7 or ancient versions of PHP with no less ancient frameworks. I’m not saying that it’s bad by default, but the principle “works - do not touch” has not been canceled, but when the ancient stack is used not only to support old ones, but also to develop new modules and components, it makes you think about qualifications and the motivation of the development team, and whether the company needs good personnel in general.



image



Sometimes the opposite situation happens: you support some kind of legacy project using some kind of legacy technology, and you get quite good (perhaps because no one else wants to get into this swamp), but when for some reason the project or company dies, there is a big risk of being overwhelmed, and returning to harsh reality can be very uncomfortable.



Do not work in small and medium-sized companies operating in the domestic (Russian) market



image



Everything is pretty simple here. Companies operating on the international market have an inflow of money in foreign currency, and taking into account current exchange rates, they can afford to pay their developers good money. Companies working in the domestic market are forced to catch up with them, and if large and rich companies can afford to pay competitive salaries so as not to lose good specialists, small and medium ones, unfortunately, do not always have this opportunity.



Learn English. Even if you don’t really need it now



English for a modern IT specialist is a very useful thing: the vast majority of documentation, manpages, release notes, project descriptions, and everything, everything is written in English, top books and scientific papers are published in English (and not always they don’t immediately translate into Russian, and even more so they are far from always correctly translated), world-class conferences are held in English, the audience of international Internet developer communities is hundreds of times more than the Russian-speaking, etc.



I’ll draw your attention to another fact, there are a huge number of companies with cool tasks and very tasty salaries, where you won’t even be considered without knowledge of English. These are outsourcing companies, and integrators, and branches of international companies, and just firms working on the international market. In many of them it is necessary to solve problems in one team with foreign-language colleagues from other countries and often even interact with customers and their specialists directly. Thus, without good English, you immediately lose access to a significant part of the labor market, and the part where you can often find very interesting projects for very good money.



Still knowing the language makes it possible to work on international freelance exchanges and work remotely for foreign firms. Well, the opportunity to start a tractor and relocate to another country, especially considering that in our time even people who had never thought about this before began to do this.



Do not be afraid of the "galleys"



Sometimes you can find opinions that in the so-called "galleys" (companies engaged in consulting, outsourcing, or selling the competencies of their specialists as outstaff) - it sucks, but grocery firms - it's cool.



I do not agree with this opinion. At least two places of work, where I worked for quite some time, were these very “galleys,” and I can say that the working conditions, salary level and attitude towards the workers were very good there (and there’s nothing to compare with ), and around were very nice and skilled people.



Do not think that if everything in your present place is not very good, then everywhere



Probably, psychologists will someday investigate this phenomenon and give it some name, but for now we need to admit that this phenomenon really exists: sometimes people work in their place, which they are not very happy with, but believe that “yes, probably everywhere so "and" what was the idea of ​​changing soap ". I will simply say: no, not everywhere. And to verify this, we move on to the following points.



Go for interviews



... just to get interviewing experience, to find out requirements and salary levels in different places. Nobody will stone you if, in the end, an offer is made to you, and you politely refuse it. But you will gain experience in interviews (this is important, yes), which can be very useful to you at one point, listen to what other companies are doing in your city, find out what knowledge and skills employers expect from candidates, and most importantly, what money they willing to pay for it. Feel free to ask questions about the organization of processes within the team and the company as a whole, ask about working conditions, ask to show you the office and workplaces.



image



Explore the market and know your price



Study the Headhunter, Mycircle, and similar resources to get a rough idea of ​​how much what you know and do is actually worth.



Do not be alarmed by the large numbers at the point with the proposed salaries, even if it turns out that for the same thing that you are doing now, some company promises you to pay much more than you have now. It must be borne in mind that IT is one of the few industries in our country where it so happens that if a company says in a job description that it is ready to pay a specialist 100-150-200 thousand, then most likely it will really be ready.



Don't underestimate yourself



See. "Imposter Syndrome" , to which articles have repeatedly been devoted to Habré here. You should not think that you are worse, less qualified, or even inferior to other applicants in something. And even more so, based on these facts, it is not necessary to ask for a salary below the average market - on the contrary, _ always_ pledge the amount at least slightly above the average, but at the same time clearly let us know that we are ready to discuss it.



Feel free to negotiate with the management about the increase



You don’t have to sit quietly and wait for someone to gain insight from above and raise your salary by yourself. Illumination may come, but may not come.



Everything is very simple here: if you think that you are paid little, tell the management about it. The reasons “why I think they should pay me more” can not even be invented much, they can be any from “for these N years of work I grew up as a specialist and now I can do more complex tasks and work more efficiently”, to “in others companies offer so much for this work. ”



In my case, it always worked. Sometimes immediately, sometimes after some time. But when one of my colleagues, tired of lack of money, found a new job and put a statement on the table, on the other side of the table they were very surprised and asked, “Well, what about the increase, didn’t you come to us?” And persuaded to stay , offering even more than in the new offer.



Move or go to udalenka



If everything comes down to a small number of vacancies in the city (in other words, if there are “no other places” where people with your qualifications are required, or it’s not so easy to get there) ... Then increase your skill and move to another city if possible. I personally know people who from millionaires moved to St. Petersburg and Moscow time at once with a twofold increase in income, even when moving to a lower position.



Again, do not fall for myths such as “in the capitals they pay more, but you have to spend much more, so there is no benefit”, read the comments on this article , there are many opinions and stories on this topic.



Explore the labor market of big cities, look for companies offering a relocation package.



Or, if you are already an established and experienced specialist, try remote work. This option requires certain skills and good self-discipline, but for you it can be very suitable and profitable.



That's all for now. Once again I want to say - this is my personal opinion and my experience, which, of course, is not the ultimate truth and may not coincide with yours.



Related materials:



- 13 surprises of an unapproachable company

- Joel test

- Do not confuse software development and programming



All Articles