My experience in 1C Firm







It seems that they have already written about everything: from Yandex to Mailru, from Luxoft to Tutu. But about the most detached, original and isolated company in the IT market has not yet been. I will tell you about my experience in the domestic evil Corporation.



In order to share my experience, this article prompted me, and not the dismissal on the eve, I worked at the company several years ago, so something I may not remember exactly, but something might have changed. On the other hand, 1C is not a startup and changes there are happening slowly.



To understand: if we are talking about the main, enterprise direction, there are two types of programmers at 1C Firm: pluses who saw the 1C: Enterprise platform and 1Sniki who saw the application solutions on this platform. There are others who make Bitrix, games, and so on and so forth, but these are, let’s say, “affiliates”. I worked in the enterprise business, 1Snick on the application solution.



About interviews and interviews



By the time I came up with the idea of ​​going to 1C for an interview, I was already working 1 year 4. It seemed to me (as I later understood in vain) that I knew the platform well and could go through a 1C interview anywhere. In general, to any 1Sniku, 1C seems like a kind of crystal castle on top of a mountain in which the demigods live. Well, it’s kind of like Google for the rest :) Therefore, before going there for a social security interview, I was rather nervous, although I went to other interviews for a walk, knowing that I can only be overwhelmed with a question like “quote the 186th line of the code of the user authorization module”. In general, I seriously did not even hope for a positive outcome, but somehow I crossed the threshold of the building on Timiryazevskaya as an applicant.



The first thing that strikes is the building itself. Of course, I was theoretically aware that 1C is not the poorest company and that overseas guys make billions on IT, but being a 1C nickname before, I’m used to that a 1C programmer is someone sitting in a class G office, because you need to be close to business processes, and they in my case usually occurred in warehouses (I in no way claim that all 1Sniks work in such conditions). In 1C, everything was just a different world: a glass and marble building with glass meeting rooms with variable transparency, furniture not from Ikea and the complete feeling that you came to the bank’s office, and not where 1C-nicknames are sitting.



The first step was traditionally an interview with HR, which, in addition to communicating on general topics, also involved a test task in the form of questions with answer options. The task was rather difficult, the answers were evaluated by HR on the plate of correct answers. Some questions required knowledge of rather subtle points that I did not know, and I was already a millimeter from failure, but nevertheless I left out due to questions on the query language (I was strong in it).



At the next stage, I met my future leader and manager. The manager was quite far from IT, a nice woman. Lead was weird (who would mumble). The interview went pretty well, I didn’t know everything, but in this section I felt pretty confident, because it was more about the database architecture: I was offered a complex task, it was necessary for her to design the system on a piece of paper. A kind of whiteboard architecture.



The next interview (third) was with the head of the department. He asked puzzles about round hatches (in a good way) and, on the whole, gave the impression of an extremely cool lead. I also received a positive review from him.



The fourth (and final) interview was with the director and development manager. So yes, Boris and Sergey Georgievich Nuralievs themselves, whose fortune is estimated at a yard of bucks for two, take 1Snikov to work. Moreover, both are present at the interview. Boris Georgievich by no means gives the impression of an IT business shark. It’s rather a kind grandfather who just wants to talk heart to heart with you. The conversation is based on the topic of your diploma (this is apparently a common place - a universal reason to start a conversation) and then continues simply “for life”, no one asks any technical questions there. Sergey Georgievich is a classic developer: he came with a laptop and did not take his eyes off him. I let go of a couple of phrases (such as on-duty questions) and I was not interested in him anymore.



So I went through all stages of the interviews and received a letter with the subject “An invitation to work in 1C Firm,” which I still keep in a special folder))



About colleagues, atmosphere and processes



Colleagues are different there. That's very straight. Someone is normal, someone is toxic, someone is toxic. Someone takes a look at herself as if not in themselves, because the old man and everything rests on him, someone does not do a damn thing at all. Most of them do not have any special feelings for 1C, as a platform. It’s just a job, nothing personal.



Most work here for a long time. I don’t know whether the realization that there is nowhere else to grow or the extremely relaxed, loyal atmosphere is doing its job: it is extremely rare to leave the company. I do not have accurate statistics on this subject, but it seemed to me that the average "age" of an employee is 7-10 years. By the way, this surprised me then: how can one “get off the ground” for so long? Although the programmer at 1C Firm has some feedback from other programmers who implement his creations, he never communicates with end users or customers.



Part of the manual makes a good impression: they both rummage in the business and on the platform, but such, as a rule, are like hot cakes. Others are directly not talking about programming at all, and if they say that you need to write an array sorting module and you need a month to do this, they will say “well, ok.” That doesn't give a damn about you.



In general, the team spirit and mutual assistance do not hover in the atmosphere. There are some colleagues who are easy and pleasant to work with, but this is rather the exception. Basically, if you come for help or advice, they will not openly send you, but you will not see the desire to help. If people come to you to discuss how to use your features better, the question will most likely be built in the form of “why you didn’t do it the way I like it.”



On the other hand, nothing makes you work well. Even nothing works at all. I don’t know what needs to be done (or not done) to get fired or at least scolded. There was one such case when at a weekly rally one developer said something like "I really didn’t do anything this week, I have nothing to tell." In response, I received only a request to pull myself together next week.



In the process of rolling out a new development, there is such a step when you assemble a part of the team and show them what they saw, and they, in turn, sketch out ideas where something can be fixed and improved. In most cases, such meetings are very toxic: reviewers are not shy in expressing their feelings in relation to your development, the dialogue is not so much an exchange of opinions as disputes and sracha. But there is a plus: the composition of the invitees, except for the manager and the lead (in my case, the last one was almost never at work) is not regulated and if it turns out not to invite the most deranged colleagues, you can actually improve what seemed if not ideal, something close to ideal.



