«И так, тебе дали джуна..» Как я пыталась не поехать кукухой

 Публичный пост
22 марта 2025  2708
ОХУЕННО

Версия 2.0 — теперь с антипсихозным пакетом™

Дисклеймер: пост немного переписан после того как топикстартер пришел в себя после пятничного деплоя и пошел потрогал траву.

Пришла я, значит, на новый проект в новую компанию новоиспеченным мидлом полтора месяца назад.

Когда тебе говорят: “У тебя будет джун, поднаставляешь немного” — ты думаешь: “О, класс, помогу человеку войти в профессию, передам опыт, всё будет по-человечески”.

Мечтаешь, что он будет трудолюбив, как замотивированный китаец, жизнерадостен, как немец во время октоберфеста, и дотошен, как француз при расчете налоговых льгот (с)

Ага. Ты свою часть закрыла, а джун срался в угол неделю и так и не вылез. Завтра демка. Код не заревьюен. PR не открыт. Фича, возможно, сломана — но это уже тайна, скрытая в файлах .tsx. Очень живописное зрелище.

Наивность — это прекрасно.

Ставлю стендапы. Договариваемся: если что-то не получается — пиши. Если сделал задачу — пиши. Если просто хочется поплакать — пиши. Давай посмотрим на новую задачу вместе.

Он не пишет. Он — партизан, сидит тихо-тихо, аки тать в нощи. PR не открывает: код лежит в локалке, как священная реликвия.

Милиция, расследование, вазелин, объяснительные…

Открываем редактор:

— Давай, вот компонент. Нужно через useEffect подгрузить данные.

Он смотрит. Он даже кивает. Но курсор встал в угол экрана и дрожит.

Сорок невыносимых секунд тишины. Я подсказываю: “Ну, с чего бы ты начал?” . Начинает писать, строки горят error-красным, как будто мы на собеседовании в ад, а не во вторник чаи гоняем.

Я понимаю — это не ступор. Это не волнение. Он не знает, что делает useEffect, зачем он вообще нужен, что он должен “эффектить”, а у нас таких хуков в проекте — как котов у старой бабушки. Там, в коде, красиво. Правильно. Строго по правилам. Ну нихуя себе.

Так и хочется пиздануть по рукам чтоб не трогал GPT пока синтаксис не выучит нормально. Завтра буду вставлять моральных люлей.

Примерный план, которого я пыталась придерживаться:

1. Уточнить, что с ним делать

  • Помогать с задачами?
  • Учить поддерживать внутренние тулзы?
  • Рассказывать анекдоты про Чапаева?
  • Закидывать материалами чтоб он сидел и учился?

⚠️ На Аллаха надейся, а верблюда привязывай
Проверь ожидания менеджмента: они могут считать, что джун через неделю заменит синьора.

2. Составить чеклист на первый месяц

Без чеклиста я обычно теряюсь, как студенты в Ашане.

  • линк на проект, фреймворк, UI kit, гайд по code style
  • "песочницу": безопасные тикеты, где можно накосячить
  • регулярные стендапы/созвоны

📌 Бонус: на прошлой работе делала перед уходом гугл-док / notion — “джун-хелп”. Всё в одном месте: гайды, ссылки, структура проекта, кодстайл. Чем меньше “а где у нас...” — тем больше у тебя времени жить.

3. Забыть репетиторство

Как делал мой тимлид на первой работе во время pair programming или разбора кода? Не объяснять весь фронт, а:

  • проверять решения
  • показывать, как думать, а не что писать

Давать наводящие вопросы, а не готовые ответы. Каждую задачу не "как написать", а "что произойдёт, если..."

  • Что будет, если убрать зависимость из useEffect?
  • Почему useState не обновляет сразу?
  • Почему этот console.log выводится дважды?
  • “Что делает эта строка?”
  • “Что произойдёт, если её убрать?”

4. Брать его с собой в бой

Пока он сидит и залипает в тикет, который боится трогать без папской буллы — надо брать его с собой. Звать в созвон, когда делаешь что-то руками, мол, “смотри, как я живу”.

“Ща буду чинить верстку / тыкать API / дебажить ререндер — если интересно, залетай, можно в мьюте.”

Пусть сидит, наблюдает, слушает, перенимает не только техническое, но и поведенческое:

  • как ты реагируешь на баг
  • как пишешь в команде
  • как структурируешь задачу
  • цитируешь Остапа Бендера когда стресуешь

5. Не давать скучать, но и не заваливать задачами

Задачи должны быть:

  • понятные
  • изолированные
  • с одним новым концептом (а не 7 штук и авторизация через NASA API)

Например:

  • первая задача — просто сверстать блок
  • вторая — подвязать данные
  • третья — добавить интерактив
  • и т.д.

Прекрасный пример списка задач на первый день
Прекрасный пример списка задач на первый день

6. Запрет на GPT без паспорта?

— Смотри, я тут написал компонент
— А ты сам его писал?
— С GPT
— Ну, тогда пусть GPT и идёт на демо.

Раньше как было? Увидела в коде let без необходимости — понимаешь, что джун рядом. Сейчас увидела только var — поняла, что GPT сидит в тех-же кустах.

Хочелось (очень) установить примерно вот такую диктатуру:

Хочешь использовать GPT — сначала сдай экзамен на понимание, что он тебе сгенерил. Иначе — только клавиатура и слёзы: просто так бывает хорошо только от наркотиков. И не вздумай упираться. Ты, сукин сын, будешь умён и счастлив вне зависимости от того, хочешь ты этого или нет!

...well. Имхо GPT — не палочка-выручалочка, а учебник и помощник. Его можно использовать только для уточнений, не для готовых решений.

