Куда можно устроиться программистом
Перейти к содержимому

Куда можно устроиться программистом

  • автор:

Как найти работу программисту, даже новичку без опыта?

Как найти работу программисту, даже новичку без опыта?

Профессия программиста – одна из самых востребованных в интернете. Проблема в том, что многим нужны сотрудники с опытом, которые могут сразу решать задачи. Что делать, если у вас пока мало практики? Давайте разберемся, как найти работу программисту быстро и просто, в том числе – новичку без опыта.

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

Как устроиться программистом без опыта работы?

Несмотря на высокую конкуренцию на рынке ИТ, крупные компании готовы брать в команду талантливых новичков. Потому что:

  • Они уже имеют базу знаний, а остальному быстро учатся.
  • Новичков не нужно переучивать (как это бывает с устоявшимися профи) и легко «слепить» под себя.
  • Им не нужно платить большую зарплату, в то время как разработчики с опытом стоят дорого.
  • В них есть «искра», от энтузиастов большая отдача.

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

Где и как искать вакансии начинающим разработчикам?

  • Знакомые. Опыт можно получить, выполняя задачи для знакомых, друзей или родственников. Денег вы на этом вряд ли заработаете, но получите готовый кейс, который можно показать потенциальному работодателю. Плюс запустится «сарафанное радио», а это тоже возможность получить рабочее место.
  • Митапы, хакатоны, конференции. Здесь встречаются люди из разных направлений ИТ: делятся опытом, совместно решают задачи, налаживают знакомства. Новичку такие мероприятия полезны вдвойне: можно и опыт перенять, и с «нужными» людьми из индустрии пообщаться. Есть вероятность, что о вас вспомнят, когда понадобится человек на позицию trainee или junior. Обязательно оставляйте свои контакты новым знакомым!
  • Вакансии на сайтах ИТ-компаний. Часто компании размещают на сайтах тестовые задания для кандидатов или предлагают специальные программы для новичков. Например, в Яндекс можно попасть через программу Буткемп. Подпишитесь на новости в группе Клуб фрилансеров – мы анонсируем там мероприятия, помогающие устроиться на работу в разные компании.
    Кстати, здесь большая подборка тестовых заданий, на которых можно прокачать навыки и написать кейсы для портфолио.

6 вариантов, как найти первую работу начинающему программисту:

  1. Стажировки или обучающие курсы. Крупные компании устраивают стажировки (чаще неоплачиваемые) для новичков или организуют собственные обучающие курсы, чтобы затем предложить место в команде лучшим кандидатам.
  2. Биржи фриланса. Здесь встречаются вакансии, в том числе удаленные, от компаний и разовые заказы от частных лиц. Вам могут платить мало (а иногда и вовсе предложить работать за отзыв), но для отработки навыков и наполнения портфолио — вполне подходят.
  3. Агрегаторы вакансий. Тут можно найти работу как в малых компаниях вашего региона, так и в ИТ-гигантах (Яндекс, Mail.ru, Тинькофф и т.д.).
  4. Сайты компаний. Часто на сайтах крупных компаний есть раздел «Вакансии». Если их постоянно мониторить, то можно устроиться на работу мечты даже без опыта.
  5. Соцсети. Во ВКонтакте, Телеграме, Facebook есть профильные группы с вакансиями (в конце статьи будет большой список сайтов и групп для поиска работы).
  6. Стартапы. Здесь тоже нет больших зарплат, зато от новичков не требуют глубоких знаний и навыков — всему обучают в процессе работы.
  7. Удаленная работа. Многие компании сегодня нанимают разработчиков удаленно, в том числе готовы рассматривать начинающих специалистов. В этом обзоре собрано почти 50 таких организаций.

Как устроиться на работу программистом: 5 шагов для достижения цели

Итак, вы нашли подходящую вакансию, на которую хотите устроиться, что делать дальше?

  1. Определите, какие именно навыки требуются от кандидата.
  2. Составьте резюме.
  3. Откликнитесь на вакансию.
  4. Подумайте, какие вопросы могут задать на встрече.
  5. Смело отправляйтесь на собеседование.

Рассмотрим каждый шаг подробнее.

1. Как определить необходимые знания и навыки для получения первой работы?

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

Например, если компании требуется Web-разработчик (fullstack), то, скорее всего, от вас ждут навыков в PHP, HTML, CSS, JavaScript, Python, SQL. В описании задач упор идет на frontend-разработку — нужны три языка: HTML, CSS, JavaScript.

