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

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

Почему?

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

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

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

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

Что я могу сделать, чтобы повысить свои шансы на получение должности разработчика программного обеспечения начального уровня?

Знания, необходимые для того, чтобы стать хорошим инженером-программистом, обычно не преподаются в учебных программах по информатике; они не так устроены. Учебная программа бакалавриата по информатике предназначена для того, чтобы дать студентам прочную основу для работы с компьютерами и вычислительными концепциями. Степень в области информатики — это лишь часть резюме/базы знаний студента, которая может сделать его желанным кандидатом для работодателей. Ваше резюме и база знаний должны показывать, что вы приложили усилия, чтобы сделать больше, чем просто ходить на занятия. Это может показать потенциальным работодателям, что вы самостоятельны и стремитесь к обучению, что очень желательно для инженера-программиста.

Во время обучения в колледже я рекомендую выполнить и/или получить хотя бы одно, если не все из следующего:

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

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

Где найти менее конкурентоспособную работу по разработке программного обеспечения начального уровня?

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

  • Правительство (местное, штатное, федеральное)
  • Небольшие компании, особенно нетехнологические

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

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