Но свои мозги не вставить

7. Фидбек по-людски


Хвали за конкретику (“клево, что ты сам нашел библиотеку для этого”), ругаешь — тоже по делу (“вот тут неочевидное название переменной, сложно читать”).

Фидбек давай:

  • регулярно
  • в личке
  • с контекстом

Бонус поинт: анекдоты (или почти)

Пачка анекдотов, которыми чат-ГПТ пытался помочь мне пережить мартовскую демку "чтобы не умереть от менторства". Если вам кажется, что она стала вдохновением для поста - вам не кажется.

От этого, конечно, хочется скорее плакать чем смеяться: нейронка у меня писать приколы не обучена, но всё таки давайте хоть всплакнем вместе.

После двух недель работы джун прислал PR с комментарием: “Пока не уверен, что это то, что нужно, но отправляю на всякий случай”.

— А почему ты не написал юнит-тест?
— Потому что я написал код, который и так работает.
— (медленно вынимает валерьянку)

Джун сказал, что оптимизировал код.
Теперь мы его не можем найти.

Джун написал компонент, который рендерит сам себя внутри себя.
Так у нас появилась рекурсия и новая философская концепция.

Был один джун, который спрашивал: “А зачем нужны комментарии, если код сам говорит за себя?”. Его код мы хоронили всей командой.

Джун решил, что деплой можно не делать, если он и так “всё видит у себя локально”.

В коммите джуна было написано: minor fix, но по факту: удалены стили, заменены компоненты, изменён API-запрос, и пропал логотип.

Джун создал функцию, которая возвращает true, чтобы проходить if, даже когда всё сломано.

Посмеялись? Поплакали? Вспомнили себя в молодости? Я тоже.

В общем пока мне кажется, что это как завести тамагочи: Вовремя не покормил задачей — пропал. Дал слишком сложную — обосрался. Не следишь — затих в углу и перестал открывать PR.

Связанные посты
98 комментариев 👇
Настя Кудрявцева Фронтенд разрабочица автор 21 марта в 22:43

Когба только пришла на первую работу – обожала писать мемные commit messages, типа « добавила тесты и экзистенциальную боль» или «на глазок по фэншую».

Тимлид не оценил 🥲

А что вы чудили на первых порах?

🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@leider-doch, Снес пару продакшен серверов.

Заодно проверили как бекапы работают (с)

  Развернуть 1 комментарий

@urtow, на те держите стресс тест)

  Развернуть 1 комментарий

@leider-doch, помню у нас как-то стажёр(ка) начала писать коммит месседжи с эмодзями (gitmoji), а наши самописные скрипты в CI это не прожевали и так разработка встала на несколько часов. Мораль - работайте с юникодом по-человечески даже во внутренних тулзах :)

  Развернуть 1 комментарий

@pycz,

самописные скрипты в CI это не прожевали

я тут недавно дал ветке название с эмодзи 🤗 по названию соответствующей компании, так меня аж гитхаб предупредил мол "ай-ай-ай, не делай так"

  Развернуть 1 комментарий

@pycz, У меня был веселый опыт с таким от третьестороннего публичного МЛ-пакета, который нужно было запускать внутри docker exec. Если на хост-машине он запускался нормально, то в урезанном терминале докера всё валится на моменте вывода веховых логов на экран - время обучения модели помечалось там через эмодзи будильника. И это ломало весь скрипт, дальнейшие и прошедшие процессы тоже, ведь до этой строки была ещё предподготовка данных, распределение их по батчам и прочие процессорно емкие и долгие задачи.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Несколько раз приходилось менторить джунов/стажеров и таки имею что сказать:

  1. Готовится нужно сильно заранее. Поговорить с лидами, какой проект мы собираемся ему предложить сделать (ну чтобы и не бесполезно было и не похерить планы если не выйдет). ХОРОШО ПОДУМАТЬ, что ты отдашь джуну, что будешь делать сам, а что будет задачей со звездочкой. Расписать тикеты как в учебниках: что делать, какой Definition of done и все в таком духе.

  2. Никаких «созвонов раз в неделю» и «контролей на стендапах». Только посадить недалеко от себя/за соседний стол и посматривать на выражение лица в процессе. Умение с покерфейсом задавать дурацкие вопросы приходит с опытом, а поначалу джуны стрессуют, стесняются, боятся и все такое.

  3. Разговаривайте с джунами! Не о том, как правильно развешивать аннотации по классам, а за жизнь. Как он здесь оказался, как дошел до такой жизни, кто по масти, какие интересы и все в таком духе. Ходите с ним пить кофе, обедать, и потрещать за кулером. Пусть увидит, что вокруг живые люди, а не небожители с астралом связываются. Осторожно: важно не переборщить и не скатиться в панибратство 😁

  4. Устраивайте knowledge transfer. Много. Расскажите ему, что мы тут вообще делаем. Зашла речь о асинхронщине - расскажите ему, что лежит в основе и как оно внутри устроено. Наткнулись на глюки IoC-контейнера? Хороший повод рассказать про SOLID и прочую теорию. У нас тут не Хогвартс и магии вокруг нет.

  5. Учитесь у джунов!!! Нет, я не опечатался. Ко мне пришел чувак который красноглазил на хаскелле (и даже запилил на нем курсовой) так что было очень полезно пообщаться с ним о функциональном программировании. Он там читал что-то о новом более лучшем фреймворке? Ок, почему нет, давай глянем. Да хоть о поэзии Серебряного века.

  6. Джун тащит? Дайте ему задачу со звездочкой. Или из списка или поделитесь тем, с чем паритесь сами. Мне парень подсказал довольно нетривиальное решение вопроса. Знаю истории о стажерах, которые по итогу просто божили задачки а-ля «у нас тут что-то много коллизий, может хэш-функция другая нужна?». У ребят Computer Science еще не забыт, спокойно могут чего-то захачить.

  7. У стажировки/менторинга должна быть цель, четкие milestones, дедлайн и крайне желательно еще и демо под конец. «Пару месяцев мы с тобой будем фиксить баги» это плохо. «Мы с тобой перепилим глючащую часть сервиса и покажем, как заебись она стала работать» это хорошо.