Уверены, что объема ваших знаний достаточно? Откликайтесь на вакансию, предварительно состав хорошее резюме.

2. Как подготовить резюме?

Грамотно составленное и оформленное резюме имеет большое значение. В нем желательно отразить информацию, которая касается конкретной вакансии — только релевантный опыт и знания, без лишней «воды» и самолюбования.

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

Что нужно обязательно включить в резюме:

  1. Образование. Пишите все: ВУЗы, курсы, участие в олимпиадах, хакатонах, воркшопах. Это многое расскажет о вашем «багаже» и раскроет личность. Важно знание английского языка — чем выше уровень, тем лучше.
  2. Опыт работы. Опишите задачи, которые доводилось решать, и лучше в формате кейсов (стояла такая-то задача, решил ее таким-то путем, получил вот такой результат).
  3. Портфолио. Для программиста лучшее портфолио — хранилище кодов Github. Так работодатель увидит ваши скрипты и сможет оценить уровень подготовки.
  4. Ключевые навыки. Перечислите свои фундаментальные (ОС,сети, алгоритмы и структура данных, базы данных) и прикладные (языки, фреймворки, библиотеки и т.д.) навыки. Но не все сразу, а только важные для конкретной вакансии.
  5. О себе. Здесь не надо писать, что вы коммуникабельный, легкообучаемый и усидчивый. В вас хотят видеть человека, с которым предстоит тесно общаться. Опишите круг своих интересов, хобби, то есть дайте работодателю точки соприкосновения, чтобы легче было найти общий язык.

Что сыграет против вас:

  1. Отправка файла в текстовом формате. На ОС Mac и Linux документ не откроется. Сохраняйте и отправляйте резюме в формате PDF. Его смогут открыть и прочитать на любых устройствах.
  2. Отправка резюме в теле письма. Чтобы им поделиться, получателю придется совершить лишние действия, а это раздражает. Да и читать такую «простыню» неудобно. Проявите уважение — отправьте резюме вложенным файлом.
  3. Ошибки. Грамотный человек заметит все ваши ошибки и опечатки — впечатление даже от самого хорошего резюме будет испорчено. Перед отправкой вычитайте текст и/или «прогоните» его через сервис типа «Орфограммка».
  4. Повествование от первого лица. Не должно быть никаких «Я». Пишите от третьего лица в прошедшем времени: изучил, написал, сделал и т.д.

3. Как правильно откликаться на вакансии?

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

Если в вакансии не перечислены требуемые языки, то отталкивайтесь от описанных задач. Например, если фигурирует разработка мобильных приложений, то, скорее всего, тут нужен Java, Swift или Objective-C.

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

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

4. Как подготовиться и пройти собеседование?

Еще раз обратитесь к самой вакансии. Из описания задач и требований к кандидату поймете, какие моменты интересны работодателю. По ним и будет большинство вопросов. Плюсом пойдут смежные темы. Поставьте себя на место собеседника: что еще ему нужно о вас узнать?

Чем больше вопросов вы проработаете, тем увереннее будете чувствовать себя на собеседовании и быстрее получите первую работу. Не стесняйтесь задавать уточняющие вопросы. Отвечайте по существу, без пространных размышлений на отвлеченные темы. Не «якайте» и не пытайтесь казаться большим профессионалом, чем вы есть.

Помните: вы идете не на экзамен. У работодателя нет задачи вас «завалить». Вопросы будут заданы не только с целью выяснить вашу профпригодность. Заказчику важно понять, насколько обоюдно комфортным будет сотрудничество, как быстро вы адаптируетесь в новом коллективе, сможете ли усвоить поток новой информации.

5. Что делать, если не взяли?

Не опускать руки. Проанализируйте моменты, на которых откровенно «плавали». На каком вопросе стало понятно, что вы не подходите? Чего не хватило? Где-то были нечестны и это всплыло?

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

Может потребоваться пройти несколько собеседований, чтобы получить первую работу. Это нормальная практика и она не говорит о том, что устроиться на работу программистом сложно. Знайте, что каждое собеседование, даже если вас не взяли, приближает к получению работы.

Как может развиваться карьера программиста?

