Обычно сложнее всего получить именно первую работу и IT-сфера в этом плане не исключение. За опытными специалистами HR ведут настоящую охоту (особенно вспоминается момент из сериала Кремниевая Долина)
Но для новичка это реальная сложность. Всем нужны разработчики как минимум с двумя годами опыта, а как его получить не понятно. Справедливости ради нужно заметить, что программистам в этом плане немного полегче. Во многих развитых IT компаниях существует стажерская программа, где можно устроиться даже на оплачиваемую работу интерном. Это может быть очень хорошим стартом для дальнейшей карьеры. Но и на позицию начинающего программиста тоже вполне реально устроиться. Для этого нужно подходить как минимум по двум основным параметрам.
Первое, на что смотрит работодатель – это знание непосредственно основного языка программирования, на котором ты планируешь работать. Понятное дело, что знать абсолютно все тонкости ты не можешь, но основные возможности, обязательно должен. Приведу пример по C#, потому что с ним работаю. Знание, а главное понимание концепции, возможностей и парадигм объектно-ориентированного программирования, типы данных, условные и циклические операторы, и умение написать на листочке достаточно простой код. Этого уже может быть достаточно.
Важно понимать, что, когда компания нанимает джуна – это не от хорошей жизни. Это всегда рискованная инвестиция в обучение и воспитание работника, который в любой момент может уйти. Намного проще нанять уже опытного сотрудника, но это значительно дороже. Поэтому, в первую очередь будут смотреть не на текущий уровень знаний (что конечно же является весомым плюсом), а на так называемые soft-skills. Уточню, что это актуально именно на начальном уровне карьеры разработчика. Мидл, а тем более синьор на одним коммуникативных навыках далеко не уедет, там уже знания профессии важнее. Но джуниор – в первую очередь берется на воспитание и обучение.
Второе, как я уже начал говорить выше – это soft-skills. Это навыки, которые напрямую не связаны непосредственно с программированием, но позволяют тебе эффективно работать в компании. Например, это умение работать в команде разработчиков. Сейчас уже никто не пишет программы в одиночку, в этом процессе практически всегда участвую несколько людей, а как следствие умение общаться между ними может очень сильно повлиять на производительность в целом. Конфликтные, безответственные, путь и хорошо знающие программирование люди точно не будут нужны на начальном уровне карьеры. Да, опытный разработчик может отличаться скверным характером, но он уже сделать себе имя, а вот начинающий не может себе такое позволить.
Поэтому, сконцентрируйся на этих двух вещах. Лучше уверенно знание основ языка, чем поверхностное знание всего и сразу. Изучи связанные с разработкой технологи и утилиты (например, работу с системами контроля версий, управления проектами и задачами, операционными системами). Покажи себя как заинтересованный человек, напиши несколько проектов и поделись ими на своем github, научись правильно слушать, задавать и отвечать на вопросы, покажи, что ты готов учится и работать не покладая рук. Именно таких людей ищут на должности младшего программиста.
Большое спасибо за прочтение! Пожалуйста, поставь лайк и подпишись на канал, чтобы не пропустить свежие статьи. Этим ты очень поможешь развитию блога!
Также рекомендую прочитать статью Какой язык программирования учить?