If there are no deadlines prescribed in any law, you can do something almost forever. For a couple of additional iterations [development - presentation] you will not receive three bugs out of turn, you can "grind" the development as much as you like.



Reading the previous paragraph, a strange sensation could arise, as if the programmers themselves decide what and how to write. Without methodologists, analysts and other architects. Yes. Out of my ear I heard that in configurations whose functionality is over-regulated, such as bookkeeping or personnel accounting, there are some superprofessional accountants who can read the laws between the lines and have learned the chart of accounts before the multiplication tables that advise the guys, but where there is no regulation so much - there are no analysts or architects. There is this collective mind, which looks at the development and that's it.



There is such an event, which takes place three times a year and all 1Sniks are very “fond of it” - A large 1C seminar for partners. All or almost all developers of configurations supplied by 1C itself are driven to it on Sunday. Participation is not necessarily necessary, but, let’s say, non-participation is highly discouraged. The “lucky ones”, having washed down something important, have a chance to make a report on their development to an audience of 100+ people, each of whom has his own opinion on where the programmers of the company grow their hands and how to do it. Although, I must admit, here the level of toxicity is low and, as a rule, everything is friendly.



More interesting, thesis:



a) there is a private guide book on how to write and how not to write code. It has a lot of features and tips ranging from simple language constructs to more complex things that can be called 1C-ovsky design patterns



b) no review. At all. Your code does not care if it works. There is a code analyzer, but it doesn’t work by push (and even more so not at the time of writing the code), but with a great delay and checks at the wrong level that all sorts of sonar cube and other pvs. Searches for only the simplest things



c) it is possible and even necessary to push it into the master (features of 1Snoy version control system). At the same time, the leader observes the push only in fact and if he wants to, he doesn’t have any pool requests or something like that



d) the arrival strictly by time. no flexible working day, but many neglect this on the principle that “the strictness of laws is compensated by the non-bindingness of their implementation.” udalenki basically no, all work only in the office



d) 90% of the people sit out time: at 18:00 it blows them away. Another 10% sit longer: someone because they come later, someone for the idea. Processing “as needed” is a rarity, it happened to me two or three times during the whole year, but I was not the most involved employee



e) overtime is not paid. None and in any form (even did not give time off for work on Saturday / Sunday). At least that's the case with ordinary developers. Participation in the seminar is also not paid.



About Tasks



In general, when you come to a company, you come to some specific “configuration” (an application solution from 1C, written on the 1C platform) specialization inside the configuration can be more or less rigid, depending on the size of the configuration itself, but outside the configuration you won’t go out (there are guys who saw libraries, but this is a different story). So I ended up with a rather small configuration, in which there was complete gouging.



Basically, the configuration is chosen by themselves at the entrance. There are times when someone is interviewed for one configuration, but in the process it turns out that he is generally normal, but lacks some specific skills (for accounting, for example) and they select a more suitable place. I did not hear about someone changing the configuration, although I do not think that this is impossible.



There were no tasks. Well, or almost none. The whole team consisted of 12 people. Three and a half people worked. The rest was engaged in some kind of nonsense: someone because of their own conviction that what he was doing and there was work, someone openly kicked, someone wrote to the left.



As I understand it, there are 3 ways in a company for a 1C programmer:



a) do nothing from the word at all

b) look for tasks for yourself and move the mountains in a convenient schedule

c) get into the sector of regulated development (such as accounting or other EGAIS) and work with clear plans and deadlines



Perhaps some leads lead their way :)



Absolute absence at the workplace will certainly be noticed, but fixing a couple of simple bugs per week is a quite acceptable level of productivity so that the manager does not have questions. Maybe in this case the questions should have arisen in the lead, but in my case the lead was literally absent from work 2/3 of the time, and in the remaining 1/3 did not show strong zeal. So I "worked" for a while.



Then I was lucky and I was "tangentially" hooked by some legislative innovations that occupied me for a while.



Somehow I tried to play “look for my own tasks and move mountains” and tried to discuss with the manager and implement the tasks that I would like to do. And at first it even worked out for me: I sawed off a couple of small features that, it seems to me, made life easier for some people. But when I tried to swing at great functionality (there is one rather voluminous topic in 1C, according to which I consider myself a dock and which was at an absolutely terrible level in our configuration) - the manager let go of the brakes according to the classical scheme: “come on with this bug we'll figure it out, then we'll talk. ” “And here we have on the horizon the second package of the legislative thing that you sawed. Let's do it, then we will take up .. ". And here you understand that the first time she postponed the question for a week, the second time for a month, and now we are talking about the fact that in the coming year we will not do this. I don’t know if this distrust of me as a newbie or she basically didn’t want big changes or I overestimate the value of the feature ... But I must admit, I was not too persistent in promoting my ideas.



Happy end



So about a year passed, and I was saddened by such hopelessness, and then a delicious offer fell off as evil and I decided that it was time to end this.



When you say that you are leaving the company, you go through an exit interview with all the managers up, including Boris and Sergey Nuraliev. They ask for a long time about the reasons, offer options for staying (even though I didn’t mention anything special in the company). It seems that Boris Georgievich is even sincerely sorry. Sergey as usual in a laptop.



At the weekend interview, I did not greatly hide the reasons for my decision and spoke about the organization of work within the department as it is. On leading questions from Boris Georgievich, it seemed to me that my manager would have a serious conversation with him.



That major feature that I proposed was never washed down.



With the offer for which I left it turned out quite interesting: thanks to him I was able to jump into Java development and for two years now I have been using IntelliJ IDEA instead of the Configurator, which I do not regret for a second.



All Articles