В программировании есть два пути развития:

  1. Горизонтальный. Специалист расширяет компетенции, становится экспертом в своей области, формально оставаясь на той же должности. Происходит нишевание. Чем выше экспертность, тем выше востребованность разработчика и, соответственно, зарплата. Это развитие по вектору от Junior к Middle и далее к Senior.
  2. Вертикальный. От разработчика – к руководителю команды. Как правило, чтобы стать руководителем, необходимо вначале продвинуться на позицию Senior-программиста.

Отличия между Junior, Middle и Senior

Границы тут условные. Нельзя сказать, что отработав условные 5 лет, человек точно перейдет в категорию Middle — некоторые и за 10 лет могут не нарастить скиллов для этого уровня.

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

Знания и навыки

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

Задачи, которые решает

  • Технические задачи, четко описанные в конкретных рамках.
  • Юнит-тесты.
  • Правки мелких багов.
  • Бизнес-задачи, закрывающие конкретный бизнес-функционал или проблему.
  • Самые сложные и нестандартные бизнес-задачи.

За конкретный проект или функционал, которые написал сам.

Отвечает за архитектуру, скорость и эффективность всего кода проекта или компании.

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

Приведенная классификация не означает, что позиция Senior — вершина карьеры программиста. Всегда есть, куда расти.

Куда может расти Senior-разработчик?

После нескольких лет работы на позиции Senior программист может вырасти до:

  • Software Architect. Архитектор ПО проектирует программные решения и продумывает, как именно будут взаимодействовать между собой компоненты системы.
  • Team Lead. Рост идет в менеджмент: организация процесса работы по проекту, распределение задач, ответственность за результат всей команды.
  • Project Manager. Функционал расширяется еще больше: управление командой, распределение задач, риск-менеджмент, знание смежных отраслей.
  • Delivery Manager. Такой специалист совмещает функции Software Architect и Project Manager. Это относительно новая позиция и встречается пока редко.

Советы, как программисту быстрее найти работу

  1. Прокачивайтесь всегда, везде и при любой возможности.
  2. Наполняйте портфолио кейсами.
  3. Если нет реальных заказов, выполняйте чужие ТЗ.
  4. Храните свои наработки на Github.
  5. Налаживайте связи с людьми.
  6. Перенимайте чужой опыт.
  7. Учитывайте прошлые ошибки.
  8. Ищите вакансии на всех возможных ресурсах.
  9. Не забывайте про «сарафанное радио».
  10. Не бойтесь откликаться на интересные вакансии, даже если навыков для трудоустройства пока недостаточно.
  11. Вникайте в суть вакансии и в откликах демонстрируйте понимание потребностей работодателя.
  12. Прорабатывайте список возможных вопросов перед собеседованием.
  13. На собеседовании держитесь уверенно.
  14. Если не взяли на работу, анализируйте слабые места, прокачивайтесь и делайте новые попытки.

Список полезных сайтов для поиска работы

Биржи для фрилансеров:

Сайты, где программисты могут искать работу:

Группы в Facebook:

Группы в сети ВКонтакте:

  1. Типичный программист
  2. Клуб фрилансеров
  3. ITc сообщество программистов
  4. Уютное сообщество программистов
  5. ITmozg
  6. Веб-программист
  7. Программисты C/C++
  8. Я веб-программист (php, js)
  9. 1С-Битрикс
  10. Типичный верстальщик
  11. Верстка сайтов
  12. Верстальщики
  13. DigitalHR

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

Сложно ли найти первую работу начинающему разработчику? Нет, если есть хорошая база, soft skills и приложено достаточно усилий для поиска подходящего работодателя. Рынку нужные новые кадры, поэтому многие новички могут легко построить карьеру и выйти на достойный уровень заработка.

Где работать программисту?

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

Проблемы с поиском работы часто связаны с высокой конкуренцией на рынке труда. Да, всем известно, что программирование везде востребовано, но и специалистов в этой области много. Например, по данным сервиса «Авито Работа», в 2023 году количество вакансий в российской IT отрасли выросло в 2,5 раза, по сравнению с прошлым годом.

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

Понятно, что людям, получившим специальность программиста, хотелось бы работать в IT компаниях. Особенно, тем кто учился в вузе и у которых есть степень бакалавра, а то и магистра. Но, если в такие организации не берут, куда еще можно устроиться программистом?

Куда пойти джуну?

Начинающему программисту-джуну (junior developer) важно выбрать место работы, где он сможет получить опыт и научиться новым навыкам.

