Как найти работу программисту самоучке

от admin

Как найти свою первую работу программистом?

Недавно мы с Алексеем Паршуковым, Unit Lead в SkyEng, ex-CTO DocDoc, проводили вебинар «Быстрый старт в Программировании с нуля» и обсудили различия в изучении языков программирования, суть профессии программиста, как устроиться на работу и какие бывают работодатели. Посмотреть вебинар вы можете по ссылке, а статью по нему прочитать прямо сейчас 🙂

У профессии программиста есть очевидные плюсы, о которых всем известно:

  • Хорошие зарплаты

От 100 т.р. по регионам России, 250-300 т.р в Москве, за рубежом от 10 тысяч долларов.;

  • Гибкий график

Разработчик — это преимущественно удаленная работа;

  • Востребованность на международном рынке

Это одна из самых простых профессий для иммиграции.

Но не каждый человек может стать разработчиком, иначе все бы уже давно переквалифицировались в программистов. Тут всегда надо оставаться на линии. Нельзя освоить какую-то одну технологию, почитать книжку, пройти курс, в совершенстве изучить Python и потом 20 лет зарабатывать за счет этого. Отрасль и технологии развиваются настолько быстро, что подходы, фрэймворки, языки программирования, которые актуальны сегодня, через 4 года уже почти наверняка полностью сменятся, а если выпасть из профессии на год, то придется начинать практически с нуля.

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

И еще один недостаток, о котором мало кто говорит, — достаточно сильная дискриминация по возрасту. Если вы студент, то найти работу будет достаточно просто. Если вам 30-40 лет, то вам рады в любой технологической компании. Если вам чуть за 40, то уже будет сложнее. Но если вам за 50, то вы, скорее всего, работу нигде не найдете. Об этом стоит помнить, такое существует.

Здесь не так важно, какое у вас образование, закончили ли вы институт по профессии. Главное, чтобы у вас была сильно развита усидчивость. Почему это так важно?

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

Но дальше этот код, скорее всего, не заработает. И следующие несколько попыток он не заработает. Нужно будет прочитать тонну документации, чтобы разобраться, как работает отображение кнопок в Android или iOS. Придется попробовать 10 разных способов: найти какие-то воркэраунды, подпереть это все костылями, написать разработчику, посмотреть исходные коды Android и через 4-5 дней, в лучшем случае, а то и позже эта кнопка отобразится так, как вам нужно.

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

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

Как правило, это небольшие задания за небольшие деньги. Их можно достаточно быстро сделать. Они размещаются на биржах фриланса. Основная биржа в России — freelance.ru. Основная международная — upwork.com.

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

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

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

  • Большой поток совершенно разных проектов

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

  • У большинства этих компаний выстроены достаточно четкие процессы

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

  • Высокий уровень

У них можно хорошо научиться разрабатывать программное обеспечение.

  • Не все компании классные

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

  • Мало свободы

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

Для того, чтобы попасть в эти компании, нужно знать прикладные языки программирования. Например, PHP, Python, Java, Javascript.

Это хорошее место для начала карьеры.

Таких компаний сотни. Каждый день открывается десяток новых, но девять из них обязательно закроется.

Есть масса преимуществ, почему стоит попробовать работать в стартапе:

  • Это очень драйвово и весело;
  • Проще всего заработать действительно большие деньги.

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

  • В проектах нет Legacy, нет старого кода, от которого хочется плакать
  • Большое количество свободы

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

Но есть и минусы:

  • 9 из 10 компаний закрываются

Многие из них закроются ещё в течение первого года, так и не запустив продукт;

  • Слабая возможность обучения

Как правило, в эти компании приходят не самые лучшие специалисты, не всегда там будет чему научиться;

  • Непредсказуемость

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

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

  • Стабильность;
  • Хорошая зарплата;
  • Низкий уровень ответственности

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

  • Очень низкая скорость работы

Вы можете год или два пилить фичу, так ее и не выпустив, потому что за это время она потеряет свою актуальность. Зарплату, конечно залпатят, но эта штука очень демотивирует;

  • Специфический опыт

Как правило, это какой-то свой банковский софт. В основном, это старый код, в котором не очень приятно и не очень интересно работать;

  • Сменить сферу деятельности здесь будет довольно сложно

В первую очередь, потому что вы потеряете в зарплате. В Сбербанке они всегда выше, чем в Яндексе.

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

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

У каждой компании этот набор инструментов свой, и данный опыт будет не слишком релевантен для рынка и для перехода на другое место.

Зависит от того, чем вы хотите заниматься и в какую компанию хотите пойти.

PHP, например, очень популярный язык. Он используется в куче российских и зарубежных компаний, в том же Facebook. Но нет никакого смысла учить PHP, чтобы устроиться в Twitter, потому что он там не используется. Если вы хотите в Яндекс, надо учить Python или Java. Переучиваться с PHP на Java очень непростой процесс.

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

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

