📜 ⬆️ ⬇️

Java-programmer in St. Petersburg. Overview of the labor market in terms of the applicant. Part 1/3

It has long been matured thought to describe something from their work experience. Gradually, it developed to the idea of ​​writing a review of the labor market, as seen by the employee and the applicant (more precisely, the author as an employee and applicant ;-)). The presentation turned out somewhat subjective and not claiming completeness. It is made on the basis of experience, mainly my own experience and the experience of friends. The bias somehow turned itself towards the description of possible unpleasant surprises. The article consists of three parts - "What are the" buns ", " "Pitfalls for the beginner" and "What are the employers . " The most voluminous and detailed is the central part - it contains moments, the most, according to the author, worth attention. The first and third parts are also largely written in terms of "pitfalls".

At the end, it was decided to break the resulting article into 35,000+ characters into three posts. This post contains the first part.


What are the 'buns'



Salary

In addition to the banal “the more the better”, there are a couple of small remarks. Not everyone likes a white salary, no matter how they tried to convince us otherwise. Also, in the case of a salary on a card, the banks may be different: one thing is Alpha, with partner banks — many ATMs in the subway, another is City, whose ATMs are mainly located at Shell and Neste and in the hypermarkets "Lenta", the third - "Sberbank", in which the default offer Visa Electron / Maestro card, for which there is little where you can withdraw money without commission, the fourth - some kind of "trifle", in which there is no Internet banking, half a dozen ATMs and withdrawals at another's ATMs for 10% of the commission or not at all, and blocking to mouths in case of theft strictly in a personal appearance at the head office (not a subsidiary or branch) to a specialist to block, office hours Tuesday and Thursday from 14:00 to 17:00, but this exotic is found mainly in the regions and the industrial enterprises
')
Stability

The greater the age, the stability becomes more relevant.
In some firms there are seniority years and official “veterans” who have worked for 10 or 15 years, and some employees, working 10 or more years, have time to go on maternity leave twice.

Mode

It happens different - from “08: 00-17: 00 strictly, they do not allow it before, and then they kick out” to a practically free schedule. The worst options are strictly 10-19 or strictly 11-20, so there are no chances to catch up with some computer companies with “strict” mode (Mon-Fri 10-18) and most of the stores on a working day.