Начать можно с таких направлений:

  • Разработчик сайтов и веб-приложений. Такие специалисты создают веб-сайты с помощью языков программирования — HTML, CSS и JavaScript, и фреймворки вроде React или Angular. Джуны могут начать с Python-разработки. Этот язык могут осилить даже новички в программировании. На нем пишут серверную часть приложений, игры, модели машинного обучения. Такие разработчики востребованы практически во всех отраслях: в IT-компаниях, веб-студиях, в организациях с онлайн торговлей, медийных компаниях, в финансовых и образовательных учреждениях, в государственных и некоммерческих организациях. Вакансий много, только на портале Headhunter можно найти более 450 предложений на поиск web-разработчиков;
  • Разработчик мобильных приложений. Работа в области создания приложений для iOS (на Swift или Objective-C) или Android (на Java или Kotlin). Такие специалисты требуются в студиях, которые специализируются на мобильной разработке и в компаниях, которые оказывают свои услуги через приложения, например, онлайн-сервисы, банки, интернет-магазины;
  • Инженер по тестированию ПО (QA Engineer). Может работать в разных отраслях и компаниях, где есть потребность в обеспечении качества программного обеспечения и уверенности в его функциональности и безопасности: IT, веб-студии, здравоохранение, финансовые учреждения, геймдев, автомобильная промышленность, телекоммуникации;
  • Техническая поддержка (Customer Support Specialist или Technical Support Specialist). Специалисты техподдержки востребованы во многих компаниях и отраслях, ведь они решают проблемы клиентов и поддерживают бесперебойную работу продуктов и услуг. На такую должность часто нанимают начинающих специалистов и даже студентов на подработку, так как обычно организации предлагают гибкий график работы;
  • Стажировка. Некоторые компании и образовательные организации проводят программы стажировки или обучения для начинающих программистов. Это нельзя назвать работой, хотя бы потому, что вы не получаете никакой оплаты. Но это отличная возможность применить свои знания, получить опыт и пройти обучение под руководством опытных программистов.

Задержимся на этой теме поподробнее.

В чем смысл стажировки?

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

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

Стажер, в свою очередь:

  • Получает практический опыт работы в своей области. Он применяет теоретические знания на практике и учится решать реальные задачи;
  • Развивает навыки, которые связаны с конкретной областью работы — технические навыки, навыки коммуникации, управления проектами и другие;
  • Узнает больше об отрасли, в которой он решил работать, о компании или рынке труда;
  • Заводит профессиональные связи и контакты, которые могут пригодиться в будущем при поиске работы;
  • Получает возможность определить, соответствует ли сфера деятельности, которую он выбрал, его ожиданиям и интересам;
  • Повышает свою ценность на рынке труда. Опыт стажировки делает такого соискателя более привлекательным для потенциальных работодателей;
  • Может получить предложение о постоянной работе в той же компании после окончания стажировки.

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

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

Тем более, что часто стажировки проводят такие гиганты, как:

  • Google. Программа стажировки Google Internship предоставляет возможность работать над разными проектами компании, включая разработку программного обеспечения и исследования;
  • Microsoft предоставляет стажировки в разных отделах компании, в том числе в разработке, маркетинге и дизайне.
  • Facebook (Meta)* предлагает стажировки для студентов и молодых профессионалов. Стажеры могут работать над разработкой социальных медиа-платформ и других проектов;
  • Apple Internship дает возможность стажироваться в одной из самых крупных технологических компаний в мире и участвовать в создании своих продуктов;
  • Amazon предоставляет стажировки в разных подразделениях компании, включая веб-разработку, облачные вычисления и управление проектами;
  • IBM предлагает стажировки для студентов и выпускников в области информационных технологий и бизнес-разработки;
  • Компания Intel проводит стажировки в сфере semiconductor и технологий, связанных с микропроцессорами;
  • Adobe Systems. Здесь стажеры работают в области мультимедийных технологий, дизайна и разработки программного обеспечения;
  • NVIDIA специализируется на графических ускорителях и искусственном интеллекте, поэтому предлагает стажировки в этих сферах;
  • Uber проводит стажировки в области разработки программного обеспечения и технической поддержки.

* деятельность компании запрещена на территории Российской Федерации.

Куда можно устроиться на работу мидлу?

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

