Горячее предложение: В течение первых пяти лет своей карьеры инженеры-программисты должны как можно чаще менять место работы.
Я не имею в виду, что вы должны менять работу каждые три месяца, но я имею в виду, что за пять лет работы в нескольких разных компаниях вы узнаете гораздо больше, чем за пять лет работы в одной.
Вам также следует искать компании, которые позволят вам развиваться за счет внутренних повышений и “растянутых” заданий. Выполнение одного и того же задания раз за разом может сделать вас специалистом в определенной области, но это может легко привести к застою, если вы не будете осторожны.
Когда вы почувствуете, что переросли свою нынешнюю компанию, без колебаний уходите. Ищите внутренние возможности и заявляйте о своих карьерных устремлениях руководителю. Но если становится ясно, что ваши цели в отношении карьеры не совпадают с целями вашего руководителя, ищите другую компанию.
Оптимизируйте свою карьеру для роста.
Я следовал этой стратегии на протяжении всей своей карьеры, и мне интересно вспоминать о каждой из моих предыдущих должностей и о том, чему я научился.
Qualtrics
Я начал свою карьеру в Qualtrics восемь лет назад в качестве специалиста по продуктам, занимающегося технической поддержкой. За это время я научился быть отличным специалистом по устранению неполадок. Я научился решать проблемы, обдумывать их и находить творческие обходные пути.
Благодаря более чем 10 000 взаимодействий с клиентами я научился хорошо писать и эффективно общаться. Я научилась тренировать, обучать и хорошо презентовать. Я часто проводила вебинары и тренинги для клиентов. Именно в первый год работы здесь я познакомился с веб-разработкой.
Я недолго работала в нашей команде дизайнеров, помогая создавать темы для опросов клиентов. Ничего сверхъестественного, просто включение логотипов, шрифтов и цветов бренда клиентов в шаблоны, которые они использовали для своих опросов, но это было отличное знакомство с HTML и CSS. Я начал понимать, что такое отличный дизайн.
Вскоре после этого я перешел в нашу команду профессиональных услуг в качестве frontend-разработчика, работающего над разовыми запросами клиентов. Эти проекты длились от двух дней до нескольких месяцев. Разнообразие работы поражало.
В нашей команде профессиональных услуг я делал все от начала до конца, включая предпродажные звонки клиентам для определения объема работ, составление SOW (технических заданий), решение юридических вопросов и установление цен на свою работу. Все это было помимо собственно разработки, которая представляла собой целую кучу JavaScript с использованием jQuery и AngularJS. Я также отвечал за QA и долгосрочное сопровождение своих проектов после их выпуска.
За это время я научился распознавать потребности клиентов и воплощать их в коде. Я научился смотреть дальше того, что изначально просит заказчик, и копать глубже, чтобы понять, какую проблему он на самом деле пытается решить. Часто решение проблемы клиента может быть лучше или проще, чем он думает, и именно я должен был дать ему это понимание.
Я узнал, что одновременно заниматься продажами и разработкой – задача невыполнимая, и что не зря мы специализируемся в своих областях. Я также узнал, что решение технических проблем доставляет мне гораздо больше удовольствия, чем переговоры о цене или придирки к юридическим терминам.
После нескольких лет работы в нашей команде профессиональных услуг я начал искать возможность внутреннего перевода на должность инженера-программиста, не связанную с клиентами. Когда стало очевидно, что в Qualtrics это вряд ли возможно, я начал искать другое место. Не стоит оставаться на должности, которая не соответствует вашим карьерным устремлениям, какой бы замечательной ни была компания.
И вот, после трех с половиной незабываемых лет работы в Qualtrics, я ушел в Younique.
Younique
Я начал работать в Younique в качестве разработчика пользовательского интерфейса и покинул ее в качестве старшего разработчика пользовательского интерфейса. Мое время здесь было наполнено возможностями для роста, а также здоровым культурным шоком.
Особенность второй работы заключается в том, что культура компании может сильно отличаться от культуры вашей первой компании. Это также является преимуществом работы в нескольких разных компаниях. В своей первой компании вы не знаете ничего другого. Вы не знаете, какие методы являются здоровыми или эффективными, а какие – токсичными или неэффективными. Во второй компании вы действительно начинаете понимать, что к чему.
В Younique я научился работать в команде. Моя работа в Qualtrics в сфере профессиональных услуг была очень замкнутой и состояла из отдельных проектов, но в Younique я был в настоящей команде разработчиков, практикующих Agile-методологии с использованием Scrum-фреймворка.
Я научился работать с большой кодовой базой, часть из которой можно считать “устаревшим кодом”. Я изучал стратегии Git, стратегии выпуска и развертывания. Я изучил React, Babel, Webpack, ES6+ и множество других инструментов веб-разработки. Я научился писать тесты для своего кода.
Younique была первой компанией, которая отправила меня на конференции. Они также были первой компанией, которая предоставила мне возможность проводить внутренние инженерные тренинги для остальных сотрудников организации. Они инвестировали в мой рост, и это принесло хорошие плоды, как для них, так и для меня.
Я многое узнал о неформальном лидерстве и о том, как влиять на инженерные решения без прямых полномочий. Я также узнал, что иногда тебя могут перечить, даже если ты глубоко не согласен с принимаемыми решениями.
Через полтора года я решил покинуть Younique. Мне очень нравились люди, с которыми я работал, но я начал ощущать, что инженерные принципы, которые я усвоил и полюбил, не так высоко ценились в культуре компании.
Этому тоже была причина. Younique – это компания электронной коммерции, поэтому программное обеспечение, которое мы создавали, не было продуктом. Программное обеспечение было просто средством, с помощью которого продукт мог быть продан. Результатом такой ориентации на бизнес стало то, что инженерные стандарты не являются основным направлением деятельности компании.
Автоматизированное тестирование не ценилось высоко, как и доступность. Некоторые архитектурные решения казались поспешными и не очень хорошо продуманными. Планирование проектов было кошмаром с бесконечными изменениями в последнюю минуту со стороны маркетинга, из-за чего инженерный отдел работал допоздна, чтобы удовлетворить эти запросы.
Мне было комфортно в Younique, но я хотел вернуться в мир технологий, где продуктом было программное обеспечение. Я хотел работать в компании с сильными инженерными ценностями и высокими стандартами. Короче говоря, я хотел найти компанию, культура которой в большей степени соответствовала бы моим внутренним стандартам.
И вот я покинул Younique и присоединился к Instructure в качестве инженера-программиста.
Instructure
В Instructure я изучал передовые методы разработки программного обеспечения. Я узнал, как выглядит организация, которая ценит качество, тестирование и доступность. Я работал с большим количеством умных людей, которые были намного выше меня по должности. Я участвовал в нашем архитектурном совете и помогал принимать решения, которые влияли на всю кодовую базу.
Я углубил свое понимание экосистемы фронтенда и инструментария, включая Webpack, Rollup, Storybook, форматеры кода, линтеры кода, журналы изменений и инструменты выпуска. Я узнал, как создавать и поддерживать систему проектирования. Я узнал, как важно поддерживать зависимости в актуальном состоянии. Я начал работать с микрофронтендами.
Я научился строить отношения с коллегами по команде, которые были удаленными подрядчиками из других культур. Я продолжал выступать на инженерных учебных собраниях и “обедах и уроках”. У меня была первая реальная возможность наставничества со стажером.
Кстати, именно к концу работы в Instructure я начал писать.
Я ушел из Instructure через год, гораздо раньше, чем планировал изначально. Компания переживала тяжелый период приобретения частной инвестиционной компанией, и было несколько раундов увольнений. Я пережил увольнения, но большая часть моей команды ушла. Товарищество и чувство сопричастности исчезли. Неопределенность того, что будет дальше, была ощутимой. Мне нужно было больше стабильности в жизни, поэтому я нашел новую работу.
Workfront
Мое следующее приключение произошло в компании Workfront в качестве старшего инженера-программиста. Именно в Workfront у меня была возможность применить уроки, которые я получил в трех предыдущих компаниях. Workfront предоставила мне множество удивительных возможностей для лидерства, как формальных, так и неформальных.
Время работы в Workfront дало мне шанс помочь улучшить менее чем идеальную культуру компании, чреватую плохой инженерной практикой. Ошибки были распространены повсеместно. Покрытие тестов было низким. Интеграционные тесты были нестабильными. Приложение было недоступно. Младшие члены команды нуждались в руководстве.
В течение первого года работы я помог инженерной организации внедрить практику “нулевого дефекта”, чтобы уменьшить горы ошибок. Я улучшил покрытие тестов. Я укрепил нашу систему проектирования. Я исправил проблемы доступности. Я внедрил контрольные списки проверки кода и лучшие практики. Я организовал и улучшил нашу документацию. Я обучал свою команду на еженедельных собраниях сотрудников. В течение нескольких месяцев я проводил семинары по вопросам доступности для всех остальных инженеров.
Мне посчастливилось участвовать в десятках собеседований и принимать решения о найме. Я проводил собеседования с несколькими кандидатами в Younique и Instructure, но именно в Workfront я начал по-настоящему наслаждаться и ценить процесс собеседования.
После года работы в Workfront нас приобрела компания Adobe.
Adobe
В Adobe я работаю старшим инженером-программистом и техническим руководителем, и через полтора года после приобретения я все еще здесь и мне это нравится! На данном этапе своей карьеры я все еще нахожусь в поиске возможностей для роста на руководящих должностях.
Последние полтора года я возглавляю нашу инициативу по обеспечению доступности продукта Workfront. Я провел собеседование, нанял и возглавил новую команду по обеспечению доступности, с которой работаю по сей день.
Я научился управлять инициативами, которые касаются не только моей команды или портфеля, но и всего инженерного отдела. Я узнал, что нужно для создания новой команды. Я узнал, какие качества следует искать в инженерах-программистах во время собеседования. Я на собственном опыте убедился, что не каждый наемный сотрудник является хорошим. Я узнал, как важна хорошая документация при приеме на работу. Я узнал, как распространять передовой опыт, которому я научился, чтобы десятки других инженеров могли следовать тем же стандартам.
Adobe – замечательная компания, полная, казалось бы, безграничных возможностей для роста. Так что я все еще здесь! Пока…
Заключение
Оптимизируйте свою карьеру для роста. Вы будете счастливы, что сделали это.