Обучение
- AI. Работа с нейросетями
- Подготовительные курсы
-
Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Fullstack
- Наука о данных
- Тестирование ПО
- Центр профессионального развития
- IT Bootcamp
- Гуманитарные и экономические дисциплины в IT
- Управление проектами и продуктами
- Бизнес- и системный анализ
- Веб-дизайн и компьютерная графика
- Системное и сетевое администрирование
- Информационная безопасность
- Маркетинг и продажи
- Английский язык для IT
Обучение
- AI. Работа с нейросетями
- Нейросети: практическое применение
- Искусственный интеллект в управлении командами и процессами
- Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Тестирование ПО
- Ручное тестирование ПО
- Мобильное тестирование приложений
- Автоматизированное тестирование на Python
- Автоматизированное тестирование на Java
- Автоматизированное тестирование на JavaScript
- Гуманитарные и экономические дисциплины в IT
- Technical writing
- IT HR
- PR в IT
- Управление финансами в IT
- Управление проектами и продуктами
- Project management
- Product management: Основы управления IT-продуктом
Карьера разработчика ПО: от выбора специальности и учёбы до поиска работы и жизни после оффера
Евгений Алуев, 20+ лет опыта разработки. Проделал путь от FoxPro до Salesforce, от DOS до SaaS, от Assembler до No-Code. Работал над проектами для локальных фирм и глобальных корпораций.
С детства мы мечтаем стать кем-то. Кто-то видит себя летчиком, кто-то — поваром. Иные, долго раздумывая, выбирают, к примеру, актерскую стезю, но оказываются в медицине, следуя желанию родителей. Мне повезло: я сам выбрал дело по душе — радиоэлектронику и программирование. За десятилетия работы разработчиком я накопил опыт, которым хочу поделиться. Эта статья поможет понять, подходит ли тебе эта профессия, какое образование нужно, как найти работу и построить успешную карьеру. Мои советы основаны на общении с разработчиками, рекрутерами и специалистами по найму, а также людьми, сменившими профессию. Надеюсь, ты сделаешь правильный выбор и начнешь новую, захватывающую карьеру.
Планирование карьеры
Какие разработчики бывают?
С момента создания первой ЭВМ компьютерные науки сильно расширились и включили в себя множество специальностей. Одна из приятных особенностей работы разработчика — возможность начать с одной специальности и перенести свои навыки в другую.
Например, веб-разработчики создают сайты и приложения для Интернета. Даже в этой области существует множество типов, и наиболее популярные — Frontend-разработчики, которые работают над тем, что находится непосредственно перед пользователем, проектируя интерфейс. Работа Backend-разработчиков — это "кулисы" приложения: серверная логика, невидимая для пользователя. Их сочетание известно как Full-stack. Первые часто пишут на JavaScript, вторые — на Java.
Отдельно существуют разработчики настольных приложений, которые создают программы для компьютеров, используя языки программирования, такие как C# и Java, и фокусируются на пользовательском интерфейсе и взаимодействии с операционной системой.
Разработчики мобильных устройств работают в iOS и Android, которые используют специализированные языки, такие как Swift и Kotlin. Они предоставляют разработчикам доступ к функциям каждого устройства, например, местоположению и ориентации в пространстве, и к многочисленным датчикам, которые поставляются с мобильными устройствами.
Разработчики игр фокусируются на типах взаимодействия, которые являются уникальными для игр, таких как играбельность или многопользовательская игра. В GameDev используют фреймворки (Unity, Unreal game Engine) или обычные языки программирования (Java и C++).
Data Scientist — один из новых и быстрорастущих типов разработчиков. Он специализируется на создании программного обеспечения для анализа больших объемов данных и пишет на Python и R.
Разработчики систем управления базами данных работают над созданием приложений для хранения и обработки данных, используя, например, SQL.
Какой тип разработчика выбрать?
Однажды моя мечта работать с ноутбуком на природе под деревом разбилась о суровую реальность: жара, насекомые, слепящее солнце и неудобные корни. Этот опыт научил меня, что выбор карьеры разработчика требует обдуманного подхода.
Начни с того, что тебя искренне увлекает, даже если это кажется лишь мимолетной идеей. Погрузившись в дело по душе, ты поймёшь, насколько оно действительно захватывает и стимулирует к развитию. К счастью, множество инструментов программирования, включая игровые фреймворки, доступны бесплатно. IT-Academy предлагает курсы, помогающие попробовать разные направления разработки и получить необходимые навыки. Ты также можешь начать с курсов компьютерных наук или университетских программ, предлагающих разнообразные специализации. Не забудь о сообществах: ищи группы и конференции разработчиков для обмена опытом и новыми знаниями.
Наконец, самый лучший способ понять, подходит ли тебе разработка — начать создавать что-то своё. Половина разработчиков написали свою первую программу ещё в 16 лет! Выбор профессии подобен моей попытке работать под деревом: ты не узнаешь, подходит ли тебе это, пока не попробуешь.
Каков типичный карьерный путь?
Отец моего одногруппника был военным, им приходилось переезжать в новый город каждые несколько лет. И каждый раз приятель начинал с нуля, заводя новых друзей, вступая в новые спортивные секции и приспосабливаясь к новым учителям. Если ты меняешь карьеру, путь в разработке программного обеспечения такой же — опять придется начинать с нуля.
Большинство разработчиков начинали программировать из личного интереса, как хобби. Многие компании предлагают учебные лаборатории и стажировки, помогающие новичкам получить первый опыт.
Первая твоя роль, после стажера, будет звучать как Junior-разработчик — ты будешь применять полученные знания на практике, начиная в основном с документации и написания тестов. Это поможет тебе освоиться в компании и её технологиях. Работа в команде — важная часть профессии, учись взаимодействовать с коллегами, не воспринимая их как друзей на всю жизнь.
Дальше — Middle-разработчик. Тебе понадобится гибкость и умение работать с разными технологиями и языками. Ты можешь специализироваться в определённой области. Разработчики уровня Senior обладают глубокими знаниями и отвечают за общую картину проекта, часто возглавляя команды. Ты можешь также стать узким специалистом (например, в машинном обучении), работающим над конкретными задачами в разных проектах.
В будущем возможен переход на позицию менеджера разработчиков — с более высокой зарплатой, но и большей нагрузкой. Многие возвращаются к разработке, соскучившись по кодированию. Менеджмент — это другая карьера, и она подойдёт тебе, если ты любишь работать с людьми, наставлять и руководить командой. Но это точно не для интровертов.
Сколько можно зарабатывать?
Согласно US News Money, разработчик ПО находится среди первых мест в их списке 100 лучших профессий со средней зарплатой в размере 127 260 долларов в год. И хотя текущий спрос на разработчиков значительно ниже, чем был в прошлые годы, массового ухода людей из профессии не наблюдается. Актуальную зарплату разработчика в разных регионах мира можно узнать на сайте Glassdoor. Но не забывай, что не нужно устраиваться на работу исключительно из-за зарплаты. Задайся вопросом: достаточно ли тебя мотивирует и захватывает разработка ПО, чтобы сделать ее своей профессией?
Образование
Нужно ли высшее образование?
Такие компании, как Uber, Facebook, Microsoft, Apple и Twitter, были созданы основателями без высшего образования, поэтому все больше и больше компаний, включая Alphabet (материнскую компанию Google), IBM и другие, больше не требуют университетского диплома.
Опрос Stack Overflow показал: 75% разработчиков имеют степень бакалавра, 62% — в области компьютерных наук или смежных областях, и 85% считают образование важным. Рекрутеры подтверждают: диплом помогает выделиться. Однако он не гарантирует компетентность. Куда важнее качественная и актуальная учебная программа, отличные оценки, опыт стажировок и участие в интересных проектах. Я, например, участвовал в университетском проекте вне своей специализации — самостоятельно нашел нужного преподавателя и получил бесценный опыт. «Просите — и вам дадут, ищите — и найдете, стучите — и вам откроют».
Образование не гарантирует работу, но помогает определить интересы и рассказать историю о том, какой ты человек.
Что должен включать учебный план?
Поскольку инструменты разработчика часто меняются, тебе придется постоянно изучать что-то новое. 90% разработчиков освоили новые языки, фреймворки или инструменты вне университета, а половина прошла онлайн-курсы; треть вкладывается в open-source проекты. Твой план обучения должен строиться на непрерывном развитии. Системы разработки эволюционируют, и тебе нужно «быть в форме», обновляя свой багаж знаний.
Обязательно оставляй время каждую неделю на изучение чего-то нового. Один из приемов, который ты можешь попробовать, — добавлять обучение в каждый проект. Постарайся изучать хотя бы часть того, что ты еще не знаешь, в каждом проекте.
Важно не зацикливаться на конкретных фреймворках — они устаревают быстро, а вот умение решать задачи остаётся. Обрати внимание на алгоритмы (например, классический труд Д. Кнута «Искусство программирования» — Билл Гейтс советовал его всем). Тщательно освой основной язык своей специализации (JavaScript для фронтенда, например).
Не забывай о командной работе: курсы по Agile и гибкой разработке — must-have. Большинство проектов делаются командами, а успешное взаимодействие — залог успеха.
Научись работать с API — компьютеры больше не изолированы. Участие в open-source проектах даст тебе практический опыт и возможность показать себя.
В итоге знания конкретных фреймворков менее важны, чем умение решать реальные задачи. На этом ты и будешь учиться больше всего.
Можно ли сменить карьеру на айтишную?
Я знаю многих разработчиков, сменивших профессию: они были юристами, строителями, столярами — это люди с совершенно разным бэкграундом. Они получили образование, сделали карьеру в своей области, но потом решили всё изменить.
Вот что поможет тебе: начни общаться с людьми из IT. Хотя я и интроверт, могу сказать: это очень важно. Посещай митапы и мероприятия — там ты познакомишься с другими разработчиками, поделишься своими успехами, и это поможет тебе в будущем при трудоустройстве.
Что изучать?
Работа в сфере технологий часто создаёт ощущение постоянной гонки за знаниями: сегодня ты осваиваешь что-то новое, а завтра это уже может устареть. Как же выбрать, какие технологии изучать? Вот несколько советов, которые помогли мне раньше.
Начни с модели «Т-образных навыков». Это значит, что необходимо обладать широким кругозором в разных областях, но при этом глубоко специализироваться в чём-то одном, что тебя действительно увлекает.
Не хватайся за новомодные разработки, не прошедшие проверку временем. Велика вероятность, что быстротечные тренды потеряют популярность, и твои знания окажутся невостребованными.
Ищи технологии с killer feature. Это должна быть действительно уникальная функция. Учиться новому — это замечательно, но, прежде чем вкладывать своё драгоценное время, убедись, что технология проверена временем и зарекомендовала себя на практике.
Нужны ли сертификаты?
Сертификации — это тест практических знаний по определенной теме. Не нужно путать их с сертификатами, которые выдаются за простой просмотр курса. Они часто требуют повторной сертификации через несколько лет. Это показывает, что ты поддерживаешь свои навыки на требуемом уровне. Некоторые компании предлагают надбавки к зарплате или премии за получение сертификата, в котором заинтересована компания. Это позволяет продемонстрировать работодателю не только способность пройти дополнительное обучение, но и наличие практических навыков в определенной области. Сейчас сертификация может быть обязательным требованием в вакансиях и довольно распространена в определенных сферах. При наличии времени, целеустремлённости и необходимых финансовых ресурсов получение сертификатов может стать ценным вкладом в карьеру.
Поиск работы
Как разработчики находят работу?
Чаще всего разработчики находят работу через рекомендации. На встречах сообществ люди часто делятся информацией о вакансиях в своих проектах. Конечно, полезно иметь связи в индустрии, но нужны правильные связи. Наиболее ценны те, которые строятся на долгосрочных отношениях. Не стоит подходить к кому-то сходу и просить о работе или рекомендации. Хорошие связи — это, скорее, отношения; они развиваются постепенно. Не начинай с просьб, а прояви искренний интерес к тому, чем занимается человек. Со временем ты сможешь задавать вопросы, но фокусируйся на развитии отношений, и связи появятся сами собой, когда люди узнают о твоём опыте.
Сейчас рекрутеры часто посещают публичные мероприятия. На таких встречах не сиди сложа руки. Это прекрасная возможность познакомиться с докладчиками, модераторами и другими влиятельными людьми. Если ты участвуешь в мероприятии, попробуй сделать презентацию на интересующую тебя тему. Это покажет твою осведомлённость и готовность к сотрудничеству. Преимущество хороших связей в том, что, получив рекомендацию, ты можешь пропустить самую сложную часть отбора. Постоянно обновляй свой профиль, адаптируя его под каждую вакансию. Твой профиль должен ярко и выгодно рассказывать о тебе, помогая выделиться среди других кандидатов.
Стоит ли использовать рекрутера?
Есть два типа рекрутеров. Во-первых, это внутренние рекрутеры, которые работают в определенной компании, которая ищет таланты. Все кандидаты и их резюме проходят через этих сотрудников. Во-вторых, есть компании-рекрутеры, или кадровые агентства, которые занимаются поиском кадров для других компаний-заказчиков. Нередко они принимают на работу к себе в штат (то есть являются фактическим работодателем), но продают его рабочее время (сдают в аренду — аутстаффинг) для компаний-заказчиков.
Что хочет видеть рекрутер в резюме?
-
Текст должен быть отформатирован и орфографически выверен. В некоторых странах, например, Канаде, свой формат резюме.
-
Кандидат должен демонстрировать последовательный карьерный рост и развитие. Длительные перерывы в трудовой деятельности, за исключением декретного отпуска, требуют пояснений.
-
Соискатель должен проявлять активность. Расскажи, как твой вклад повлиял на результаты работы компании. Можно прикрепить свой GitHub-профиль, который отразит активность, уровень профессионализма и глубокие знания в определённых областях.
-
Рекомендации или рефералы. Попроси коллег оставить на LinkedIn рекомендацию о совместной работе. По крайней мере, если им понравилось с тобой работать.
Что должно включать резюме?
Главное в профиле или резюме — это твоя история. Начни с краткого, ёмкого описания себя. Заголовок должен содержать одно утверждение, которое тебя определяет.
Более подробную информацию можно добавить в раздел «О себе», раскрывающий твою личность и профессиональный путь.
Помни, что активность в LinkedIn — это тоже часть твоего профиля. Комментарии, публикации, статьи и т.д. расскажут о тебе многое, и рекрутеры/работодатели обязательно обратят на это внимание. Убедись, что твои публикации конструктивны, позитивны и полезны.
В разделе «Опыт работы» укажи не только историю трудоустройства, но и подробно опиши свои достижения, например, увеличение продаж или повышение скорости работы. Отметь используемые технологии, подробно описывая их применение в проектах.
В разделе «Образование» укажи средний балл, если он высок.
Профиль — это часто первое впечатление, которое ты производишь на потенциального работодателя, поэтому он должен быть безупречным.
Что нужно, кроме резюме?
Покажи свою работу, это действительно важно. Это можно сделать с помощью GitHub-профиля. Теперь GitHub — социальная сеть для программирования, которая позволяет разработчикам хранить свои проекты и предоставляет аналитику по работе. Для работодателей он также предоставляет данные, такие как количество подписчиков и звезд, которые ты ставишь проектам с открытым исходным кодом. Можно также добавить ссылки на свои учетные записи в социальных сетях, а также свое местоположение, что довольно важно для людей, которые ищут разработчиков в определенных локациях. Поставь флажок «Доступен для найма».
Работодатели ценят активность в проектах. На GitHub создай отдельные репозитории для каждого проекта и выбери самые значимые. Они должны демонстрировать твою лучшую работу и включать популярные проекты. Звёздочки на проектах означают, что люди используют и ценят твою работу. Каждый репозиторий должен иметь надежный файл README с подробной информацией о проекте, кратким описанием, тегами и ссылкой на демоверсию, чтобы показать проект в действии. Теги помогут продемонстрировать используемые технологии и повысить видимость в поиске, когда работодатели ищут специалистов с определёнными навыками.
Процесс трудоустройства
Как откликаться на вакансию?
Подача заявки в компанию означает, что ты будешь конкурировать с другими за одну и ту же работу. В среднем на вакансию приходит около сотни резюме, и только немногие проходят этот первый этап. Поэтому ключ к получению работы через заявку — убедиться, что ты соответствуешь указанным требованиям. Прочитай их и убедись, что те навыки и компетенции, которые ищет в кандидатах работодатель, есть в твоем резюме или профиле LinkedIn. Не стоит расстраиваться и опускать руки из-за слишком обширных и подробных требований к работе. Некоторые вакансии выглядят как поиск специалиста-многостаночника. Иногда так и есть на самом деле.
Иногда может сработать наличие опыта работы с похожей технологией. Например, если ты отлично разбираешься в React, можешь смело откликаться на вакансию, требующую знания Vue.js. Компании понимают, что понадобится дополнительное обучение. Изучи профили других специалистов, обрати внимание, как они меняли технологические стеки. Перед тем как отправить заявку, адаптируй резюме под конкретную вакансию. Убери несущественные навыки, сфокусируйся на требуемых.
Собеседование с рекрутером
Пришел ответ на почту или по телефону? Поздравляю, ты в числе немногих процентов кандидатов, прошедших этот этап! Теперь твоя задача — выделиться из небольшой группы претендентов. Докажи, что справишься с работой. Рекрутер ищет квалифицированных специалистов, поэтому тебе нужно ответить на вопросы по технологиям из описания вакансии.
Перед созвоном изучи компанию и освежи в памяти вакансию. В самопрезентации упомяни нужные технологии, расскажи о проектах, где ты их использовал или изучал самостоятельно. Подготовь резюме, описание вакансии и любые заметки, подтверждающие твою квалификацию. Возьми бумагу и ручку для заметок во время собеседования. Потренируйся отвечать на вопросы с кем-то. На YouTube много роликов о подготовке к собеседованиям и распространенных вопросах. Посмотри их — это поможет тебе получить представление. А ещё лучше — попроси друга задать тебе такие же вопросы для активной тренировки.
Отправь интервьюерам благодарственные письма. Это как хороший тон — поблагодарить за встречу. Это покажет твою заинтересованность и готовность к дополнительным усилиям. Ждать ответа можно долго, иногда месяцами. Ты можешь и не узнать, состоится ли собеседование или твою кандидатуру уже отклонили — рекрутеры не всегда уведомляют об отказе, особенно без автоматизированной системы рассылок. Не расстраивайся, если тебе не перезвонят. Будь терпелив и продолжай откликаться в другие компании.
Как подготовиться к техническому интервью?
Техническое интервью — часть процесса отбора, особенно на позицию разработчика. Технические вопросы могут задать и на ранних этапах, иногда даже на первом созвоне. В худшем случае рекрутер задаёт вопросы с бумажки и ждёт ответа, записанного на той же бумажке. В серьёзных компаниях техническое интервью проводит инженер, часто сертифицированный “Technical Interviewer”. Он проверит твои знания, указанные в резюме. Возможно, придётся выполнить тестовое задание (offline) перед собеседованием с инженером. На самом интервью могут попросить пройти онлайн-оценку (live coding) с вопросами.
Перед собеседованием подготовься по необходимым для работы темам. В интернете можно найти тесты по разным технологиям, а также книгу “Cracking the Code Interview” с общими тестами и задачами на разных языках. Если раньше не практиковался в публичном решении задач, потренируйся. Попроси друга выбрать задачу из какого-нибудь ресурса и покажи, как её решишь. Важно не само решение, а твой подход. Задавай уточняющие вопросы, убедись, что понимаешь требования, и проговаривай ход решения вслух. Интервьюеры оценивают ход мыслей кандидата и реакцию на вопросы и изменения требований. Я, например, если вижу неполное или неоптимальное решение, привожу пример, где этот недостаток критичен, и жду, что кандидат переделает решение с учётом новых условий. Иногда таких итераций несколько — это хороший способ проверить человека на стрессоустойчивость, умение работать в условиях ограниченного времени и под контролем (хотя микроменеджмент в реальной работе не приветствуется). Неспособность признать ошибку и исправить код — тревожный сигнал.
Поэтому будь вежлив и следи за реакцией. Техническое интервью — это не только проверка hard skills, но и психологический тест на стрессоустойчивость. Чем больше тренируешься, тем лучше результат.
Лучшие вопросы для собеседования
Разработчики, как правило, интроверты, и в школе эти качества укрепляются индивидуальной работой над заданиями. Но все меняется, когда мы приходим на проект. Разработка в IT-компании — это очень социальное занятие. Поэтому на собеседовании будут также оценивать, насколько хорошо ты общаешься.
Продемонстрируй свой интеллект, задавая продуманные вопросы. Хорошие вопросы покажут, что ты изучил требования к работе, потребности компании и важные для интервьюеров моменты. Спроси, как добиться успеха на этой должности и как компания измеряет эффективность работы. Узнай о процессе адаптации и о поддержке со стороны компании. Например, спроси о наличии системы наставничества (менторства). Поинтересуйся подробностями твоей будущей роли и возможностями карьерного роста в компании.
Зарплата
Как узнать свою стоимость на рынке труда?
Прежде чем откликаться на вакансии, нужно иметь представление о своей стоимости на рынке. Если уже работаешь разработчиком, ориентируйся на то, сколько зарабатываешь в настоящее время. Но что делать тем, кто меняет или только начинает свою карьеру?
Иногда компании указывают в вакансии диапазон зарплат, но это всё равно предмет обсуждения. Посмотри, есть ли эта вакансия на других сайтах, и найди похожие вакансии в других компаниях. На сайтах вроде Glassdoor или justjoin.it есть калькуляторы зарплат, которые помогут тебе оценить средний уровень зарплаты для подобных должностей. Ежегодный опрос разработчиков от Stack Overflow тоже полезен.
Зарплаты могут сильно отличаться даже внутри одной компании. Если ты кого-то знаешь в этой компании, спроси, сколько, по его мнению, можно запросить за эту работу. Поищи информацию заранее, чтобы быть готовым к вопросам о зарплате. Незнание своей цены часто приводит к нижней границе зарплатной вилки.
Как обсуждать зарплату?
Тебя могут спросить о зарплате в самом начале разговора. Подумай о трех важных числах: желаемая ставка, запрашиваемая ставка и минимально приемлемая для тебя ставка. Желаемая ставка — это то, сколько ты хочешь зарабатывать. Запрашиваемая ставка должна быть выше желаемой, чтобы иметь пространство для манёвра во время переговоров. Идеально, если рекрутер сам назовёт зарплату или диапазон. Постарайся ненавязчиво узнать эту информацию. Минимально приемлемая ставка — это абсолютный минимум, ниже которого ты не готов работать. Главный совет: будь готов сказать «нет» и отказаться от предложения, если оно ниже минимума. Помни: ты не получишь того, о чём не попросишь, а уверенные переговоры о зарплате покажут твою зрелость и профессионализм.
Бонусы
Современные IT-компании, следуя уже установившейся мировой традиции, обычно предлагают своим сотрудникам различные бонусы. Это может быть медицинская страховка для работника или также и для членов его семьи. Это могут быть ваучеры в общепит или оплата абонемента в спортзал. Бывают «годовые бонусы» в виде премии по итогам года, но младшим разработчикам рассчитывать на них не стоит. Обычно бонусы указаны в вакансии, и тебе решать, что из этого важно, а что — несущественно.
Получение оффера
Как подготовиться к новой работе?
Поздравляем! Как только получишь оффер и примешь его (не забудь, иначе он аннулируется!), можно планировать дальнейшие шаги.
В технологической компании тебя ждёт онбординг — процесс адаптации. Ты получишь инструкцию, следуя которой подготовишь необходимые документы для бухгалтерии и HR, получишь логины, найдёшь рабочее место, научишься пользоваться порталом компании и заполнять отчёты. Спроси, есть ли какие-нибудь обучающие материалы. Тебе могут назначить наставника — менеджера или коллегу, который поможет адаптироваться. Не стесняйся просить о помощи: все когда-то были на твоём месте. Ты сможешь отплатить за помощь, когда сам станешь наставником.
И последнее: в этой сфере распространён синдром самозванца — ощущение, что ты недостаточно компетентен. Даже опытные разработчики постоянно что-то гуглят. Не знать чего-то — нормально. Худшее решение — не просить о помощи.
Что делать после получения оффера?
Получение желанной работы — это не финиш, а лишь начало пути. Смотри на карьеру как на путешествие, а не на короткий забег. Развитие — это не только первая или вторая работа, но и понимание своих будущих целей. План важен, потому что менеджеры и наставники могут тебе помочь. Они будут спрашивать о твоих целях, но для этого цели должны быть.
Составь список того, чему хочешь научиться и над какими проектами работать. Хочешь стать менеджером? Многие разработчики довольны своей работой и не стремятся к менеджменту, хотя менеджеры обычно зарабатывают больше. Становись менеджером, если тебе нравится руководить людьми. Или можешь стать тимлидом — руководить командой и проектом, не занимаясь прямым менеджментом.
Запиши свои годовые и пятилетние планы. Просматривай их хотя бы раз в год перед аттестацией. Планы — это гибкий инструмент, но их запись поможет тебе и окружающим работать над их реализацией.
Когда искать следующую работу?
Нет строго установленного времени работы в одной компании. Главное — удовлетворяет ли тебя нынешнее место работы с точки зрения развития. Многие разработчики годами остаются в одной компании и довольны своей работой. Но некоторые открыты к новым возможностям. Хотя многие ищут более высокую зарплату, им важны новые технологии, перспективы роста и лидерства, а также баланс работы и личной жизни.
Узнай о возможностях обучения и развития — некоторые компании предлагают внутренние или внешние курсы. Пользуйся ими! Конечно, деньги важны, но не должны быть единственной причиной для смены работы. Оставаться в компании, которая тебя ценит и даёт возможности для роста, лучше, чем уйти. Это сэкономит тебе много нервов. Со временем ты сам поймёшь, когда и куда нужно двигаться дальше.