Программисты этого уровня работают практически во всех отраслях и компаниях:

  • ИТ-компании — разработка программного обеспечения, веб-разработка, администрирование сетей и баз данных, кибербезопасность и другие области;
  • Многие крупные компании имеют собственные IT-отделы, где мидлы могут работать в качестве программистов, системных администраторов, инженеров и т.д.;
  • Игровые студии. Здесь специалисты занимаются разработкой мобильных или браузерных игр на движках — Unity и Unreal Engine;
  • Стартапы;
  • Фирмы по консультированию в области IT;
  • В государственных учреждениях такие специалисты могут отвечать за техническую поддержку и разработку программного обеспечения;
  • Преподавание в вузах и колледжах, работа в исследовательских лабораториях;
  • Банки и финансовые компании нанимают мидлов для работы в области финансовых технологий (финтех) и разработки приложений для финансовых операций;
  • В медицинских учреждениях и компаниях, связанных с здравоохранением требуются специалисты для разработки и поддержки медицинских информационных систем и программ.

Где работают сеньоры?

Сеньор (senior) — это программист высшей квалификации. Если говорить прямо, это как раз те специалисты, которые много зарабатывают. Они могут быть руководителем группы программистов (тимлидом), менеджером IT-проекта (Project Manager), IT-директором предприятия и т.п. Такой специалист будет востребован в любой компании и любой сфере: IT, крупные корпорации, консалтинговые фирмы, здравоохранение, образование, финансы и т.д.

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

Работа на фрилансе

Одно из преимуществ профессии программиста — возможность работать удаленно на фрилансе. Это позволяет IT-специалистам быть независимыми, предлагать свои услуги разным клиентам и браться за разнообразные проекты. Работа на фрилансе хороший вариант как для начинающих, так и для опытных программистов.

Плюсы фриланса:

  • Можно устанавливать свой график работы и выбирать, когда и где работать;
  • Возможность работать над разными проектами в разных отраслях;
  • Самостоятельность в принятии решения о том, какие проекты принимать, сколько работать, и как устанавливать цены на свои услуги;
  • Возможность зарабатывать больше, чем среднестатистический сотрудник компании;
  • Расширение профессиональной сети;
  • Возможность работать с клиентами со всего мира благодаря Интернету и удаленной работе.

Но на самом деле все не так просто, как может показаться. Минусы такой работы, конечно, тоже есть. Основные — нестабильный доход, необходимость самостоятельного поиска клиентов и управления финансами, отсутствие льгот и страхования. Впрочем стоит не забывать и о таких моментах в работе фрилансера, как отсутствие возможности повышать свою квалификацию. Фрилансеру трудно оценивать свою работу и сравнивать ее с работой других специалистов. Кроме того, снижаются навыки командной работы, да и карьерный рост не предвидится.

Проблему поиска клиентов могут решить несколько профессиональных платформ и онлайн ресурсов.

Фриланс-платформы:

  • Upwork. Одна из крупнейших платформ для фриланса, предоставляющая доступ к множеству разных типов проектов;
  • Freelancer. Еще одна популярная платформа, которая предлагает широкий спектр задач;
  • Fiverr. Здесь фрилансеры могут предлагать клиентам свои услуги;
  • Toptal. Это платформа для высококвалифицированных фрилансеров.

Специализированные ресурсы:

  • GitHub и GitLab. Для разработчиков программного обеспечения. Здесь можно найти проекты с открытым исходным кодом или контрактные работы;
  • Behance и Dribbble — для дизайнеров и креативных профессионалов;
  • Stack Overflow Jobs рассчитана на IT-специалистов, особенно программистов и разработчиков.

Социальные сети и платформы:

  • LinkedIn. Профессиональная социальная сеть, где фрилансеры могут находить контакты и объявления о работе;
  • X (бывший Twitter) и Facebook*. В некоторых группах и сообществах могут размещать объявления о фриланс-вакансиях.

Создание личного сайта и портфолио может привлечь внимание потенциальных клиентов. Участие в отраслевых мероприятиях — конференциях, семинарах, выставках, поможет установить профессиональные связи и найти новые проекты. Можно обратиться к услугам фриланс-агентств.

Специализация программистов

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

Программист и айтишник — это не одно и то же. К IT-специалистам относится более 50 разных профессий. Например, UIX-дизайнер, account-менеджер, системный администратор, devops, менеджер IT-проекта, аналитик данных — это IT-специалисты, но не программисты.

Программист — это разработчик различных алгоритмов и компьютерных программ. Он умеет писать код на специальных языках. По тому, чем занимаются программисты можно условно разделить их на категории:

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

