Тред о том, как, по-моему мнению, максимально продуктивно вести себя на своем первом рабочем месте.
Итак, поздравляю. Оффер принят и начинается "испыталка". Что делать и куда бежать?
Лайк, шейр, репост приветствуются, как у любых других "программных постов"
Прежде всего, здесь будет с десяток твитов "предусловий", чтоб контекст моих советов был понятен. Всё что я описываю - сработало или у всех или у большинства моих падаванов, но это не дает никаких гарантий что это сработает у вас
Для начала определимся с целями, потому что именно они определяют поведение. Цель в рамках этого треда: обеспечить значительный рост заработной платы в краткосрочной перспективе, не сильно проигрывая в среднесрочной/долгосрочной
Здесь надо пояснить детальнее. Я умею считать деньги, и знаю что получить х3 через полгода сменив компанию можно, а внутри компании - сложно. Но я призываю смотреть дальше - утверждаю что в течение года получит два раза х2 в компании джуну проще, чем х3 + х1.25 при смене компании
Несомненно, вы можете привести аргументы "у меня/Пети/Васи получилось" и будете правы. Я сужу по некоему "усредненному" опыту "с той стороны" (той злобной твари, что (не) хочет вас нанимать/повышать).
Здесь надо вставить традиционный дисклеймер - я из Украины, у нас 95% рынка - аутсорс/аутстафф компании, поэтому мои советы и опыт могут быть ограниченно применимы к компаниям, работающим на внутренний рынок
Итак, первая неделя работы. Здесь ваша задача
проста - убедиться что в окружении есть инженер, выше вас по уровню, которому на вас не пофиг. В идеале чтобы это был ваш непосредственный начальник, но часто бывает так, что это просто человек, которому интересно учить людей
Отсутствие такого человека сильно подрывает скорость профессионального роста, потому что эффективный рост ВОПРЕКИ заинтересованности компании всегда гораздо сложнее и на первой работе есть более важные вещи, куда направить своё мыслетопливо (в терминах прекраснейшего @cartmendum)
Если таковой человек не найден - это проблема, но не приговор. Расти будет психологически сложнее, но быстрее (почему, разберём дальше).
Важно - на первой неделе нормально пребывать в полностью потерянном состоянии. Поверьте, так будет почти с каждой работой
Чтоб вы понимали, в GitLab онбоардинг (время когда ты "знакомишься с проектом" и делаешь мелкие задачки) - месяц. Реально понимать что происходит я начал месяца через три, полностью понимать все нюансы даже моей команды я не смогу, наверное никогда
Самое важное - задавать вопросы. Это то, на чём фейлится большинство. Фейлиться можно двумя путями: задавать мало вопросов и задавать слишком много вопросов"
В первом случае вы рискуете потратить много времени впустую - героически решая Х часов "не вашу проблему"
Что значит "не вашу проблему"? Приведу простой пример из жизни - джун 6 часов настраивал SMTP сервер на своей машине чтоб тестировать отправку писем (молодец какой), вместо того чтобы узнать что есть специально поднятый сервер в локалке для этого
Часто то, что может казаться для вас сложной проблемой - известный "нюанс" который заб(ы/и)ли задокументировать. Худшая форма этой ситуации - вы гордитесь решением проблемы, и тут кто-то в команде обесценивает его тем, что это вобщем-то общеизвестно
Со вторым "слишком много вопросов" всё сильно проще - любой, даже самый-самый понимающий инженер быстро проявит признаки ликантропии, если его каждые Х минут выдёргивать из потока вопросом, ответ на который можно нагуглить
Где же баланс? Я даю простой (и конечно же неправильный в ряде ситуаций совет) - для любой задачи установить временные рамки в 2 часа (обязательно) и хотя бы одно решение, которое не сработало (крайне желательно). Это достаточно разумный баланс на первое время
С первой неделей более-менее разобрались ("неделя" здесь философское понятие которое может как растягиваться до месяца в крупных компаниях, так и сжиматься до пары-тройки рабочих дней). Итак, вам дали первые "серьезные" таски, которые скорее всего попадут в продакшн
Ваша задача обеспечить две вещи - "видимость" и "предсказуемость". Сергей Немучинский из Foxminded в своем докладе на ВинницаЖС очень хорошо подсветил тему, с которой я согласен и о которой я говорил в - "предсказуемость" самая важная метрика для бизнеса
Только пожалуйста, "видимость" - это та, что "visibility" а не та что "иллюзия" - это означает что в любой момент времени ваш ментор (а в идеале и ваша команда) знают чем вы занимаетесь, чего вы достигли, какие проблемы испытываете и когда, думаете, что будет готово
Пожалуйста, обратите внимание на перечисление в предыдущем твите. ВСЕ пункты там важны - если, к примеру, вы будете пропускать пункты про "чего вы достигли" - то потом показывать свои достижения (а это важно для роста зарплаты) будет сильно сложнее
Что такое "предсказуемость"? Если совсем упростить для контекста первой работы - это простая вещь: если (а точнее "когда") задача не будет готова в срок - вы сообщаете об этом МАКСИМАЛЬНО рано. Пожалуйста, отложите свой оптимизм в сторону и будьте здесь пессимистами
Программист, обещающий сделать задачу за неделю и делающий за две в разы хуже программиста, обещающего сделать за три и делающего за две - потому что в первом случае планировать задачи зависящие от текущей просто нереально, план рвётся, менеджер грустит и так далее
Что дальше? Перед тем как ответить на этот вопрос придётся ввести ещё несколько утверждений, которые, по моему опыту, близки к абсолютной истине и понимание которых поможет вам избежать сюрпризов. Можете считать это вещами, которые я бы хотел знать, начиная работать
Всё, чего не существует в корпоративных инструментах взаимодействия - не существует для бОльшей части компании. Это значит что в любой ситуации, когда возникают вопросы - у вас не будет арументов в поддержку своего видения ситуации
Обратите внимание, личная переписка в мессенджерах - не корпоративный инструмент, потому что менеджмент всегда может заявить, что поскольку "он про это не знал" - это чья-то самодеятельность, и со своей колокольни они даже будут в чём-то правы: как управлять тем, о чем не знаешь
Ещё один вырожденный сценарий - переписка в Слаке, даже в публичном канале может вас подставить - если слак бесплатный, то он хранит только последние 10000 сообщений, а значит может оказаться, что важный фагмент переписки был поглощён пучиной вечности :)
Обнаружил лимит у твиттера на количество сообщений в одной отправке, так что не спешите комментировать, еще твитов 10-20 в этом треде будет ;)
Выработайте у себя простую привычку - любая задача, которую вам поставили - вы создаете ее в корпоративной JIRA/Trello/github issue и вешаете на того, кто вам эту задачу поставил со словами "правильно ли я всё понял". При этом указываете описание задачи и обещанные сроки
Где-то после первой недели, или если вы скромный или у вас договоренность о разной зарплате на испытательный срок и после него - после окончания испыталки - вы приходите к ЗП-формирователю :) и говорите "давайте составим список того, что мне надо сделать чтобы получать х2"
Прелесть этой стратегии - она беспроигрышная. Если компания в открытую говорит "мы не готовы платить тебе х2 раньше чем через Y месяцев" - это звоночек, компанию надо менять. Если у компании есть готовые планы карьеры - прекрасно, вы их получите
Если планов по "карьерьному росту" нет - прекрасно, вы продемонстрируете, что вы тот самый "самый скучный человек" - вы заранее озвучиваете свои желания и строите отношения с компанией на почве сотрудничества
Со стороны бизнеса это помогает понимать "ага, вот у этого человека такие ожидания - если мы будем их удовлетворять, он, скорее всего, будет с нами". Это куда лучше сценария "вот оффер на Х денег, ваши действия" в контексте долгосрочного роста
А теперь - когда у вас есть список того чего надо уметь, каждый раз, когда вы закрываете любую задачу или активность - вы задаете вопрос - а в какую ячейку карьерного роста попадает то что я сделал. Здесь надо задвинуть скромность и не стесняться "натягивать сову на глобус"
Даже если вам кажется, что что-то совпадает с пунктом карьерного плана "чисто формально" - пишите, вполне возможно в вас говорит "синдром самозванца" (я регулярно его испытываю заполняя Career Mapping)
А теперь второй шаг, не менее важный чем первый - системность! Каждый месяц, вы приходите к тому, кто формирует план и показываете, что вы сделали и задаете вопросы "Как мои успехи? Что надо подкорректировать?". В идеале - в письменном виде
Зачем в письменном виде? Заполнив план, вы берете и пересылаете его человеку, который определяет ЗП (далеко не всегда это тот, кто формирует план) вместе с отзывами вашего "куратора". Фактически такая цепочка подтверждений является доказательством того, что вы выполнили обещанное
Конечно же, встречаются компании (как и люди) которые поступают плохо, но чаще всего - если вы сформировали готовое пояснение ЗА ЧТО вас надо повысить (а это так и есть) - вас повысят. И в тот же момент надо идти и согласовывать новый план на х2 :)
Наличие таких планов во-первых позволяет расти быстрее потому что вы контролируете ситуацию, во-вторых - не дает компании "отвертеться" по принципу "мы тебе уже повышали зарплату" - нет уж, извольте, вот согласованный план, вот я его выполнил
Это не сработает в крупных компаниях где есть жёстко формализованный процесс повышений. В таком случае его стоит выяснить на собеседовании и не надеяться, что вы будете умнее/хитрее/удачливее всех
Работая в одной компании (а не перескакивая с места на место) при условии что вам достаточно комфортно - очень сильно снижает уровень стресса, понижает риски выгорания и помогает росту, банально за счет освободившихся "ментальных ресурсов"
По моему опыту и ощущениям, люди которые не спешат менять компании (что для меня не спешат - раз в 2.5-3 года) при условии что им повезло с компаниями на дистанции в 10 лет внезапно зарабатывают сильно (процентов на 50) больше. Мое допущение - именно из-за низкого уровня стресса
Здесь конечно, важно обсудить вопрос про то, что делать если в компании достигли "тупика" и вообще как эффективно развиваться, сохраняя при этом важный уровень душевного комфорта - но это совсем другая история. Спасибо что были с нами :)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Позиция "большие зарплаты в отрасли - это хорошо" звучит красиво только в твитах @fillpackart и продающих текстах @Skillbox_ru, которым очевидно выгодно культивировать подобные мысли. Реальность сильно сложнее. Как человек 7 лет владевший аутсорсом расскажу вторую сторону
Я конечно хотел бы "счастье всем и каждому и пусть никто не уйдет обиженным", но как реализовывать это в условиях текущего рынка - неясно :)
Рассуждения о том, что "зарплаты должны быть как в США" имеет смысл и ценность тогда и только тогда, когда мы (условная Украина) можем предложить тот же уровень сервиса и гарантий, что и программисты там
Важный навык хорошего инженера, который я пока не смог формализовать - четкое ощущение времени когда в развивающемся проекте надо сказать "стоп" и сделать если не рефакторинг, то детальный ревью архитектуры, чтобы проект не был погребен под велосипедами и костылями 🧵
Сейчас я это наблюдаю на примере моих горячо любимых vue-test-utils - как появление новых и новых и новых фичей увеличивает сложность проекта и прямо сейчас ощущаю необходимость остановиться и переделать значительный кусок. Но в опенсорсе с этим проще 🧵
В реалиях работы всегда важна, конечно же и бизнес составляющая. Сильно помогает, когда бизнес уже "стал на ноги" и может предоставить хоть приблизительный план развития на какой-то срок (хотя бы полгода!) 🧵
Повбрасываем? :) Один лайк - один факт о жизни фронтенд-разработчика в GitLab :)
#1 Фронтенд - очень широкое понятие в GitLab. Фронты должны уметь писать HAML-шаблоны (для меня это бооль), e2e-тесты на rspec + Capybara, helper'ы для отображения и прочие ужасы. Ruby придётся подтянуть, хотя есть команды, где пишут всё новое и такого нет
#2 Если брать всю кодовую базу GitLab - то можно найти уникальные вещи. К примеру при редактировании проекта в ответ приезжает JS-код, который надо eval'ить. Таких мест немного, но они есть. Это связано с тем что долгое время в GitLab было очень мало фронтов и код писали рубисты