Типичные языки: PHP или Python, а так же менее распространенный Ruby.

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

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

По сути, это тот же фронтенд, но здесь используются другие языки. Здесь нет смысла вникать в языки программирования, которые использовались 5 лет назад, такие как Objective-C и Java. Сейчас используются Swift и Kotlin. Все новые приложения пишутся именно на этих языках, а старые под них переписываются.

Это отдельная сфера. Здесь, как правило, используется C++ и специальные библиотеки, такие как Unity и т.п. Разработчик, который умеет делать мобильное приложение на Kotlin, не сможет написать игру, потому что используется совершенно другой стек, совершенно другие технологии.

Это то, что нативно запускается у вас на компьютере. Например, браузер, Word и т.д. Чаще всего используется C++, С#. Мощные приложения пишут на C++. Иногда десктопные приложения пишут на Delphi, потому что это намного проще и дешевле.

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

Это системные инженеры, которые настраивают компьютеры. Сейчас компьютеров нужно много, продукты сложные. Facebook, например, использует десятки тысяч серверов и для того, чтобы их было проще администрировать, чтобы код быстрее закатывался с компьютеров разработчиков в продуктивную среду и быстрее докатывался пользователям, нужны инженеры, которые умеют это дело преобразовывать, автоматизировать, автоматически вводить в строй десятки тысяч серверов. Они делают это при помощи программных инструментов. Самый востребованный язык в этой сфере Python и Bash. Изучение питона любым системным администратором поднимет его зарплату минимум в полтора-два раза.

Чаще всего разработчики этих сфер используют все те же самые языки. ML и анализ данных это в основном Python и иногда чуть-чуть Java. Криптовалюты используют C++. Здесь особенность в том, что требуется хорошее знание математики и глубокое знание прикладных инструментов. Обычный разработчик на питоне вряд ли сможет за неделю переквалифицироваться в разработчика ИИ, так как потребуется более глубокое погружение.

  • Не ориентироваться на зарплаты

Согласно исследованиям опубликованным на Habr, самым высокооплачиваемым языком является Eclipse. Это довольно модный, молодежный, позитивный и современный язык. Но что случится, если вы сегодня начнете его учить? Сейчас на hh.ru всего 11 опубликованных вакансий. И даже если вы зайдете на место с высокой зарплатой, это не значит, что через несколько лет он будет все также актуален. В таком случае можно оказаться невостребованным, а переключение с одного языка на другой — достаточно сложная история;

  • Не стоит выбирать модные, экзотичные, ограниченные или вымирающие языки

На экзотичные языки (Scala, Eclipse) очень мало вакансий и, как правило, они все для опытных разработчиков. Устаревшие языки обычно дают в институте/школе, например, Pascal. У них нет никакого прикладного применения, они не востребованы на рынке. Как и не стоит начинать с 1С из-за его ограниченности.

  • Не стоит начинать со сложных языков

Не лучшим решением будет начать с С/С++. В интернете есть даже такой мем: изучить С++ за 40 дней. Это сложный в освоении язык. Необходимо потратить много времени, чтобы у вас начало что-то получаться и вас стали ценить на рынке. Если вы собираетесь идти в геймдев, то альтернативы никакой нет, придется учить С++. Но, например, в Яндекс можно попасть Java и Python разработчиком.

  • HTML/JavaScript

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

  • PHP/Python

Тоже просты в освоении. Очень много вакансий с позицией junior. И с течением времени, вы сможете использовать эти знания при переходе на более крутые позиции. Можно сделать карьеру разработчика от junior до senior за 2-3 года, достигнув высоких показателей по зарплате;

  • Java/C#

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

Сделайте свою HTML-страничку.

Попробуйте подключить 1-2 строчки JavaScript, поймите что такое циклы, условия.

Прочитайте книгу по любому языку программирования для чайников. В свое время была очень популярна книга «PHP для чайников». С нее многие начинали и искали свою первую работу после прочтения.

Пройдите курсы. Курсы полезны с точки зрения практического опыта.

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

Устройтесь на работу мечты. Скорее всего, с первого раза у вас это не получится. Первая работа, обычно, дурацкая. Но через полгода-год можно уже пробовать свои силы в той компании, которая вам нравится. Или запустите собственный проект.

  • Не стоит идти в смежные профессии: тестирование или тех. поддержка

Если вы уже в этой сфере, то, конечно, стоит пробовать свои силы в разработке, но если вы юрист или только закончили ВУЗ и не знаете, как строить карьеру, то не нужно выбирать такой сложный и долгий путь. Сразу изучайте программирование, прикладные инструменты и ищите работу программиста. Вполне возможно осуществить это в сжатые сроки;

  • Не нужно устраиваться в IT-компанию на другую должность