Существует разделение программистов по языкам программирования, с которыми они работают — Delphi, PHP, Python, JavaScript, Java, C/C++, Go и другие.

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

  • Программист баз данных. Отвечает за проектирование структуры, поддержку и обновление баз данных, разработку и оптимизацию запросов, обеспечение безопасности данных и резервного копирования;
  • Специалист в области Data Science — Data Scientist. Это программист-аналитик, работающий с большими объемами данных. Он занимается машинным обучением, математическим моделированием, разработкой ботов и алгоритмов;
  • Бэкенд и фронтенд разработчик. Frontend-разработчик специализируется на интерфейсах. Он создает внешний вид сайтов и приложений. Backend-разработчик занимается программно-административной частью веб-приложения — базой данных, логикой и архитектурой;
  • Мобильный разработчик. Отвечает за проектирование и разработку интерфейса приложения, его функциональности и оптимизацию для различных мобильных устройств;
  • Десктоп разработчик. Это специалист, который занимается созданием программного обеспечения для персональных компьютеров;
  • Программист 1С — 1С-разработчик. Отвечает за создание и настройку информационных систем на базе 1С, их интеграцию с другими системами, за поддержку и обновление уже существующих решений. Он может заниматься разработкой дополнительных модулей и функциональности для программного продукта 1С;
  • Программист Битрикс. Занимается разработкой и поддержкой сайтов и интернет-магазинов на базе платформы Битрикс;
  • Разработчик игр — геймдев (Game Development). Выполняет различные задачи в процессе создания игры, включая программирование, дизайн, анимацию, звуковое оформление и тестирование;
  • Архитектор ПО (Software Architect). Занимается проектированием и созданием архитектуры программного обеспечения. Он отвечает за определение общей структуры системы, выбор технологий и инструментов, разработку архитектурных решений и контроль их реализации;
  • DevOps-инженер. Контролирует все процессы — от написания кода и тестирования до мониторинга готового ПО и его последующей поддержки;
  • Специалист по информационной безопасности (Information Security Specialist). Отвечает за защиту компьютерных систем и данных от несанкционированного доступа, взломов, вирусов и других угроз. Он разрабатывает и внедряет меры по обеспечению безопасности информации, проводит аудиты и тестирование на проникновение, обучает сотрудников правилам безопасного использования информационных технологий;
  • Системный инженер (System Engineer). Занимается проектированием, разработкой, внедрением и поддержкой комплексных информационных систем. Он отвечает за создание эффективной и надежной инфраструктуры, которая позволяет компании или организации эффективно выполнять свои задачи.

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

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

Основные требования к таким специалистам:

  • Знание языков программирования, такие как Python, Java, C++, JavaScript, C# или Ruby;
  • Умение работать с технологиями и фреймворками — HTML/CSS, Angular, React, Node JS, Django, ASP.NET или Spring;
  • Знание основ алгоритмов и структур данных;
  • Владение инструментами контроля версий, такими как Git;
  • Умение работать с программами для разработки. Программисты, в основном, используют IDE (интегрированную среду разработки) на которой можно написать код;
  • Опыт работы с базами данных — MySQL, PostgreSQL, MongoDB или Redis;
  • Умение проводить тестирование и отладку своего кода, опыт работы с инструментами для автоматического тестирования — JUnit, NUnit или Selenium;
  • Знание основных принципов работы операционных систем, таких как Windows, Linux, macOS, iOS и Android;
  • Знание иностранных языков. Английский язык является обязательным для IT-специалистов, так как вся техническая документация, новинки и тенденции индустрии публикуются в основном на этом языке;
  • Soft skills. К ним можно отнести способность к коммуникации, умение работать в команде с другими разработчиками, решать проблемы и адаптироваться к изменениям. Это тоже важно для программиста.

Все остальные навыки зависят от конкретных задач. Заработная плата, как правило, тоже зависит от того, чем именно занимается разработчик.

Одним словом, отвечая на вопрос нашей статьи — где работать программисту, можно ответить — везде. Такие специалисты имеют широкую сферу применения своих профессиональных знаний: IT-компании, банки и финансовые учреждения, транспортные компании, коммерческие предприятия, государственные структуры, web-студии, игровые студии, научно-исследовательские центры и университеты. Все зависит от опыта, уровня квалификации программиста и его готовности учиться и развиваться.

Программист: типы профессии, зарплаты, как стать и где учиться

Программист: типы профессии, зарплаты, как стать и где учиться

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

Кто такой программист