При соблюдении этих несложных правил ваши джуны будут мягкие и шелковистые.

P.S. Менторинг это фулл-тайм работа, ничего другого полноценно делать не получится. Это нужно учесть заранее.

  Развернуть 1 комментарий

@Siarhei-r, спасибо тебе, добрый человек ❤️

  Развернуть 1 комментарий

@Siarhei-r, Последний пункт прям повесить бы большими буквами на стенке в каждой компании

  Развернуть 1 комментарий

@Siarhei-r, Подписываюсь со стороны когдатошнего стажёра: спасибо! Это реально сделает КПД стажировки для всех её участников максимальным. И так действительно можно и вырастить профессионала, и дать ему почву под ногами, и предоставить хороший и рабочий инструмент для корректной оценки себя и своей работы, а также научить эту работу потом правильно и выгодно показывать.

  Развернуть 1 комментарий

@Siarhei-r, здравствуйте тезка! Подскажите какой фразой надо отвечать джуну, когда ты смотришь на его код, и понимаешь, что так никто не пишет. А он такой: "Ну че ты!? Все же и так работает!" Я серьезно!

  Развернуть 1 комментарий

@sojik, «так никто не пишет» это фигурные скобки не по фен-шую расставлены или наговнокожено?

Если первое, то заставить удовлетворить Sonarqube или что там у вас заставляет правильно пробелы расставлять. Коммит же без этого не сделать, так что работай 🤗 Против совсем уж говнокода тоже помогает.

Если второе, то призвать в кодревью соседа и задавить авторитетом. Обычно помогает :) Ну и «Совершенный код» в помощь.

  Развернуть 1 комментарий

@sojik, я работаю наполовину в рисерче и иногда пишу говнокод -- обычно эффективный, но плохо поддерживаемый или со странной логикой. Мне помогают объяснения с примерами того, как такой код потом выйдет мне или другому сооруднику боком.

  Развернуть 1 комментарий

@chmnk, Вот именно это я и сделал. Там была должна была быть таблица на iOS, где все идет уже из коробки. Джуниор сделал это по-другому, где много ручной логики. Эту фразу про - но все же работает, мне сказали именно когда я в подробностях рассказал, что, чтобы добавить одну строчку в будущем, если понадобиться, я всего лишь добавлю новые данные в массив и все. А ему потребуется вручную искать какие клетки как обновлять, и как отслеживать нажатие и прочее. То есть такой код плохо поддерживаемый.

Но здесь мы подходим к серьезным вещам. Я достаточно общаюсь с новичками и менторю немного тех, кто хочет. И я заметил, что когда ты разговариваешь с ними про поддерживаемый код, у них стекленеют глаза. То есть они не представляют пока что это такое. Хороший код в их голове это работающий код. Так и есть отчасти. Но что такое вернуться к этому коду через год они не знают и не понимают.

  Развернуть 1 комментарий

@Siarhei-r, там был именно говнокод. И мне не удалось убедить, что мой код лучше, хотя я даже написал и показал собственную имплементацию. Мне сказали - я художник, я так вижу. В следующий раз позову коллег. Спасибо!

  Развернуть 1 комментарий

@sojik, ну вообще в таком случае я бы следом засетапил 1-1, где довел бы до человека, что последнее слово тут таки за тобой и вообще недавно один тут выебывался, до сих пор милиция найти не может

Вероятно стоит HRа подключить, чтобы подсказала как правильно бить в печень как быть максимально убедительным. Не в детском саду все-таки. Но это если уж дело конфликтом пахнет.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
Анна Воронова Монтажер для Ютуба 22 марта в 11:19

Я когда читаю такие истории, всегда так интересно представлять процесс найма в компанию, который выдал такой результат. Кто-то же писал вакансию, а потом собеседовал и выбрал из пула кандидатов именно такого джуна :)

  Развернуть 1 комментарий

@Anna_Mus, сама поражаюсь)
но пока не сильно жалуюсь – нужен же материал для стендапа и вастрика

  Развернуть 1 комментарий

@leider-doch, А стендап где посмотреть можно 😅?

  Развернуть 1 комментарий

@amarakulin, пока что на ютубе нет, только в галерее на телефоне когда ходила на открытый микрофон)

  Развернуть 1 комментарий

@leider-doch, ждем-с

  Развернуть 1 комментарий

@Anna_Mus, полностью поддерживаю. Читал пост и думал: что это за джун такой, который не в зуб ногой. База то у него должна быть, свои проектики/лабы/курсачи уже должен был попилить до этого.
С большой кодовой базой могут быть проблемы, конечно, но тут четкие локализированные задачи должны помогать.

  Развернуть 1 комментарий
Egor Suvorov Программист/преподаватель C++ 23 марта в 01:31

Договариваемся: если не идёт — пиши. Если сделал задачу — пиши. Если просто хочется поплакать — пиши.

Мне кажется, это должно не работать примерно так же, как не работает "будут вопросы - сразу перебивайте и спрашивайте" на лекции.

