Мой опыт работы в Фирме 1С
Кажется, писали уже обо всех: от Яндекса до Мэйлру, от Люксофта до Туту. Но про самую отстраненную, самобытную и изолированную компанию на ИТ рынке еще не было. Расскажу о своем опыте работы в отечественной Корпорации зла.
К тому чтобы поделиться своим опытом меня подтолкнула эта статья, а не состоявшееся накануне увольнение, я работал в фирме несколько лет назад, поэтому что-то я могу помнить не совсем точно, а что-то могло уже измениться. С другой стороны, 1С — не стартап и изменения там происходят неспешно.
Для понимания: если мы говорим об основном, энтерпрайзном направлении, в Фирме 1С работают два типа программистов: плюсовики, которые пилят платформу 1С: Предприятие и 1Сники, которые на этой платформе пилят прикладные решения. Есть и другие, которые делают Битрикс, игры и прочее и прочее, но это уже, скажем так, «филлиалы». Я работал в энтерпрайзном бизнесе, 1Сником на прикладном решении.
О собеседованиях и собеседующих
К тому моменту как мне в голову пришла идея сходить в 1С на собеседование я уже работал 1Сником года 4. Мне казалось (как я потом понял зря), что я неплохо знаю платформу и могу пройти собеседование по 1С куда угодно. Вообще, любому 1Снику фирма 1С кажется чем-то вроде хрустального замка на вершине горы, в котором живут полубоги. Ну типа как Goolge для остальных)) Поэтому перед тем как пойти туда на собес я нехило переживал, хотя на другие собеседования ходил как на прогулку, зная, что завалить меня можно только вопросом типа «процитируйте 186-ю строку кода модуля авторизации пользователя». Я в общем-то по серьезному даже не надеялся на положительный исход, но так или иначе я перешагнул порог здания на Тимирязевской в качестве соискателя.
Первое что поражает — это само здание. Я конечно был теоретически в курсе, что 1С не самая бедная фирма и что за океаном ребята вообще миллиарды делают на IT, но будучи до этого 1Сником я привык что программист 1С — это некто сидящий в офисе класса Г, потому что надо быть близко к бизнес-процессам, а они в моем случае как правило происходили на складах (я ни в коем случае не утверждаю, что в таких условиях работают все 1Сники). В 1С же все был просто другой мир: здание из стекла и мрамора с переговорками из стекол с изменяемой прозрачностью, мебелью не из Икеи и полным ощущением, что ты пришел в офис банка, а не туда, где сидят 1Сники.
Первым этапом традиционно было собеседование с HR, которое кроме общения на общие темы так же подразумевало тестовое задание в форме вопросов с вариантами ответов. Задание было довольно непростое, ответы оценивались HRом по табличке правильных ответов. Некоторые вопросы требовали знания довольно тонких моментов, которых я не знал, и я уже был в миллиметре от провала, но тем не менее я выехал за счет вопросов по языку запросов (в нем я был силён).
На следующем этапе я познакомился со своим будущим лидом и менеджером. Менеджер была довольно далекой от ИТ, милой женщиной. Лид был странный (чья бы мычала). Собеседование прошло довольно неплохо, я не все знал, но на этой секции чувствовал себя уже довольно уверенно, поскольку она была больше про архитектуру БД: мне предложили комплексную задачу, требовалось для нее спроектировать систему на бумажке. Эдакий вайдбординг по архитектуре.
Следующее собеседование (третье) было с руководителем направления. Он задавал задачки про круглые люки (в хорошем смысле) и в целом производил впечатление крайне крутого лида. От него я так же получил положительный отзыв.
Четвертое (и заключительное) собеседование было с директором и руководителем разработки. Таки да, сами Борис и Сергей Георгиевичи Нуралиевы, состояние которых оценивается в ярд баксов на двоих берут на работу 1Сников. Причем на собеседовании присутствуют оба. Борис Георгиевич ну никак не производит впечатление акулы ИТ бизнеса. Это скорее добрый дедушка, которых просто хочет поговорить с тобой по душам. Разговор отталкивается от темы твоего диплома (это видимо общее место — универсальный повод начать беседу) и далее продолжается просто «за жизнь», никаких технических вопросов там никто не задает. Сергей Георгиевич — это классический разраб: он пришел с ноутбуком и не отрывал от него глаз. Отпустил пару фраз (типа дежурных вопросов) и больше я его не интересовал.
Так я прошел все стадии собеседований и получил письмо с темой «Приглашение на работу в Фирму 1С», которое до сих пор храню в особой папке))
О коллегах, атмосфере и процессах
Коллеги там разные. Вот прям очень. Кто-то норм, кто-то токсичный, кто-то капец какой токсичный. Кто-то вjobывает как не в себя, потому что старичок и на нем все держится, кто-то не делает вообще ни черта. Большинство из них не питает к 1С, как к платформе, никаких особых чувств. Это просто работа, ничего личного.
Большинство тут работает долго. Не знаю, осознание ли того что больше некуда расти или крайне расслабленная, лояльная атмосфера делают свое дело: из фирмы увольняются крайне редко. У меня нет точной статистики на этот счет, но мне показалось, что средний «возраст» сотрудника лет 7–10. Меня это, кстати, тогда удивляло: как можно так надолго «отрываться от земли»? Программист в Фирме 1С хоть и имеет некоторую обратную связь от других программистов, внедряющих его творения, но ни с конечными пользователями, ни с заказчиками никогда не общается.
Часть руководства производит приятное впечатление: они и в бизнесе шарят и в платформе, но такие, как правило, нарасхват. Другие прям вот вообще не про программирование и если им сказать, что тебе надо написать модуль сортировки массива и тебе на это нужен месяц — скажут «ну ок». Таким на тебя наплевать.
В целом, в атмосфере не витает командного духа и взаимопомощи. Есть отдельные коллеги, с которыми легко и приятно работать, но это скорее исключение. В основном, если ты приходишь за помощью или советом — тебя откровенно не посылают, но и желания помогать ты не увидишь. Если к тебе приходят обсудить, как лучше пользоваться твоей фичей — вопрос, скорее всего, будет построен в форме «почему ты это сделал не так, как нравится мне».
С другой стороны, ничто не заставляет работать хорошо. Даже вообще работать ничто не заставляет. Я не знаю, что нужно сделать (или не сделать) чтобы тебя уволили или хотя бы поругали. Был один такой случай, когда на еженедельном митинге один разраб сказал что-то типа «чо-то я особо ничего не делал на этой неделе, нечего рассказать». В ответ получил только просьбу взять себя в руки на следующей неделе.
В процессе выкатывания новой разработки есть такой шаг, когда ты собираешь часть команды и показываешь им чо запилил, а они в свою очередь набрасывают идеи где что можно поправить и улучшить. В большинстве случаев подобные встречи носят весьма токсичный характер: рецензенты не стесняются в выражении своих чувств по отношению к твоей разработке, диалог носит характер не столько обмена мнениями, сколько споров и срача. Но есть и свой плюс: состав приглашенных, кроме менеджера и лида (в моем случае последнего почти никогда не было на работе) не регламентирован и если получится не пригласить самых невменяемых коллег — можно на самом деле улучшить то, что казалось если и не идеальным, то близким к идеалу.
Если нет сроков прописанных в каком-нибудь законе — можно делать что-нибудь почти вечно. За пару-тройку дополнительных итераций [разработка — презентация] тебе не прилетит три бага вне очереди, можно «шлифовать» разработку сколько угодно.
Читая предыдущий абзац, могло возникнуть странное ощущение, как будто программисты сами решают что и как писать. Без методологов, аналитиков и прочих архитекторов. Таки да. Краем уха слышал, что в конфигурациях, функционал которых зарегулирован до нельзя, типа бухгалтерии или кадрового учета, есть какие-то сверхпрофессиональные бухгалтера, умеющие читать законы между строк и выучившие план счетов раньше таблицы умножения, которые консультируют ребят, но там, где регулирования не так много — нет никаких ни аналитиков, ни архитекторов. Есть вот этот коллективный разум, которой смотрит на разработки и все.
Есть такое мероприятие, которое проходит три раза в год и все 1Сники его очень «любят» — Большой семинар 1С для партнеров. На него в воскресенье сгоняют всех или почти всех разработчиков конфигураций поставляемых самой 1С. Участие не то чтобы обязательно, но, скажем так, неучастие крайне не приветствуется. «Счастливчикам», запилившим что-то важное, выпадает шанс делать доклад о своей разработке на аудиторию 100+ человек, у каждого из которых есть свое мнение на то, откуда у программистов фирмы растут руки и как надо было делать. Хотя, надо признать, здесь уровень токсичности невысокий и, как правило, все доброжелательно.
Еще из интересного, тезисно:
а) есть закрытый гайд-бук о том как писать и как не писать код. В нем очень много особенностей и советов начиная от простейших языковых конструкций, заканчивая более комплексными вещами, которые можно назвать паттернами проектирования по-1Совски
б) ревью нет. Вообще. На твой код всем плевать если он работает. Есть кодоанализатор, но работает он не по пушу (и уж тем более не в момент написания кода), а с сильным запозданием и проверяет не на том уровне что всякие sonar cube и прочие pvs. Ищет только простейшие вещи.
в) можно и даже нужно пушить в мастер (особенности 1Сной системы контроля версий). При этом лид наблюдает пуш только по факту и то если сам захочет, у него не светится никаких пул-реквестов или чего-то подобного.
г) приход строго ко времени. никакого гибкого работчего дня, но многие этим пренебрегают по принципу «строгость законов компенсируется необязательностью их выполнения». удаленки принципиально нет, вся работа только в офисе.
д) 90% народу отсиживают время: в 18:00 их сдувает. Еще 10% сидят дольше: кто-то потому что приходит позже, кто-то за идею. Переработки «по необходимости» — это редкость, со мной такое было два или три раза за весь год, но я был не самым вовлеченным сотрудником.
е) сверхурочные не оплачивают. Никакие и ни в каком виде (даже отгул за работу в субботу/воскресенье не дают). По крайней мере так у рядовых разработчиков. Участие в семинаре тоже не оплачивают.
О задачах
Вообще, когда приходишь в фирму — ты приходишь на какую-то конкретную «конфигурацию» (прикладное решение от фирмы 1С, написанное на платформе 1С) специализация внутри конфигурации может быть более или менее жесткой, в зависимости от размеров самой конфигурации, но за пределы конфигурации ты не выйдешь (есть ребята которые пилят библиотеки, но это отдельная история). Так вот я попал на довольно небольшую конфигурацию, в которой было полное раздолбайство.
В основном, конфигурацию выбирают себе сами на входе. Бывают случаи, что кто-то собеседуется на одну конфигурацию, но в процессе выясняется что в целом он норм, но нехватает каких-то специфических навыков (по бухучету, например) и ему подбирают более подходящее место. О том чтобы кто-то сменил конфигурацию я не слышал, хотя и не думаю что это невозможно.
Задач не было. Ну или почти не было. Вся команда состояла из 12 человек. Работали три с половиной человека. Остальные занимались какой-то ерундой: кто-то по причине собственной уверенности в том, что то чем он занимается и есть работа, кто-то откровенно пинал, кто-то писал налево.
Как я понимаю, в фирме для программиста 1С есть 3 пути:
а) не делать ничего от слова совсем
б) самому искать себе задачи и двигать горы в удобном для себя графике
в) попасть в сектор зарегулированной разработки (типа бухгалтерии или прочих ЕГАИСов) и работать с четкими планами и сроками
Возможно, некоторые лиды ведут своих по своему пути)
Абсолютное отсутствие на рабочем месте конечно будет замечено, но пофиксить пару простеньких багов в неделю — вполне приемлемый уровень производительности, чтобы у менеджера не было вопросов. Может быть, в этом случае вопросы должны были возникать у лида, но в моем случае лид буквально отсутствовал на работе 2/3 времени, а в оставшуюся ⅓ не проявлял сильного рвения. Так я «работал» некоторое время.
Потом мне повезло и меня «по касательной» зацепили некоторые законодательные нововведения, которые заняли меня на некоторое время.
Как-то я попробовал поиграть в «самому искать себе задачи и двигать горы» и пытался обсуждать с менеджером и воплощать задачи, которые я хотел бы сделать. И в первое время у меня это даже получалось: я запилил пару небольших фич, которые, как мне кажется, сделали некоторым людям жизнь проще. Но когда я попытался замахнуться на большой функционал (есть одна довольно объемная тема в 1С, по которой я считаю себя докой и которая была на совершенно ужасном уровне в нашей конфигурации) — менеджер все спускала на тормозах по классической схеме: «давай вот с этой багой разберемся, потом поговорим». «А вот у нас на горизонте второй пакет той законодательной штуки, которую ты пилил. Давай сделаем ее, потом будем браться за…». И тут ты понимаешь, что первый раз она отложила вопрос на неделю, второй раз на месяц, а сейчас речь о том что в ближайший год мы это делать не будем. Не знаю, было ли это недоверие ко мне как к новичку или ей в принципе не хотелось больших изменений или я переоцениваю ценность фичи… Но и я, надо признать, не был через чур настойчив в продвижении своих идей.
Хэпи энд
Так прошло около года и я загрустил от такой безнадеги, а тут как на зло свалился очень вкусный офер и я принял решение, что пора с этим заканчивать.
Когда ты говоришь что покидаешь фирму — ты проходишь выходное интервью со всеми менеджерами вверх, включая Бориса и Сергея Нуралиевых. Долго спрашивают о причинах, предлагают варианты остаться (даже при том, что я ничем особенным в фирме не отметился). Кажется, Борису Георгиевичу даже искренне жаль. Сергей как обычно в ноутбуке.
На выходном собеседовании я не стал сильно скрывать причины своего решения и рассказал об организации работы внутри отдела как есть. По наводящим вопросам со стороны Бориса Георгиевича мне показалось что моему менеджеру предстоит серьезный разговор с ним.
Ту крупную фичу, которую я предлагал, так и не запилили.
С офером, ради которого я ушел получилось совсем интересно: благодаря ему я смог перепрыгнуть в Java-разработку и вот уже два года юзаю IntelliJ IDEA вместо Конфигуратора, о чем не жалею ни секунды.