Программист — это разработчик алгоритмов и компьютерных программ. Он пишет их на специальных языках. Во всём мире программисты очень востребованы, их работа хорошо оплачивается: зарплата программиста в России в диапазоне 80 000–220 000 рублей, тимлиды — TeamLead и техлиды — TechLead (специалисты высшей квалификации) получают больше: 250–400 тысяч рублей. Пройдите короткий бесплатный тест, чтобы понять, можете ли вы быть программистом.

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

Как найти свою первую работу программистом? От резюме до испытательного срока

image

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

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

Итак, как же новичку получить первую работу?

Название резюме

Оно должно как-то называться. Существуют два варианта.

  1. Допустим, вы программировали на разных языках. В школе наверняка писали на Pascal, а потом что-то делали на C++. Если вы постарше, то, возможно, знакомы с Delphi. Поэтому в названии резюме можно указать все языки, на которых вы писали. Авось какой-то заинтересует потенциального работодателя. Например, так: «Программист: delphi, python, php, html, java, c#, ruby, scala».
  2. Можно указать, что вы специализируетесь на чём-то одном, например на Python. Обычно, если в названии резюме перечислена куча языков, то понятно, что вы не умеете ничего. Всего коснулись поверхностно. В глазах работодателя вы будете человеком-оркестром, который пришёл на прослушивание в консерваторию. Не надо так делать. Зачёркиваем длинную простыню и оставляем просто «Программист на Python». Повышайте свою самооценку, не акцентируйте в резюме неуверенность в себе, связанную с нехваткой опыта.

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

Какой язык лучше всего указать в резюме? Языков много, но они очень часто друг друга взаимозаменяют. Не все из них живые. Основное правило — выбирайте популярные языки, не надо брать экзотику. Не нужно слушать, что какой-то Haskel очень крутой, классный, умеет делать всё и вся, а функциональные языки программирования такие волшебные… Каждый хвалит свой язык.

Выбор языка

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

Так что при выборе языка обращайте внимание:

  • на его популярность;
  • на решение задач, которые вам интересны;
  • на простоту освоения: на начальном этапе лучше выбрать попроще.
  • Если речь пойдёт про frontend — то есть разработку визуальной части сайтов, — то здесь всё просто, нужны три языка: HTML, CSS, JavaScript.
  • А вот для разработки серверной части вариантов много. Самый популярный язык — РНР. Мне на каждом докладе говорят, что про РНР плохо отзываются, какой-то он не такой. Многие высказывают гипотезы, что он умрёт. Но ничего подобного, половина сайтов написана на РНР, половина вакансий — на РНР, ВКонтакте — на РНР, как и многие другие крупнейшие проекты. Никуда язык не денется. Если в нём будут критические проблемы, то их просто исправят. Появился Ruby on Rails, классный движок — ну, ничего страшного, на РНР стали появляться фреймворки, в которые внедрили аналогичные фичи. Всё хорошо. Отдельно скажу, что Python многих прельщает простотой и универсальностью.
  • С точки зрения мобильной разработки есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
  • Разработка под desktop и серверы: Python, Javaб С++ или C#. Здесь есть простор для метаний. Python попроще, чем остальные. На Java можно писать под Android. На C# — углубляться в разработку игр и сайтов. C++ больше подходит для тех задач, где требуется высокая скорость работы. В остальном у них возможности совпадают, просто на Java сайты пишут реже.

Что касается Objectivе-С и Swift, я давно присматриваю за этими языками, и буквально на днях количество вакансий на Swift сравнялось с Objective-C. Мое мнение, это очень серьезный показатель, что Swift будет только набирать обороты и со временем может вытеснить Objective-C.

Технологии

Итак, мы выбрали язык и указали его в резюме. Далее перечисляем технологии, которые мы знаем. Давайте снова разбираться, что круче. Допустим, вы программируете на PHP. Имеет ли смысл писать, что вы знаете С, С++, Pascal, C# и так далее? Не надо перечислять все технологии, которые напрямую не относятся к вашей компетенции. Надо назвать вакансию «программист: РНР». В таком случае работодателю неинтересно, что вы когда-то писали на С и Visual Basic. Весь этот длинный хвост можете не указывать.