Как минимум потому что непонятно, что такое "идёт" или "не идёт", что такое "сделал задачу". К тому же наверняка уже хотя бы один раз слышал "что с глупыми вопросами пришёл" (или сделал такой вывод из поднявшейся брови).

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
Denis Sobolev Питонист, дата скрапер, создатель и внедрятель ЛЛМ агентов под задачи 24 марта в 15:50

Сейчас я ворвусь с долгим криком души и взглядом с противоположной стороны баррикад - как человек, которого когда-то не ввели в курс дела, как раз профакапив, не зная или оставив на самотёк те вещи, которые некоторые комментаторы выше и @leider-doch подсветили как критически важные. И какие последствия у этого теперь.

Я - человек с "синдромом отличника", и очень на тот момент "послушный" и робкий. Пока мне не укажут единственно верный путь и не проведут по нему от начала и до конца, я никуда не пойду, потому что не знаю, куда и как. Я тот самый тип человека, которого сначала нужно натаскать полностью - личным примером, алгоритмами действий, способом мышления и т.д., и тогда я их сначала стану повторять, затем начну видеть новые связи и вносить свои изменения. Но без опоры и такого фундамента, "на песке", я строить что-то рабочее не могу.

То есть, "Я б в строители пошёл, пусть меня научат" (с) - это про меня. Я приду с той базой, которая может быть достаточна для прохождения собеседования, но что дальше - я не знаю. Я именно для того и пришёл к вам на стажировку или джуном, чтоб ВЫ мне это объяснили, и я вернул объяснённое в виде работы и её результатов.

Иначе получается, как в анекдоте:
"- Петька, прибор!
- Тридцать!
- Что «тридцать»?
- А что прибор?"

Итак, у меня было две компании, куда я пришёл полностью зелёным, но не как изолированная единица (то есть, не единственный сисадмин в контору "Рога и копыта"), а в команду.

Первая - это глобальный корпорат со всеми вытекающими, и туда я попал интерном. То есть, человеком, который знает самую базовую теорию и самые азы практики в области, и которого нужно учить вообще всему. Это знают и понимают все адекватные люди от нанимающей стороны. Совершенно спокойно я прошёл все собесы, включая технический и с лидами команды, они были для меня простыми, даже очень. Так я стал датасаенс-интерном.

Мне и другим таким же дали брифинг по общей инфраструктуре, пайплайну сырых данных до серверов нашей команды, и что в общем и целом эта наша команда делает. Далее, нас раскидали по ролям и менторам в зависимости от скиллов, предпочтений и факультетов университетов (ага, это было неожиданным - МЛ и ДЛ, например, не давали никому, кроме студентов матфакультета одного конкретного универа).

Сначала нас посадили несколько дней проходить корпоратские буллшит-тесты по корпоративной же культуре, политике всей американской махины ("МЫ НЕ ПОСТАВЛЯЕМ СВОИ ПРОДУКТЫ В КРЫМ, ИРАК, СИРИЮ И ДРУГИЕ КОНФЛИКТНЫЕ РЕГИОНЫ" и т.д.), харрасменту, стукачеству и прочему подобному с уклоном с сжв.

Затем, на неделю или две нас отправили на pluralsight, проходить курсы по нашим основным направлениям, языкам и Hadoop. Отдельный ор был, когда я для определения подходящего курса прошел на том же pluralsight тест по навыкам в пайтоне - и он сообщил, что я настоящий эксперт в питоне. При этом я на тот момент всего месяца два как выучил основной синтаксис. Сам. Через приложение на телефоне.

Так вот, курсы нам сказали пройти - и всё, сообщить, как закончим. Какие конкретно части из этих курсов нам реально нужны в этой команде на этом этапе работы, должности и уровне погружения, а какие нет, никто не объяснил. И, кажется, не мог - я пытался это выяснить, но наткнулся на то, что лиды сами не могли этого описать, но знали, что знать полезно, потому что они это всё давно освоили, и это стек команды.

То есть, условный пример "на пальцах": что конкретно мне нужно в курсе по Hadoop, он огромен? HDFS? Конкретные реализации MapReduce? Специфика синтаксиса SQL для Hive и Impala? Что из этого нужно, а что нет? Что мы должны будем решать вот уже сейчас практическими задачами и тикетами, что стоит знать для развития и роста через три месяца, а что - просто для общего развития? Ответа не было. Ну ладно, работаем.)

Я начал получать задания по SQL/HiveQL, и, как прилежный ученик, обсуждать их с ментором/лидами, которые за нас отвечали. Я дергал их по пустякам и просил пояснить многие непонятные мне, но очевидные даже для фуллтайм-джунов вещи, потому что знал, что если не дерну сейчас и умолчу, то будет хуже потом, спустя месяцы и годы, когда от меня априори будут ждать знания и понимания тех моментов, которые я вовремя не выяснил.

НО: я мог спросить только то, что замечал сам, или о том, с чем работал сам, на уровне реализации. Условно: "мы хотим реализацию запроса так или и вот так тоже можно? А мы вообще хотим делать этот тикет или это локальная проблема на стороне индийской команды и мы её не решим?"

Но я НЕ мог спросить, потому что даже не осознавал их существование, следующих вещей: "А что вообще происходит? Как правильно работать работу? Что вообще такое работать работу и чем это отличается от задач в универе или на coursera/leetcode? Что такое в нашей команде, вообще в компании и сегодняшнем айти-мире Definition of Done? Мне нужно что-то делать самому сверх того, что вы мне даёте, или вы знаете, что делаете, и ведёте меня по пайплайну от простого к сложному для успешного взращивания и встройки в проекты? Я по умолчанию думаю, что так как вы - опытные профессионалы, то второе, да и в школе/универе было так же. А если всё же нужно, то что конкретно? Какие предметные области? Какие конкретно части этих областей? Что вообще ожидается от меня, какой перформанс, в каких сферах, как правильно показать вам и начальству, а также самому проверить, что он есть или что его нет? Кем вы хотите видеть меня в команде, какие роли, секторы и ответственность мне закрывать? Как вообще происходит профессиональный и карьерный рост у вас в компании и в айти в принципе? Что мне нужно для этого сделать и освоить, если нужно, и в какие сроки?" и многие другие.

Ну и парное программирование рядышком или на созвоне, как описала автор статьи, где стажера учат и показывают с помощью единственной, кстати, верной и 100% рабочей педагогической и ремесленной практики, проверенной веками на опыте миллиардов людей - ЛИЧНЫМ ПРИМЕРОМ с полной декомпозицией всего процесса: постановки задачи, её понимания, поиска ключевых зон, путей решения, что делать, если не получается, какие могут быть причины, у кого спросить, с кем поговорить, где искать документацию и какая её часть полезна, а где мусор, как вообще подходить к решению задач и проблем, как к ним относиться, как писать код/внедрять что-то, зачем на самом деле и у нас конкретно нужны архитектуры/паттерны/<подставить-термин> и какие из них, как описывать решение, как его потом презентовать, если нужно. То есть, нужно научить человека из совершенно иного мира с совершенно другим мозгом и жизненным бэкграундом ПРАВИЛЬНО И ПРОДУКТИВНО думать так, как вы и другие профи. И не ждать, что вы с ним одинаково мыслите или он сам как-то догадается. Это так не работает - ждать от человека, что он пересечёт бурную реку без моста и имея до того только заплывы в бассейне - опасно. Он либо утонет там, или так и останется на том берегу, пока ему машут с противоположного, показывая маховые движения для гребли вместо того, чтоб перекинуть мост или перейти к более спокойным и мелким водам. И хорошо ещё, если останется или утонет сам, а не вместе с вашим проектом.

Вторая работа была схожей по уровню требований, но софтвер девелопером, джуном: основы пайтона, джавы, здравый смысл и вообще слышать, что есть такая штука, как git. Тестовые задания и собесы я прошёл, причём и с эйчаром, и с сениор-девом, и с директорами команды. Всё было точно по уровню моих способностей, ну и я честно сказал, что ищу опыт того, как это ваше айти и реальный мир вообще работают. Так я стал джуном - софтваре девелопером.

И тут понеслись те же грабли - помним, что на прошлом месте фундаментально важные для становления вопросы и части обучения так и не были закрыты, несмотря на то, что команда была из офигенных и приятных людей.

Во-первых, из-за ковида, мы 3/2, а потом и 4/1 работали на удаленке, что меня устраивало, но осложняло прямой контакт и контроль с ментором, потом это заместилось созвонами, но отрывать его сообщениями и тупыми вопросами уже было куда сложнее и стремнее - мало ли, какие дедлайны и настроение у человека по ту сторону статуса в Тимсе.

Во-вторых, команда - это ВСЕ сениоры 40+, причём очень хорошо знающие огромный партнерский энтерпрайз- продукт, надстройками над которым и сервисом к которому компания и занималась. Многие из них даже раньше работали в той конторе, которая этот громоздкий энтерпрайз написала, и сами его когда-то делали. То есть, у них изначально очень глубокая продуктовая база.

В-третьих, это финтех, и он нередко требует знания и специфики области, и терминологии, и того, как именно и какие именно вопросы решают участники этого рынка. Энтерпрайз-софт тоже завязан на это. Где и как это освоить без вышки и практики в области, никто сказать так и не смог. Вики с гпт, что предсказуемо, помогают очень слабо, особенно когда проблема очевидна для финансиста со стажем, но напрочь неясна чистому айтишнику. Это при том, что у меня есть непрофильный, но успешно полученный диплом бакалавра по финансам и кредиту с заочки! То есть, сами слова и термины по отдельности не то чтоб незнакомые. Но вот что это значит, зачем нужно и как применяется компаниями в индустрии - это уже не ко мне.

В-четвёртых, меня сначала брали на пару презентаций того продукта, который мы делаем командой, но не объяснили, что я должен оттуда вынести, что выучить, что повторять и чему следовать. Потому я пытался впитать всё, но в результате просто запоминал содержание и процесс этих митингов без каких-либо инсайтов и уроков. Потом, по удаленке и без явного занимания мной ключевой или проактивной роли в разработке, меня на них брать перестали, да я и не горел желанием - всё равно ничего не понятно, а к коду это имеет мало отношения.

С технической частью тоже было несколько необычно: мой ментор и сениор был очень крут как человек и специалист, умел декомпозировать и подходить к задачам так, что они из сложных и непонятных вдруг становились простыми до примитивности, а значит, легко решаемыми. Я в восхищении от этого навыка, но освоить его сам не то чтоб мог, потому что не хватало тех самых скрытых слоев мышления, которые он не озвучивал или которым не учил - сам я пытался проанализировать его подход из того, что и как он советовал решить в моих тикетах, и в порядке поиска возможной причины, и если проблема где-то не там, где искали до того. Спойлер: не помогло, явно чего-то не хватает. Того самого "как правильно думать".

Код ревью у меня практически не было, потому что я крайне редко имел тикеты, которые требовали правок длиннее пары строк кода. И большую часть из них я всё равно переспрашивал у него. На всякий случай: мало ли, починив что-то одно тут, я ошибся и сломал что-то более важное в другом месте? Но именно пользы с точки зрения освоения языка, профессиональной деятельности или продуктового домена было очень мало.

Документация есть, но специфическая и раздерганная по разным местам, неполная, и в довесок, под капотом у энтерпрайза на самом деле всё работает иначе. И это можно узнать только у тех, кто это писал или кто с этим работает много лет. Причём случайно, потому что для них это само собой разумеющийся костыль. А некоторые вещи вообще не документированы, потому о них вообще можно не узнать.

Стилю программирования, архитектурам, принципам и т.д., ессно, тоже никто не учил, потому что на моем проекте это было не нужно, а в абстракции толку мало. Все те неозвученные вопросы с прошлой работы по-прежнему не отвечены и истина покрыта мраком - про ожидания, как расти, развиваться, и вообще как это происходит, что кому-то вдруг начинают давать более сложные и самостоятельные таски, а тот их тоже вдруг успешно и легко выполняет, понимая больше и получая больше зп, хотя начинали мы одновременно и тикеты, вроде, из одной категории. Причём я свои тоже делал сначала сам, и только потом уже тыкал ментора - для верификации/валидации или если что-то не получалось.

Когда спустя два-три года я взвыл и обратился к нему с вопросом, как и где вообще подтянуть и освоить предметную область и вообще, что делать для понимания и развития, потому что два года на проекте, а я всё ещё понимаю а нём столько же, сколько в первую неделю - и это как-то ненормально, то он ответил, что не знает и предполагает, что только эмпирическим путем, случайно натыкаясь на грабли энтерпрайз-софта. Потому что курсов нет, доков нет, что мне учить для большей им полезности, он хз.

В результате, я пять (!!!) лет пробыл в компании на проекте питонистом, так и не поняв почти ничего, не поняв и не узнав, как надо мыслить и работать для роста, не поняв, где и в чём та магия, при которой одни вдруг при тех же тикетах и без самопрезентаций растут и развиваются, а другие - нет. Как они сами это осваивают - тоже загадка, мне мои попытки не помогали. А читать/смотреть бессистемно или общедоменно было нерезультативно. Я спрашивал и знакомых, и коллег, и клубчан, но увы, ответы в большинстве случаев были четырёх категорий:

  1. "Я не знаю, само как-то, просто работал, закрывал таски, и всё."
  2. "А я обожаю это с детства, оно мне само даётся, и вообще, я со школы владею всем инструментарием и написал несколько коммерческих проектов ещё в 9 классе. Что делать, чтоб понимать и развиваться? Не знаю, мне всегда всё в области было очевидно и легко, это же очень просто!"
  3. "Я брал на себя или переделывал под себя чужие тикеты, предназначенные и отданные другим, не спрашивая их - то просто коллег, то людей в отпусках или на больничном, чей код или работа мне не нравились, или от скуки брал тикеты сениоров и втихую делал сам по ночам и выходным, а потом сравнивал с их коммитами, потому что интересно ж!"
  4. "Брал на себя больше ответственности: был готов выполнить более сложные и критические задачи, сам себе почему-то решив, что смогу, и пообещав начальству, что сделаю на отлично."

Ни один из них моей ситуации и прочему не подходил по причинам из начала поста.

В результате, спустя шесть лет "в индустрии на позиции разработчика" и магистратуры по Computer Science, мы имеем примерно ноль реального ценного опыта, понимания и прочего, как оно работает "изнутри" и как что решать.
При этом я не совру ни на йоту, если скажу, что у меня 5 лет опыта работы в пайтоне на финтех-проекте. Это чистая правда. Только все почему-то представляют это как взрывной рост экспертизы до недосягаемых высот, а не рутинный багфиксинг. И у меня нет механизмов для самостоятельного роста с ноля, я, как помним, робкий отличник с опасением накосячить - меня нужно этому научить, как стажера-идиота из уголочка в посте, потому что сам себя я не научу тому самому главному фундаменту, которым не владею и который в университете или школе не преподаётся.

Никаких реальных метрик для оценки себя нет - литкод не показатель, примерно как и тесты на IQ. Никакого врожденного программистского мышления и никакого переданного от профессионала. Никаких правил и стиля написания кода, кроме самых основных, потому что учить их все, "аби було" - это собирать знания, которые без рабочих каждодневных оплачиваемых задач (жить на что-то надо, а суточный когнитивный ресурс конечен) просто забудутся через неделю. Хорош ли я как традиционный девелопер? Я не знаю. Развился ли я в традиционном девелопменте? Не знаю. Где я тогда вообще хорош в айти? Там, где область ещё только появилась и не устоялась, где нет сениоров и джунов, и все, даже люди на острие, равны на уровне: "Мы сами не понимаем, как и что здесь работает, устойчивых практик нет, давайте придумывать вместе". Слава богу, промпт-инженерия, ллм-центрические и агентские системы как раз в таком состоянии, и там можно оперировать любыми концепциями, так что здесь мне раздолье.

И вот теперь, на фоне вышесказанного со стороны того самого перепуганного стажера, вопрос к знатокам, менторам и "хорошо отменторенным" уже у меня: "Что с этим делать, как это всё неясное или не преподанное наверстать?"

Видосы, книги, курсы, тг-каналы, сайты и прочие самостоятельные методы я пробовал.)

  Развернуть 1 комментарий

@Creol, э как вы хотите все? Чтобы все вам дали знания в готовом виде? Джуны без самоорганизации и самоподготовки никому не нужны, в текущих реалиях, ни у кого нет времени обучать их с нуля.

  Развернуть 1 комментарий

@pachman, Вы знаете, и по вашим прошлым сообщениям под этим постом, ваша позиция была очевидна, однозначна, агрессивна, и совершенно непродуктивна. Простите, я не могу принять это ни как конструктивную помощь, ни как конструктивную критику, ни даже как полезное мнение. Как минимум, потому что позиция "ну вы там сами догадайтесь, а кто не догадался, того выгоним" - это и правда ничем не помогает тем, кто находится в отличном от заявляющего положении.

  Развернуть 1 комментарий

@Creol, хорошо, не буду с вами спорить, у вас ваша религия, у меня своя.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@orbit, Это понятно, овнеру хочется только одного: денег и чтоб само, это нормальное человеческое желание. Но я спрашивал именно с точки зрения профессионалов, а также тех самых хороших менторов или "хорошо отменторенных".))

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

😱 Комментарий удален его автором...

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@orbit, а вот теперь у меня бомбить начинает

Джун в слабой позиции (его время стоит мало), сеньер в сильной позиции (его время стоит много).

Какого черта? Этот джун/стажер не с неба свалился. Он проходил собеседования и отбор. Который вели твои коллеги. Как минимум он не дурак (ну или вопрос к процессу найма). Плюс зачастую онбординг новичков это одна из задач сеньоров. На фуллтайм.

Когда человек в слабой позиции ведет себя неадекватно своему положению (нагло, не ценит потраченное на него время, не старается и т.д.) логично с ним не взаимодействовать, а взаимодействовать с тем, кто тратит твое время эффективнее.

Бывает разное. Но вообще с учетом того, что я написал выше, человек УЖЕ приложил нехеровые усилия, чтобы оказаться на этом месте. Это, бляха, твой коллега. Коллег же ты не будешь сквозь зубы слать читать мануалы если они за помощью придут?
С откровенным саботажем со стороны новичков я не сталкивался. Немотивированные люди на собеседование приходили, это да (пришел парень, который не разбирался в своём же тестовом проекте, а на мой вопрос, почему он хочет на стажировку на голубом глазу честно ответил «Мама заставила!»), но они дальше собеседования и не проходят.

  Развернуть 1 комментарий

@orbit, Спасибо за точку зрения, пока читал, понял, что всё же вместо развернутого комментария и ответа мне стоит написать полноценный пост в клуб по теме вдогонку к этому и другим по менторингу, чтоб подсветить это всё с противоположной стороны. )

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@orbit, Have you said thank you once? You should be thankful!

Кроме шуток, как-то много эмоций и размышлений про уважение вокруг рабочей коммуникации с просто менее скиловым сотрудником.

  Развернуть 1 комментарий

@orbit, о, тут есть фокус

Вопрошающие могут считать (сам с таким сталкивался), что они решают не свою проблему, а проблему компании

Тогда выходит, что ты помог не им лично, а компании, которая тебя уже поблагодарила зарплатой

С такой перспективы

мои слова пропускают мимо ушей, либо относятся без интереса, либо переспрашивают одно и то же по 10 раз

они видят эту ситуацию как обычный рабочий процесс и искренне не понимают почему у условного сениора горит

  Развернуть 1 комментарий

@orbit, Считаю, что софт-скиллы на работе это в первую очередь про не быть источником непредсказуемости и проблем, потому что в командной работе важно поступательно и более или менее предсказуемое провдижение вперед.

Это в том числе:

  1. Способность не продолабывать сроки, а если продлабываешь то предупреждать заранее. Это то чему джун может научиться только на работе.
  2. Умение не превращать рабочии ситуации в конфликты и если тебя лично в коммуникации что-то задевает отдавать себе отчет в этом и либо пробовать менять отношение (это реже выходит на самом деле), либо менять процесс так, чтобы этой ситуации не возникало. Этот навык нарабытывается и вне работы, но его часто не хватает даже опытным сотрудникам.

Поэтому если джун раздражает "неуважением" (в кавычках потому что я вопросах "неуважения" не вижу), то это для более скиллового сотрудника повод выступить с инцициативой поменять процессы для него или себя, так чтобы это не происходило. У меня с вопросами проблем, что они отвлекают от задач. И решать надо эту проблему, а не про "уважение".

  Развернуть 1 комментарий

@orbit, так, мы как с разных планет пришли.

Ситуации разные, не везде нужно приложить нехеровые усилия. Не понимаю, почему ты так выпячиваешь сложность устройства на работу.

Брррр. А что, есть нормальные места работы, куда нет собеседований? Ну вот Вася с улицы пришел на непыльную работу и не знает, чем тут вообще занимаются. Или его вообще на улице поймали и привезли в учебку. Не представляю.

Я исхожу вот из чего:

  • Люди приложили усилия, чтобы попасть ко мне на стажировку. Прошли собес, сделали тестовый проект и так далее.

  • Человек себе не враг. Раз уж пришел работать/то будет работать. Не в его интересах прикидываться шлангом три месяца.

Так было во всех местах, где я менторил джунов. В армии сержантом не был 😁

это какая-то сильная гарантия, что человек будет нормально работать.

Момент. От Джуна (а уж тем более стажера) не ожидают трудовых подвигов. То что он будет тупить, не знать что делать и за ним придется следить это нормально. То что переспрашивает по 10 раз это отлично, куда хуже, когда он тихо и печально сидит в углу.

Т.е. ты считаешь, что это ОК? Надо продолжать цацкаться с таким чувачком?