Например, работа курьером в Яндексе никак не поможет вам устроиться туда же программистом;

  • Не надо упарываться трудоустройством в топовую компанию

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

  • Первое место работы не будет долгим

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

  • Есть смысл переезжать в Москву и далее на запад

Даже если вы попали на удаленную работу, целесообразно двигаться в направлении развития. Так вы будете расти намного быстрее. И самое главное, это напрямую влияет на зарплату. Разница между зарплатой в регионах и в Москве будет около 50%, и гораздо больше в штатах, если вы туда переедете;

  • Не стоит выбирать узкую специализацию

На рынке программисты с широким спектром навыков намного более востребованы, нежели узкие специалисты;

  • Развивайте софт скилы

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

  • Понимайте свою мотивацию

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

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

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

  • Тестовое задание

Практически все компании будут просить вас сделать тестовое, его обязательно нужно будет сделать;

  • Примеры кодов

Лучше заранее сделать какое-нибудь задание на фрилансе или какой-нибудь pet-project, поработать над ним хорошенько, сделать так, чтобы он выглядел красиво;

  • Подготовить ответы на вопросы о вашем опыте и кем вы видите себя через 5 лет

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

Стоит изучить азы на следующие темы:

  • Объектно-ориентированное программирование;
  • Базы данных. Не обязательно учить огромный двухтомник по оптимизации SQL, но как делать SQL запросы в базовом виде стоит знать;
  • Паттерны проектирования;
  • Система управления версиями (Git)
  • Базовые возможности языка. Например, как подключаются пакеты PHP.
Читать:
Тест какой ты крокодил

С этими базовыми знаниями можно решать какие-то практические задачи. Эти вопросы были актуальны и 5 лет назад, актуальны сейчас и будут актуальны в ближайшем будущем.

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

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

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

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

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

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

  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 % кандидатов отваливаются, когда получают тестовое задание.

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

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

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

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

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

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

Lorem ipsum dolor

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

  • постоянно и не останавливаясь ни при каких обстоятельствах нужно прокачивать собственные навыки;

  • все время нужно работать над своим портфолио, чтобы его улучшать;

  • если нет собственных заказов, то проситесь кому-то в помощь;

  • заведите свой аккаунт на GitHub и храните там свои проекты;

  • общайтесь с разными людьми и налаживайте новые связи;

  • учитесь у более опытных коллег;

  • периодически анализируйте свои действия на наличие ошибок;

  • ищите вакансии всеми возможными путями и способами;

  • выполняйте свою работу качественно, даже если вы практически ничего не заработаете — «сарафанное радио» еще никто не отменял;

  • откликайтесь на максимальное количество вакансий, даже на те, до которых вам не хватает немного скиллов;

  • откликаясь на вакансию, думайте с позиции «как я мо гу помочь заказчику», а не с позиции «сколько я заработаю»;

  • никогда не пишите в резюме лишнего, особенно то го , чем вы не владеете ; если это выяснится на интервью, то вам не видать этой работы, а если планируете что-то еще изучать в ближайшее время, то так и пишите : «Э то в планах для изучения»;

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

Заключение

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

Поэтому только обучение, практика, постоянный труд над собой и отсутствие отчаяни я при неудачах — все это приведет вас к профессиональному успеху.

Мы будем очень благодарны

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

Как найти работу программисту самоучке

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

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

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

Отношение – это все

Да. Вы самоучка. Это значит, что в ваших знаниях есть множество пробелов – но это нормально. Каждый разработчик по сути самоучка.

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

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

Как показать это? Проще всего – принимать участие в обсуждениях. Reddit, форумы, группы в Facebook, Stack Overflow, Medium, Quora, ваш блог – задавайте вопросы, отвечайте на вопросы, проявляйте активность, оставляйте за собой цифровой след. Помогайте другим, даже если вам кажется, что у вас недостаточно для этого знаний. Просите о помощи, даже если вам некомфортно.

Это также хороший способ выстраивать связи в сообществе. Кто знает, может быть вас кто-то кому-то порекомендует и вы так найдете свою первую работу.

Ознакомьтесь с основами

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

Научитесь пользоваться git и базами данных. Программирование – это не только HTML, CSS и JavaScript. Если вам нужны наставления, вот подробное руководство по основным концепциям разработки.

Вам нужно писать код

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

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

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

Финальные слова

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

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

Пишите код, создавайте что-то, учитесь чему-то новому и продолжайте отправлять свое резюме. Нет опыта? Это ваш шанс создать его самостоятельно. Главное – продолжать творить и стучаться в разные двери. В итоге вы найдете подходящую компанию.

Похожие статьи