Есть и другой вариант. Допустим, я программист на РНР, но знаю все эти технологии, потому что они относятся к веб-разработке: и РНР, и YII2, и HTML, разные фреймворки. Если будете искать вакансию веб-разработчика, то наверняка увидите здоровенную простыню дополнительных требований с кучей умных слов. И многие этого пугаются, особенно в веб-разработке, страшно, что надо столько знать… К этому надо стремиться: знать Webpack, работать с разными БД и так далее.

Многие для повышения авторитета сразу пишут, что я и это знаю, и это примерно знаю, но я новичок и готов получать пока 15—30 тысяч, и опыта работы у меня нет. Какое будет впечатление у работодателя? То же самое: человек-оркестр.

Есть и другая проблема. Допустим, работодатель поверит, что вы всё это знаете. Он же на собеседование придёт с этим списком, ткнёт в любую технологию и скажет: «Теперь мы говорим про React, что ты знаешь про него? А это что? А это? Ясно, React мы не знаем».

«Хорошо, поговорим про MySQL, напиши мне транзакцию, которая делает то-то и то-то».
«Ну, я в MySQL установил только среду разработки, два select-а сделал…»

MySQL тоже вычеркиваем. Всё остальное он даже смотреть не будет. Работодателю уже будет неинтересно, что вы полгода жарили РНР: он поймал вас на вранье. Так что зачеркиваем всё перечисленное.

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

Более того, даже не пытайтесь ознакомиться со всеми этими многочисленными технологиями. Если вы РНР-программист — так и напишите, что знаете РНР и немного HTML и CSS для верстки. Ещё знакомы с одним фреймворком — всё, работодателя это устроит. Он не будет вас гонять по YII, поскольку вы и не указали, что знаете его. Работодатель понимает, что вас можно гонять по РНР.

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

Образование

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

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

Портфолио

Очень важная вещь на этапе отбора. Если у вас есть портфолио, то работодатель-программист сможет понять, в состоянии ли вы решить задачу аналогичную той, которую вы уже решали.
Что можно написать в своём портфолио? Если вы хотите разрабатывать сайты, то просто придумайте себе задачку и решите её за необходимое время. Сделайте небольшой сайт и выложите его, лучше всего на Github. И напишите: я создал небольшой интернет-магазин, использовал такие-то технологии, вот код. Для работодателя это будет показателем, что вы ещё и про Git знаете. Он понимает: если я возьму этого новичка на работу, он мне за два дня сделает примерно то же самое, с чем сам разбирался месяц. И не надо будет ему платить за то, чтобы он выучил, что такое Bootstrap, познакомился со всякими нужными штуками. Он сам уже это изучил и теперь в состоянии решить задачу за пару дней. Поэтому не пренебрегайте портфолио. Вам оно очень сильно поможет.

Опыт работы

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

Отклики на вакансии

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

Расскажу о том, как я устроился в компанию GeekBrains. В какой-то момент мне надоело программировать. Это классное занятие, я пять лет ему отдал, но меня не очень удовлетворяли цели компании, в которой я работал. Я подумал, что мне было бы интересно открыть свою школу и учить людей. Дать им возможность получить новую специальность, новую профессию. Потом я увидел вакансию и начал преподавать в GeekBrains, совмещая это с основной работой. Затем я просто попросился к ним на работу.

Так выглядел мой разговор с генеральным директором GeekBrains.

Гендир: «А что ты умеешь делать? Ты на C# программируешь, а мне нужен Ruby».
Я: «Я не хочу программировать, я умею то, умею сё».

Через две недели я вышел на работу.

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

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

Не парьтесь, ребята. Отправьте 100, 200, 300 откликов, сколько найдёте. И законом больших чисел вы сообщите мирозданию, что реально хотите работу. Вас пригласят на пять собеседований, на одном из них вы устроитесь на работу — всё. Если вам посылают тестовое задание, не пренебрегайте им. По моему опыту, 90 % кандидатов отваливаются, когда получают тестовое задание.

Собеседование

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

Испытательный срок

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

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

Заключение

Друзья, и напоследок напутствие: не бойтесь экспериментировать. Ищите себя, находите то, чем вам нравится заниматься. Нет ничего хуже, чем десять лет просидеть на нелюбимой работе из страха, что не сможете устроиться на другую. Если вам нравится программировать — начинайте обучаться этому ремеслу, совмещайте учёбу с основной работой. Если хотите — приходите к нам в GeekBrains, и мы вам обязательно в этом поможем. Удачи вам, и до новых встреч!

  • Блог компании VK
  • Блог компании GeekBrains
  • Карьера в IT-индустрии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *