Как выжить джуну единственным разработчиком на проекте?
На связи backend джун после института. Первое место работы. Пришел как джуниор Python\Django dev. Фирма пишет CRM систему для взаимодействия с клиентами + поддерживает клиентские проекты разной сложности (от интернет магазинов до сложных логистических систем). Все разумеется кастом самописный и без документации. Штат в 20-30 человек, 5dev команд, 3 человека на команду (Фронт, Бэк и верстак), остальное манагеры и админы. Ситуация:
Взяли сразу после собеседования, даже ТЗ не давали, только устный опрос. С первого дня никто не следил за тем что я делаю, сразу поставили единственным back-разрабом в команду с таким же джуном фронтом (проект на React) и девочкой верстаком. Я пушил в репозиторий проекта все что угодно, при том даже я своим джунским мозгом понимал что пишу лютый костыльный бред, плюсом в компании нет штатных тестеров (тестирование разрабы проводят сами, либо аутсорс для дорогих и больших проектов). На все мои попытки узнать у старших товарищей как правильно я получал ответы примерно: "Ну сделай просто как нибудь, видишь листы правок? Исправлять уже будем потом, сейчас главное сделать. И вообще у нас другие проекты, мы тот не видели полгода". Сейчас почти все разработчики уровнем выше меня успешно уволились и работают в другом месте. Потом ушел фронт джун и вот уже третью неделю являюсь единственным fullstack разработчиком на средней сложности проекте (при том что знаю только базу js и практически его не применял), со мной только та девочка "ну я верстаю, немного jQuery".
Проект дикий кастом, по заверению ТД я уже даже не в десятке людей которые его поддерживают (проект в работе около полутора лет). Документации нет, все написано разными людьми и покрыто тестами примерно никак. А из-за этой дикой текучки единственный человек у которого можно что-то узнать - ТД, который по совместительству совладелец фирмы и занят еще многим, кроме непосредственного написания кода. Еще есть такой же как я джун, только чутка поопытнее, но с ним тоже все грустно. Разговорив девочку кадровика узнал что у них тут такая ситуация нормально и они меняют от 40 до 60% штата каждый год.
А теперь немного того что пережил:
В первый день работы получаю root доступ к удаленному dev серверу. Грохаю на нем свою бд (впервые работал с psql). Узнаю что они его не бекапят. Матерюсь, сливаю БД с продакшна.
К концу второй недели (первое обновление проекта) получаю root к продакшн серверу и настоятельную рекомендацию обновить проект на проде (django+psql) с даунтаймом близким к нолю да побыстрее.
К концу месяца замечаю то, что гитом пользуются полтора человека.
На этой неделе беру проект который писали на продакшене, а последний пуш в гит по его master ветке был аж в апреле. Имея рут доступ посмотрел что у них на гите и на проде, сравнил... Такая ситуация далеко не редкость. Больше половины проектов пишутся в обход гита прямо на прод сервере.
Единственный плюс - оклад для позиции джуна существенно выше (больше, чем в 1.5 раза), чем в среднем по Москве.
Хочу свалить оттуда до того как возьму этот проект. Испытательный кончается в начале сентября. Там уже официальное трудоустройство. Правильно ли я сейчас намереваюсь или повременить? Более опытные товарищи, как определить временный ли это кадровый кризис в компании или результат расп... непрофессионального отношения к рабочим процессам?
И если все-таки уходить, какие подводные камни? Договоренность на время испытательного устная, зп в конверте и т.п. никаких бумаг не подписывал и договорами не связан.
Спустя два года, в назидание потомкам:
В общемто продержался там почти 10 месяцев, потом сдали нервы.
Внедрил pyunit, фронтовые тесты на cypress, договорился с ТД о сокращении числа команд после новой волны увольнений. Внедрил скрам, завернул заказчиков в часть скрам команды (демо, планирования, импакт маппинг, 8 из 10 были счастливы, многие до сих пор просят что-то сделать / проконсультировать за неплохие суммы ₽). Повсеместно гитлаб и докер. Рассказав ТД про кубернетес и ушел в закат на зп в 2 раза выше, чем предлагали на месте.
Опыт веселый, но много стрессов и я скорее ошибка выжившего. За полгода и 30 человек которые пришли и ушли, максимум 3-5 смогли вынести из этой компании что-то полезное, и то только потому что были в моей команде или работали с нами над одним из проектов. Остальные дико деградировали, теряли всякую мотивацию писать код или останавливались в развитии. Поголовно все бежали из компании.
Никому, кроме кто страдает мазахизмом и готов к 14 часовым рабочим дням, такого не посоветую, бегите. Вы свалитесь, у многих людей в такой обстановке начинались проблемы с психикой, я видел это своими глазами.
Не гонитесь за деньгами. Найдите развивающуюся компанию, готовую и идущую на эксперименты, как минимум с одним человеком знающим что и куда там идет, и держитесь за нее. А еще спите и занимайтесь спортом, обязательно.
Имхо, валить, но не сразу, а как будет альтернатива. Ну и хорошо присмотреться к первой з.п., может там уже не настолько выше средней позиции. Работая через Ж только закрепляешь ошибки.
А ситуация в компании — на грани развала, в итоге ничего путного из этого не выйдет.
Я как-то работал при аналогичных условиях. Возможно даже хуже. 1 делом, наплевал на на защиту их системы и работы других прогеров. Я та был осторожен, и все что относилось ко мне оберегал бекапами, гитом, системой деплоя и тд. А в это же время мои сотоварищи писали код прямиком из notepad через мать его Samba. Samba же открыта и без пароля и доступна по вафле. У вафли пароль 12345678.
Если бы я еще умел понимать и мочь Agile... Самое сложное в git-flow это то, что мне приходится поддерживать чужой код в общих репозиториях, и для того что бы запулить его в удобном для меня виде в гит (не собирая статику и прочий мусор который пишет проект в рабочую директорию почему-то) мне нужно убить несколько дней на то что бы его перелопатить и очистить репо от всего мусора. А там зачастую даже архивы бекапов. Заказчик тем же временем не дремлет и присылает правки по факту каждые несколько суток.
Да и у меня опыта организации рабочих процессов примерно ноль. Одна из причин не искать удаленку как раз и была в том что бы иметь ментора к которому можно если что подойти и спросить, а тут я жестко обломался.
Самая большая проблема что я пришел туда джуном, но по факту спрашивают с меня не как с джуна и ничему не то что не учат, а даже не контролируют то что я наговнокодил за это время.
Trahibidadido: беда удаленки в том что у вас будет мало времени учится. Вам придется пилить багфиксы на 5-6 строк, и ждать пару дней (или недель) пока тестеры протестируют, и тимлид их смержит.
--
Плюнте на старый код, в крайний случай делайте как вам угодно. Если вам будет удобно "программировать" прямиком на продакшен так делайте. А вот с новыми проектами будьте аккуратны, и все будет ок.
Грубо говоря Agile это разделение веток развитая (фич) на категории. Для github есть Zenhub, который хорошо с этим справляется.
Trahibidadido: я в команде работаю автоматтизатором тестирования, потому что заказчик хочет чтобы разработчики писали ui тесты - я это на себя это взвалил и тащу, чтобы разработчики могли сконцентрироваться на разработке. Несмотря на то, что мне ни с архитектурой ни с кодом ни с анализом результатов никто не помогает. Никому даже дела нет как там идут дела, главное чтобы количество тестов которое требует заказчик было написано. Коллеги тоже не знают толком чем я занимаюсь. А я за последний год написал столько тестов, что теперь нахожу в два раза больше багов чем ручные тестировщики. Из абсолютно идиотской ситуации выжал максимум пользы. Надо писать, будем писать - но не для галочки а для пользы. И если год назад ко мне обращались на "ты кто? тестировщик? пошел нафиг тестировщик" то теперь меня уважают и прислушиваются к моему мнению, а иногда и приходят за ним.
То что вы говорите что у вас опыта ноль - это страхи начинающего. Нафакапить можно и с сениором под боком. Только больше расстройства будет (мол еще и человеку заморочки устроил).
Я чувствую что голова у вас на месте. Ни к чему искать оправдания - ведь в данной ситуации никто не сделает эту работу лучше вас, потому что больше никого нет.
Для джуна развитие важнее денег. Т.к. развитие определяет в т.ч. скорость роста денег. Если засидишься в этом аквариуме с такими же мальками на сытом корме, хорошо плавать не научишься. После выпуска в океан будет очень трудно догонять своих быстро выросших сверстников.
Поэтому мои советы:
Выныривай сейчас.
Если ТД тебя слышит, то сначала поговори с ним о ситуации и о необходимости сменить менеджмент в компании, т.к. его по сути нет.
Разговор этот начинай на следующий день после получения з.п.
В любом случае, никого не кидай, дела передай, как следует. Цени свою репутацию.
Срок передачи дел определяй сам. На испытательном, да к тому же без официального трудоустройства у тебя нет обязательства отрабатывать 2 недели.
Жизнь бросила вам вызов. Вы можете его принять и возможно победить, а возможно проиграть. Либо не принять и проиграть однозначно. Я в подобных ситуациях оставался.
На мой взгляд вам в такой ситуации нужно оставаться, т.к. получается, что основная команда разбежалась вы остались одни и с вами с 99% вероятностью будет заключен нормальный контракт, вы получите колоссальный опыт, он просто идет к вам, будет по началу нелегко. После того как разгребете завалы и настроете процессы как нужно, почувтствуте насколько вы выросли. Возможно через некоторое время уже будете сами набирать джунов и пробовать делегировать ;-)
Роман Мирр: судя по тому что в конторе 2.5 разработчика на 5 команд - либо бек начнут писать оставшиеся фронтэндщики, либо будут набраны такие же как я джуны, учитывая что это python и вакансий не так много - набраны они будут быстро и абы как. Так что даже не знаю что хуже.
У меня похожая ситуация.
Относитесь к этому позитивно, опыт набираете сейчас семимильными шагами, причём разносторонний. Пусть не самый правильный, зато будете все знать не по форумам, а на своих шишках, да ещё и деньги получать.
Люди за крохи опыта обычно готовы сами платить. А тут без опыта такое счастье свалилось, кто ещё возьмет джуна, как не компания с текучкой и рас..дяйством организации.
Уходите оттуда когда почувствуете что перестаете учиться.
Согласен со всеми выше высказавшимися - это шанс. Тем более платят не так чтобы приходилось жаловаться. Неоплачиваемую переработку делать не заставляют? Тогда вообще практически идеальные условия. А бардак он везде есть. И там где двести разработчиков и там где два.
Во первых, если вы джун - то надо изначально искать команды где вы будете не единственным бек-энд программистом и будет наставник.
Во вторых, раз уж попали куда попали - я бы рекомендовал годик посидеть. Тем более, если платят хорошо. Т.к. быстрая смена работы будет не лучшим пунктом в глазах других HR-ов. Да, вы конечно можете рассказать, что попали в такую компанию. Но кадровику-то откуда знать? Может быть вы там косячили, и вас попросили "написать по собственному".
В третьих, бардак который вы описали в ~80% компаниях. Только еще и платят копейки. И не забывайте, что работодатели тоже врут - могут пообещать "быстрый рост" (в з/п в том числе) - уйдете к ним, а по факту никакого роста не будет.
В общем - учиться, развиваться, искать опытных разработчиков в компании, и через годик искать новое место работы. Основательно и без спешки.
плюсом в компании нет штатных тестеров (тестирование разрабы проводят сами, либо аутсорс для дорогих и больших проектов)
Экий ты балованый.
Тестеры не нужны, кроме крупных проектов.
Единственный плюс - оклад для позиции джуна существенно выше (больше, чем в 1.5 раза), чем в среднем по Москве.
Сам решай что важнее - деньги в кармане сегодня и ограничения проф. роста.
Или проф. рост, но меньше денег сегодня.
Хочу свалить оттуда до того как возьму этот проект. Испытательный кончается в начале сентября. Там уже официальное трудоустройство. Правильно ли я сейчас намереваюсь или повременить? Более опытные товарищи, как определить временный ли это кадровый кризис в компании или результат расп... непрофессионального отношения к рабочим процессам?
Было бы правильнее спросить у коллег, как там было. Всегда или только сейчас.
И если все-таки уходить, какие подводные камни? Договоренность на время испытательного устная, зп в конверте и т.п. никаких бумаг не подписывал и договорами не связан.
Как правило зарплату выдают 2 раза в месяц.
В самом тяжелом случае потеряешь зарплату за 2 недели.