Мы в YADRO активно работаем со студентами и видим, что многих из них волнуют вопросы: на какие навыки и знания делать упор ещё в университете, где взять опыт для первой версии резюме, как проходить первые собеседования, и как в целом задать своей карьере правильный вектор на самом старте. Недавно мы провели серию мини-лекций в ведущих технических вузах с советами от уже состоявшихся инженеров, которые относительно недавно прошли путь от студента без опыта до ведущего специалиста или тимлида. Получилось интересно. Мы решили поделиться ключевыми выжимками из рассказов наших инженеров в формате «вопрос‑ответ».  Выпускник ГУАП (2019), техлид в команде телекома..  Пожалуй, карьеру можно сравнить с уровнями в компьютерной игре. На каждом из них нужно приобретать и прокачивать навыки, чтобы победить «босса» и перейти на следующий. Для студента, который задумался о поиске работы, этим боссом будет первое собеседование.  Да и в целом карьеру можно представить как некоторую шкалу, где вы продвигаетесь по уровням — грейдам: стажер, младший разработчик, разработчик, старший разработчик, ведущий разработчик, главный инженер... Помимо технических навыков, на каждом шаге постоянно растут требования к софт-скиллам.  Я буду говорить про веб-разработку, но думаю, эти советы базово сработают и в других случаях. На мой взгляд, нужно постоянно прокачивать свои знания и навыки в пяти направлениях:  Знание предметной области — специфики интересующей вас сферы. Условно, задачи, которые нужно решать для создания продуктов в телеком-разработке, будут отличаются от того, что нужно делать в финтехе.  Знание инструментов разработки: языков программирования, фреймворков, работа с Git и т.д. Эти знания пригодятся во всех предметных областях.  Навыки тестирования. В современной продуктовой разработке, в отличие от университетских проектов, как правило, есть требование к покрытию кода тестами.   Понимание рабочих процессов. Как устроена компания и её бизнес-процессы. Как часто случаются релизы продукта и почему. Кто формулирует требования к продуктам и когда их можно обсуждать.  Работа в команде. Это отдельная ветка навыков, которая включает понимание методологий разработки, проведение код-ревью, умение давать грамотную обратную связь и многое другое. Выпускник МАИ (бакалавриат в 2016, магистратура в 2019), специалист по техническому развитию LTE.   Думаю, все с этим сталкивались. Вот пример. У меня был курс по системам энергопитания: он содержал много теоретической информации, но её прикладная часть для меня была неочевидна. Я думал, что буду заниматься разработкой софта — какие ещё системы питания? Но когда я начал по работе заниматься сетями радиодоступа, оказалось, что системы питания постоянно встречаются вокруг. И действительно нужно разбираться в напряжениях, постоянных и переменных токах, где и какие проводники и преобразователи использовать. В тот момент я вспомнил, как сомневался, стоит ли учить этот предмет. В итоге, мне пригождается практически всё, что я изучал в университете: электропитание, основы связи, программирование на Python и C++, программные продукты вроде MATLAB. Поэтому, если предмет не кажется полезным с практической точки зрения, стоит: Анализировать профильные для вас вакансии: есть ли в них требования схожие с темами, которые вы изучаете? Узнать у старшекурсников, которые уже нашли работу, пригодились ли им знания конкретного предмета. Явно спросить преподавателя: для чего это полезно, где я смогу это использовать? Общение с преподавателями в целом важно. Задавайте им вопросы по профильной области. Вы получите дополнительные знания, которые помогут и экзамен сдать, и пригодятся в будущем. Если предмет вас увлекает, узнайте про возможность научной деятельности по нему. Это принесет вам исследовательский опыт, который можно отразить в резюме и использовать в работе, а возможно, и выступление на научной конференции - навык публичных выступлений пригодится и защите диплома, и в карьере. У меня был и такой позитивный опыт. Плюс, преподаватель может подсказать, где открываются стажировки или дать свою рекомендацию.  Кирилл Голованов: Большинство работодателей понимает, что вы ещё не успели поработать. Но им нужно понять, что вы знаете, а что — нет. Так что не стесняйтесь рассказать о том, что делали в  процессе обучения, исследованиях и так далее. Это тоже приемлемо. Например, в своем первом резюме я написал про курсовые по расчету зоны покрытия мобильных сетей, расчеты энергетики радиолиний. Это всё было связано с будущей специальностью. Упомянул работу в MATLAB, научную деятельность. Добавил все курсы, и по которым у меня была оценка 4 и выше. Так что не стоит думать, что если у вас нет опыта работы, то вам нечего рассказать в резюме или на собеседовании. Такое возможно, только если вы вообще ничего не делали. Андрей Щипило: А еще можно инициировать командный проект или подключиться к совместной программе вашего вуза и какой-то компании. Например, первые навыки работы в команде я получил на третьем курсе. Мы с одногруппниками решили написать почтовый сервис — аналог Gmail. Кто-то занимался бэкендом, кто-то фронтендом, кто-то деплоил все эти решения. Мы научились думать наперёд, пользоваться инструментами для совместной работы, разрешать конфликты, собираться вместе и обсуждать, что мы собираемся делать дальше. Разобрались в Spring, Java, протоколах SMTP, IMAP, POP3. Покрыли наше решение тестами. Зарегистрировали свой домен и запустили сервис. А потом ещё и сдали это как курсовую — не пропадать же добру. Ближе к окончанию учёбы я подключился к совместной программе моего вуза и Dell. Мы изучали облачные технологии, Docker, Kubernetes, системы хранения данных - это было частью предметной области. В итоге я написал систему для управления задачами по обучению нейронных сетей. Это была моя дипломная работа. Проекты, которые я сделал в университете, помогли мне получить и столь нужный опыт, и сформировать резюме. Да и сами знания и навыки не раз пригодились в дальнейшей работе. Андрей Щипило: Во-первых, помните - если вы не пройдёте собеседование, то ничего плохого не случится. Есть много компаний, а в них много команд, и вы всегда сможете проходить интервью ещё и ещё. Во-вторых, как правило, собеседующие заинтересованы в том, чтобы к ним пришли стажеры. Стажер сможет разгрузить разработчиков от рутинных задач, а со временем, в идеале, и сам вырастет в полноценного разработчика. Так что вас никто не будет намеренно «валить». Обычно мы спрашиваем о структурах и алгоритмах, особенностях языков программирования и сетей, операционных системах, многопоточности, базах данных. Так что стоит освежить в памяти эти темы. А в идеале получить опыт работы с ними. Не стесняйтесь показывать любые проекты, если они у вас есть: собеседующему будет искренне интересно посмотреть, что вы уже сделали. А по тому, как вы рассказываете о проекте, который делали, насколько вы разбираетесь в определенных темах. Кирилл Голованов: С одной стороны, я переживал, что мне нужно будет работать целыми днями и что учёба отойдет на десятый план. Но хороший работодатель заинтересован в том, чтобы вы продолжали получать свое образование и успешно закончили вуз. А те, кто пытаются просто нагрузить вас работой, скорее, не видят в вас специалиста, а просто хотят, чтобы кто-то выполнил для них простую работу. С другой стороны, я опасался, что учеба будет мешать карьере: расписание не всегда удобное, не все преподаватели могут быть готовы идти на уступки. Да, в каком-то виде это будет. Но если вы работаете или стажируетесь по профилю университета, а в идеале сможете переложить опыт в диплом, большинство преподавателей это оценит. Просто не злоупотребляйте их доверием. Кирилл Голованов: Нередко мы стесняемся задавать вопросы, опасаясь, что они покажут нашу неопытность. Но не стесняйтесь спрашивать! Я смог продвинуться в карьере во многом благодаря тому, что постоянно задавал вопросы. Андрей Щипило: Все верно, задавайте как можно больше вопросов. Учитесь у коллег, впитывайте как можно больше информации от ваших менторов. Когда вы сами станете старшим разработчиком, спрашивать может быть не у кого. Второе – не останавливайтесь. Да, попасть на стажировку или устроиться на подработку это успех. Но это только первый шаг в карьере. Нужно сказать себе: отличная работа, уровень пройден!  Но вас уже ждет следующая задача – показать себя с лучшей стороны, получить первое повышение. А это значит, хорошо знать предметную область, писать код, который не надо переписывать по 20 раз. С самого начала уметь оценивать и декомпозировать задачу, предлагать решения, нести за них ответственность. Ответственность и необходимость принимать решения это часть карьерного роста. Некоторые решения будут удачными, некоторые нет. Но это опыт, который поможет вам расти дальше. Третье — если вы не знаете английского, начинайте его учить. Даже если вы не будете разговаривать на нём с коллегами, язык понадобится для чтения технической документации. Наконец, и это хорошие новости: если вы дошли до этого момента, значит вы всё сможете! Помните об этом, если у вас будут возникать сомнения в себе. И не забывайте думать о себе и отдыхать от работы. Удачи!  Компания YADRO