Professional growth and other self-improvement

  • Knowledge of platforms and technologies
    It seems that it is necessary to be able to choose technologies and a platform, but usually you don’t have to choose (everything was chosen by those who founded the company ;-) (or launched a long-term project) or the most advanced is chosen - to code less. If the platform has been developing for 10+ years, it may require skills to integrate new technologies into the platform.

  • General code skills
    Well, besides direct writing, compiling and launching ;-), for which the notorious “Notepad + command line” (FAR is necessary) or FAR is enough in general, you also need to know how to use automatic substitution tools, automated refactoring, and automated code alignment. and other goodies of a good IDE, and knowing why we need uniform code formatting rules (so that within a team that will work on the same code (yes, and VCS here), when comparing different versions of the same file, the difference was inimum and not "replace every line indented with tabs to spaces").

    What is the most annoying thing, usually such things are not pronounced, and this is despite the fact that you can easily get to the minimum set of “Notepad + command line”. I realized about refactoring and formatting after more than four years after I learned what Ant and Tomcat are and not in the workplace, and in general during the period when I was not working. I suspect that if I worked all the time, I could not understand it until now.
    Yes, there is such a buzzword as “best practice”. In practice, the maximum that I have seen in this part is the consultations from the “living carriers” of these practices in the style of “we have done this on project N, so-and-so”. Maybe the practice of systematization and generalization of the “best practices” is somewhere, I just did not come across.

  • General architecture skills
    On the topic “what systems are built from” is the same as about platforms with technologies: I saw for the first time (= I saw an entire example of Hibernate + MySQL / Spring / Resin working on production (the last version must be remembered before the third digit, otherwise it may not work) or Eclipselink + MSSQL / CDI / Liferay 6.1) - consider that a third of the knowledge you will receive in this part in the next 10 years has been received. Changing rarely, updating a little, seeing something new (like Jetty instead of Tomcat) - consider it lucky for this part. Well, or you need to gain experience in addition to work (yes, and in this part).

    At the “in-project” level - half a year of development and refactoring of your favorite project (how many, how many? 1.5 or three person-months? 3000-6000 dollars in St. Petersburg? Or -12000 unearned during this time?), And it will be clear on your own experience where modules and layers come from ;-) (here’s another reason to be seriously involved in development besides work). It is better to comprehend the inter-project dependencies, more precisely, the construction of new projects (and modules) using the previous ones, the concepts of “core”, “typical implementation”, “custom parts” on a complex, long-evolving platform on which many similar projects are implemented.

  • Knowledge of working methods and tools
    What is a bug tracker, a time tracking system and a SCRUM, and why SCRUM is not a dogma, but only “best practice” and an exemplary guide to action, they already know, probably, everywhere, and you can probably know it everywhere. Tracker, in general, can theoretically help in addition to programming - for organizing affairs in general, I have been dreaming about this since 2005, but I just can’t find or write anything suitable (so that with embedded MindMapes and a history of changes).

  • Communication and management skills
    At one of the works, the SCRUM master loved to repeat: “think of a customer’s clerk” (probably, as a philologist by his first education, he liked to say something clever, and you sit, understand what he meant - waste your time on this which after all the rallies and so remains not very much), but only after reading the article on Habré (http://habrahabr.ru/company/maxifier/blog/196554/) about the Russian programmer Vasya, who heroically but unsuccessfully tried all Friday and the whole weekend to raise the server with the latest version of the program, and the American chief John, who, because of this The presentation of precisely the latest developed features (all except which Vasya eventually became displayed) to the customer on Monday, I realized that this buzzword means - not abstract in the style of “customer is always right” (“but if the customer is wrong, then this is not your client, and you don’t have to fight for it, let it go with the world and don’t waste time on it ”), but specifically in terms of making near-management decisions.

    About the possible experience of communicating with foreigners, especially for a Java programmer, I think, there is no need to write - and it’s so clear that it happens, and it is necessary, and desirable.


Other

  • Partial compensation of fitness clubs
    Many non-small companies compensate for half.

  • Learning foreign languages ​​(mostly English) at work
    Never used, but many where it was.

  • Compensation for Microsoft and Sun / Oracle certification exams
    It happens, however, for this they may be required to leave a certificate with them upon dismissal, in order to hang it on the wall for the purpose of self-promotion (more precisely, they hang it on the wall immediately after receiving it, and when dismissing they are not allowed to take it with them)

  • Voluntary medical insurance.
    For a set of “included” services, for which you do not have to pay from your own pocket, usually worse than mandatory: the company only pays for the primary doctor’s appointment, and repeated admission and procedures are at their own expense, checked personally. I, living without registration, was lucky to dislocate my knee (2 months of hospital) even before the OMS was canceled at the place of work, for my money “black” paid only such an option as polyurethane “gypsum”, and then in local traumatology, and not there , where fluid was pumped out of the knee and “gypsum plaster” was applied.

  • Delivery
    At least in Alcatel in 2007-2009 was, so it can be found in large firms.

  • Access to the Internet, YouTube and social networks.
    I mention only because it may not be. Yes - programmers may not have access to the Internet. They can, however, be allowed to bring a personal laptop to the workplace and go to the personal mobile Internet for their own money. It is even more convenient than the Internet on the same computer on which you work (especially if the processor is not quad-core, 2GiB memory (2010) and swap is not on SSD) - one does not slow down the other, does not share with it same screen.


Part 2/3. Pitfalls for the "novice".
Part 3/3. What are the employers. Characteristics.

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


All Articles