Слушай, ну ты читал мой пост? У меня там отдельный пункт про «разговаривайте с джуном». Это как раз про «выяснить мотивацию и узнать кто он и что знает». Если выяснится, что он по образованию сантехник, не знает как включать комп и попал на стажировку программистом по ошибке то это идти к руководству и говорить об этом. Может он шел стажером в службу эксплуатации здания и дверью ошибся?
Если он шел крутить деревья, а попал фиксить верстку то тут тоже будут вопросы. Но об это сначала надо узнать.

  Развернуть 1 комментарий

@orbit,

мои слова пропускают мимо ушей, либо относятся без интереса, либо переспрашивают одно и то же по 10 раз. Т.е. ты считаешь, что это ОК? Надо продолжать цацкаться с таким чувачком?

В этой ситуации нет неуважения к вам лично. Это может происходить по множеству причин:

  1. Слишком много информации, он не может все запомнить и что-то забывает, а заметки писать не привык.
  2. У человека проблема с концентрацией и фокусом, временные или постоянные. Например СДВГ или джун боится или нервничает.
  3. С фокусом все ок, количество информации нормальное, ему на самом деле не интересна эта работа, поэтому все сказанное быстро вылетает из головы
  4. Четвертый вариант

Надо разбираться в чем именно проблема и решать именно ее. Путем обратной связи, задавания вопросов и т.п. Это сложно. Можно не разбираться в чем проблема, а брать другого джуна, без таких проблем, но это опять расходы на поиск. В любом случае размышления про "неуважение" фокусирует не на решении исходной проблемы.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@orbit,

меняем его да и все

Да, это валидное решение. Но моя практика показывает, что оставляют даже изрядно тупящих джунов, увольняют тех кто отказывается эффективно взаимодействовать, саботирует процесс и т.п.. Вероятно потому что гарантий, что следующий не будет таким же мало, а процесс поиска тоже затратный. По крайней у программистов там где я работала, было именно так. И разговоры про уважение или нет это создание проблемы, конфликта без решения.

У вас я так поняла немного другая область и свой бизнес. Может это еще зависит от размера бизнеса. И в небольших бизнесах дешевле найти хорошего, а в больших оставить "так себе" и дотянуть.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@Creol, классные вопросы (те, что курсивом). Я сам бы хотел знать на них ответы. И мне кажется, ты предполагаешь, что если на них знать ответы, то все получится. Как в школе или университете, когда есть правильный ответ и до него нужно докопаться.

По моему опыту, на каждый такой ответ есть такое количество исключений, что сам ответ становится бессмысленным

  Развернуть 1 комментарий
Natalia Sergeeva пилю Frontend когда не лень 22 марта в 20:21

мне кажется такие джуны были лет 5 тому, сейчас они своевременно закрывают таски, пишут тесты и оптимизацию кода (я бы даже сказала стажеры так делают), на рынке уже давно 25 год и джуны умеют я бы сказала все, что делали раньше синьоры

  Развернуть 1 комментарий

@agarkowa, Ох, нет.)) Как человек, далеко не 20 лет назад вышедший в софтваре-девелоперские чащи, причём джуном, могу сказать, что как раз ВОТ ТАКИЕ идеальные джуны уже вводили в ступор меня на том же этапе. Откуда они это всё знают, если предметы у нас одинаковые и у меня оценки лучше, чем у них? Откуда знания реального подхода, а не формально декларируемого командой и компанией? Как это вообще у вас работает, что вы такие "дети-маминой-подруги"?

  Развернуть 1 комментарий

@Creol, ну я тоже не "дочка маминой подруги") Что такое реальный подход? Умение работать в проекте с командой или в плане технических скиллов?

  Развернуть 1 комментарий

@agarkowa, Скорее, всё вместе. И знание/чутьё чего-то, скрытого от моих глаз и директив: например, компания или команда декларируют один подход к разработке и решению вопросов, к согласованию, повышениям, общению и т.д., а на деле почему-то работает не он, а совершенно другой, о котором никто из них не говорит, даже если спросить, и который я, допустим, отследить и заметить не могу - тем более он в противоречии с изложенными правилами.

Плюс, достаточно быстрый их прием командой как значимых и близких членов коллектива, и естественный рост всего - от оплаты до сложности и успешности выполнения задач, хотя делали мы поначалу примерно одни и те же вещи, с одинаковым лицом и похожим результатом, да и на обеды ходили тоже всей командой (внерабочие практики типа "побухать на выходных" мы не рассматриваем - это аномалия, и не думаю, что каждый из таких, успешно принятых и влившихся, занимался именно этим).

В общем, что-то околоэфемерное на стыке скиллов, отличающегося от университетского и учебного подход к деятельности, а также вливания в коллектив без сознательных попыток пролезть туда с вазелином наперевес. )

  Развернуть 1 комментарий
Roman Shkurov Senior Infrastructure Engineer 22 марта в 10:18

Чет пост напомнил давний опыт. Когда-то давно в Одессе сисадминил, в одной продуктовой компании. Дали мне джуна в нагрузку, помогать с офисными делами, чтоб не отвлекаться. И у него был интересный подход к задачам. Когда ему доносили информацию о наличии проблемы — чел шел и делал себе кофе, потом шел в курилку и тусил там минут 15. После чего возвращался и спрашивал, все ли работает?

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

@rashkur, Хыыы, а какая компания?)) Не возле Польского Спуска ли офис?

  Развернуть 1 комментарий

Джун - джуну рознь. Не уверен, что нужно стараться учить того, кто еще в самой базе не разобрался или не посмотрел видео/статьи/programming for goats/5 часов индусятины... Если он этого не прошел и с GPT лезет в prod (джуном в контору), то в шею таких умников... они же деградируют IT

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Почему-то кто-то не залинковал ещё: https://vas3k.club/post/101/

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб