Как стать программистом с нуля и устроиться на работу

Программист — это специалист по написанию программного кода. Его главный инструмент — команды, функции, операторы языка программирования. Как писатель пишет книгу, используя алфавит и слова, так и программист создает код, применяя специальный синтаксис языка, на котором он программирует.

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

Плюсы и минусы работы программистом

Плюсы работы программистом:

  • Высокая заработная плата. Средняя зарплата программиста в Москве по данным Trud.com — более 86 тысяч рублей. В регионах ситуация не намного хуже, так как айтишники ценятся везде. Опытные программисты могут зарабатывать 100 тысяч, 150, 200 тысяч рублей в месяц и больше!
  • Свободный график. Часто работодателю требуется не сам факт пребывания программиста в офисе, а выполнение им определенного объема работы. Поэтому многим айтишникам предлагается более-менее свободный график: они могут выбирать время посещения офиса, брать выходные, приходить после обеда, работать вечером вместо утра.
  • Условия работы. Обычно работодатель обеспечивает очень комфортное рабочее место: мощные компьютеры и качественные мониторы, которые снижают нагрузку на глаза. Крупные московские и питерские IT-компании в последнее время массово закупают для своих сотрудников эргономичные стулья Herman Miller (аналог Lamborghini в сфере автомобилестроения), стоимость которых — от 100 тысяч рублей за единицу. Также устанавливают столы с регулируемой высотой столешницы, обеспечивают бесплатное питание, в том числе: фрукты, соки, чай, кофе и печенье. Программисты, играющие в настольный теннис в разгар рабочего дня, — вполне привычное явление в успешной IT-компании.
  • Возможность удаленной работы программиста. Практически любой айтишник может найти удаленную работу, которая будет приносить ему не меньше денег, чем заработок в офисе. Это касается как фриланса (выполнение большого количества мелких заказов), так и удаленного сотрудничества с одним работодателем.
  • Перспективы – это главное. Многие известные IT-компании, среди них и легендарная Microsoft, заявляют о нехватке программистов. Ожидается, что число незанятых вакансий к 2024 году составит около 1 миллиона. Работа программистом на дому и в офисе с каждым годом становится все более популярной.

Минусы работы программистом

  • Низкая социальная активность. Несмотря на то, что программисты часто работают в большой компании, они ограничены в общении. В основном они получают инструкции в виде тикетов и конкретных задач, по которым нужно выполнять работу. Программирование требует усидчивости и готовности к многочасовой деятельности, иногда и вовсе рутинной, а это в свою очередь не предполагает активного общения с коллегами. В первую очередь, этот отрицательный момент касается дистанционной работы программистом.
  • Сидячий малоподвижный образ жизни — о его вреде написано и сказано много. Поэтому факт остается фактом: профессиональные заболевания программистов включают проблемы с сердечно-сосудистой системой, остеохондроз, падение зрения, туннельный синдром.
  • Необходимость постоянно обучаться. Программист — не повар, который может выучить 10 рецептов классических блюд и всю жизнь их готовить в среднестатистической столовой, ему постоянно требуется совершенствовать свои навыки и приобретать новые знания. Порог входа для работы в IT-индустрии постоянно повышается. Еще 10 лет назад верстальщик должен быть знать HTML и CSS, сейчас же без понимания JavaScript и каких-либо фреймворков вроде ReactJS и Vue, его резюме просто не воспримут всерьез. Старые подходы стремительно теряют популярность, и как грибы после дождя возникают новые языки программирования, а с ними и сотни технологий и фреймворков.
  • Стандартная практика — 8-часовой рабочий день — уходит в прошлое. Работа программиста — это выполнение определенного объема работы. Плюс — с этим можно справиться за 2-3 часа, минус — иногда решение той или иной задачи требует дополнительной работы дома.

Пошаговое руководство: как стать программистом

Стоит ли изучать программирование

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

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

Важный дисклеймер!

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

Как же оценить свои навыки и перспективы?

  • Математический склад ума — это основа. Умеете ли вы играть в шахматы? Если нет, хотели бы научиться? Любили ли вы в детстве собирать головоломки? Можете ли в уме перемножать двузначные цифры? Как насчет кубика Рубика? Пятерку по математике в школьном аттестате работодатель вряд ли будет искать, но если ее там нет, вероятно, программирование будет даваться вам чуть тяжелее, чем коллегам, с математическим складом ума, а это значит, чтобы добиться тех же результатов, вам придется трудиться усерднее и дольше.
  • Знание английского — это важно. IT-сфера меняется очень динамично, образовательные материалы публикуются в основном на английском. Многие замечают, что переводы книг на русский иногда содержат ошибки, хотя и появляются спустя полгода-год, когда технологии уже активно применяются теми, кто изучил их описание на оригинальном языке. Стандартом сферы уже давно является необходимость предоставить резюме на английском, а также доказать свои знания на собеседовании, даже если вас интересует работа начинающего программиста без опыта. Карьерный рост без знания английского невозможен, ведь даже начинающему программисту часто приходится участвовать в конференциях с заказчиками, которые часто базируются в Европе и США.
  • Готовность к сложной умственной работе. Думаете, разгружать вагоны сложнее, чем работа программистом 1с? Это так, но качеству сна грузчика позавидует любой программист, потому что его мозг просто не может расслабиться в нерабочее время.

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

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

Как стать программистом, с чего начать, основа обучения

Выбор направления разработки и языка программирования

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

График динамично меняющейся популярности языков программирования и технологий

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

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

  • Веб-разработка — это создание веб-сайтов, разработка интернет-магазинов с нуля, техническая поддержка больших и маленьких web-проектов. Квалифицированный разработчик должен в совершенстве владеть такими технологиями как HTML5, CSS, быть хорошо знаком с JavaScript, jQuery, React JS, Vue JS, уметь работать с базами данных, программировать на PHP, Python. Огромное преимущество — фриланс-рынок в значительной мере ориентирован как раз на частных веб-разработчиков. Поэтому если ваша цель — работа программистом на дому, обязательно обратите внимание на эту сферу.
  • Разработка программного обеспечения для корпоративных заказчиков и B2B-сегмента (Enterprise) — это обслуживание банков, авиакомпаний, гипермаркетов, других крупных организаций. Выполнение заказов предполагает слаженную работу целого отдела программистов, каждый из которых выполняет свою роль в решении одной большой задачи. В таких масштабных проектах популярны языки программирования: Java, C++, Go, C#. Также ценится умение работать с такими технологиями как Spring, Jooq, EJB, Hazelcast, Akka. Преимущества: высокая зарплата, социальный пакет и перспективы роста. Недостатки: поскольку работа в основном ведется с конфиденциальными данными, частному специалисту (фрилансеру) ее не доверяют. Тем не менее, удалённая работа PHP программистом встречается гораздо чаще, чем возможность работать из дома Java программистом.
  • Разработка мобильных приложений. Применять можно разные технологии — Java/HTML5, Swift, Kotlin, Java, C#, Python, C++.
  • Узкая направленность в сфере IT — JavaScript, Python, Ruby on Rails, C++.

Получение образования: выбор школы и университета

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

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

  • Качественные курсы по разным направлениям предлагает учебный центр «Специалист.ru» при МГТУ им. Н. Баумана. Здесь можно изучить Kotlin, Golang, стать экспертом в разработке VR-AR, изучить геймдизайн, познакомиться с интернетом вещей.
  • Skillbox — один из лучших онлайн-университетов востребованных профессий. Направления — программирование, дизайн, маркетинг, управление. Компания предлагает обучение, а после помогает устроиться на работу программистом в одну из известных компаний: Альфа-Банк, Мегафон, Яндекс, Сбербанк, МТС и другие. С помощью Skillbox вы можете стать веб-дизайнером, интернет-маркетологом, графическим дизайнером, UX-дизайнером, Java-разработчиком, SEO-специалистом, руководителем digital-проектов.
  • Стоит обратить внимание и на веб-сайт Udemy.com, который предлагает самый большой выбор онлайн-курсов в мире. Введите в поисковую строку слово «программирование», и сервис сам предложит самые популярные поисковые запросы и востребованные направления обучения:

Поиск курсов по программированию на Udemy

Развитие своих профессиональных навыков

  • «Чтобы оставаться на месте, надо бежать» — в современном мире эта фраза характеризует многие сферы деятельности и лучшим образом подходит для профессионального кредо программиста. Учиться и развиваться стоит не только для того, чтобы повысить свою привлекательность на рынке труда, но и чтобы банально не стать невостребованным.
  • Сколько времени нужно чтобы стать программистом? Вы должны были слышать о правиле 10 тысяч часов авторства Малкольма Гладуэлла, согласно которому для достижения уровня настоящего мастера (в нашем случае — чтобы войти в 1% лучших программистов) требуется потратить на изучение определенного навыка в общей сложности 10 тысяч часов. Это правило не работает в сфере IT. Намного меньше, в отдельных случаях меньше года, но если вы перестанете изучать новые технологии, через 5 лет ваши карьерные перспективы будут достаточно туманными. В сфере IT учиться придется всегда!
  • Участвуйте в сообществах, чатах, форумах, конференциях. Это бесплатно, познавательно и интересно. Крупными русскоязычными сообществами для программистов являются Habr.com, Киберфорум и другие. Если профессионально развиваетесь в определенной сфере, вам могут быть полезны тематические сообщества — такие как форум программистов Java, где можно попросить совета, помощи, найти друзей, работу Android разработчиком, работу программистом Java.
  • Читайте специализированную литературу. Казалось бы, книги — устаревший способ получения информации, но нет, принципы программирования неизменны уже много лет. Программисту любого уровня можно рекомендовать чтение литературы об архитектуре, организации кода, паттернам проектирования, ООП. Уже более 25 лет не может потерять популярности легендарное издание Gang of Four: Design Patterns.
  • Пишите код не только на заказ, но и для своих проектов. Они станут важным элементом вашего портфолио, так как свидетельствуют об инициативности. Американские работодатели очень лояльно относятся к соискателям, у которых есть тематический блог или YouTube-канал на английском языке о своих разработках.

Чем отличаются уровни программиста

Формальная градация отличается в разных компаниях, но в сфере IT все же принято разделять программистов на следующие уровни:

  • Интерн — работа для начинающего программиста без опыта. Интерн отличается молодостью, огоньком в глазах, наличием свободного времени и огромным желанием учиться. Требуются базовые знания языка и умение доказать свои навыки в процессе собеседования.
  • Junior — младший программист, основное качества — стремление к выполнению задач. Junior тратит часы на написание элементарного для более опытных коллег кода, часто с ними консультируется и благодаря этому совершенствует свои знания. Задача Junior — продвижение вперед, к следующему уровню.
  • Middle — программист среднего уровня. Он может обходиться без какой-либо помощи и способен самостоятельно выполнять достаточно сложные технические задачи.
  • Senior — опытный разработчик, который выполняет сложные задачи быстро и эффективно. Его отличительная черта — поиск и реализация оптимального подхода. Он потратит меньше времени и напишет меньше строк кода, но создаст практически оптимальное решение, к тому же в процессе работы проконсультирует трех разных Junior по разным вопросам.
  • Team Lead — менеджер, управленец, координатор, начальник. Его задача — организация работы отдела программистов. Он распределяет задания между исполнителями, проводит ревью кода, заботится об обеспечении рабочей обстановки, проводит стендапы с командой, решает архитектурные вопросы.
  • Архитектор — высшая профессиональная градация. Его задача — детальный анализ бизнеса клиента, определение оптимальной стратегии удовлетворения его потребности. Работа архитектора в IT весьма схожа с деятельностью его коллеги в более широком понимании. Выражение «архитектор построил дом» весьма условное, так как непосредственным строительством занимаются дизайнеры, прорабы, штукатуры, маляры, разнорабочие, он же решает более глобальные вопросы.

Пошаговое руководство как устроиться на работу программистом

Шаг 1. Правильное составление резюме программиста

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

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

  • Не пишите длинный текст. Используйте маркированные списки;
  • Укажите, на какую должность претендуете (junior, middle, senior, др.);
  • Приведите список технологий, с которыми приходилось работать;
  • Укажите конкретный список проектов, над которыми работали/работаете, даже если не добились успеха;
  • Укажите информацию об образовании, в том числе о прохождении тематических курсов;
  • Обязательно добавьте фото — не обязательно серьезное-паспортное, можно и желательно — обычное, жизненное. Пример:

Пример резюме с фотографией

  • Сохраняйте резюме только в формате .pdf — никаких .doc или .docx. Вы должны предоставить возможность комфортного просмотра информации на любом устройстве — Mac, PC, mobile.

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

Представьте себе, что, вы — PHP-программист и претендуете на более «узкую» вакансию — WordPress-разработчик, задача которого — разработка плагинов. В резюме упомяните не просто «разработку веб-сайтов», а «разработку веб-сайтов на WordPress», не просто «написание скриптов», а, например, «написание плагинов для WordPress». Этот подход будет эффективным, если вы на самом деле являетесь квалифицированным специалистом. Работает он тогда, когда вы готовы взять инициативу в руки и заниматься самостоятельным поиском работы.

Где можно в несколько кликов составить резюме?

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

Шаг 2. Определите тип работы

  • Фриланс — работа программистом онлайн, выполнение мелких или среднего размера заказов для нескольких или большого числа заказчиков (детальнее — в нашей статье о заработке на фрилансе).
  • Удаленная работа программистом на одного заказчика — достаточно распространенный вид сотрудничества. Вам не надо будет покидать пределы своей квартиры, но понадобится быть на связи на протяжении рабочего дня.
  • Работа в офисе — стандартный вид трудоустройства.

Шаг 3. Определите критерии компании, в которую желаете устроиться

  • Крупная компания, где работают сотни и тысячи программистов. Преимущества — большой коллектив, карьерный рост, много интересных проектов, четко выстроенные бизнес-процессы и корпоративная культура, возможность релокации в разные страны. Примеры — Luxoft, Epam.
  • Небольшое IT-агентство, сотрудничающее с одним крупным или несколькими средними заказчиками. Преимущества: небольшой коллектив. Недостатки: может отсутствовать карьерный рост; менее комфортный офис, чем у лидеров рынка; меньше вероятность получения бесплатных курсов, конференций и других преимуществ работы в большой компании.
  • Работа программистом в компании, которая не занимается IT. Это может быть портал для риэлторов, доска объявлений, социальная сеть свадебных фотографов и прочее. Популярное направление — работа программистом 1с в коммерческой организации.
  • Стартап — возможность стоять у истоков компании, создатели которой имеют амбициозные планы. В качестве компенсации можно получать не только зарплату, но и стать обладателем опциона (доли в бизнесе).
  • Работа за рубежом. Программисты возглавляют список профессий, представителям которых легче всего уехать за рубеж по рабочей визе. Популярные направления — США, Канада, Европа. Понадобится подтвержденное профильное образование, опыт работы на аналогичной должности, знания английского, умение представить себя.

Шаг 4. Рассылка резюме, публикация на сайтах с вакансиями

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

Вакансии для программистов на HeadHunter

  • SuperJob — место постоянного «обитания» HR-менеджеров, владельцев бизнеса.
  • Хабр Карьера — популярный сервис поиска работы и сотрудников среди IT-специалистов.

Самостоятельный поиск вакансий

  • Заходите на веб-сайты компаний, в которых хотите работать, и ищите раздел «Вакансии». «Роснефти» и ее дочерним компаниям регулярно требуются программисты для работы в области информационных технологий и телекома. Банк «Тинькофф» ищет 7 специалистов в области front-end разработки, 17 — в мобильной разработке и предлагает 23 вакансии для экспертов в сфере back-end разработки.

Вакансии Тинькофф Банка для программистов

  • Используйте разделы «Работа» или «Вакансии» тематических сообществ — форумов, социальных сетей. Если ваша цель — трудоустроиться PHP-разработчиком, обратите внимание на PHP.SU.
  • Используйте популярные доски объявлений, которые обязательно имеют разделы «Программирование», «IT-сфера» и другие.

Шаг 5. Собеседование

Как подготовиться к собеседованию

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

В чем отличие онлайн собеседования и оффлайн

Если с онлайн-собеседованием все ясно, то к беседе оффлайн вы должны специально подготовиться:

  • Обеспечьте хороший звук, побеспокойтесь об отсутствии посторонних шумов — закройте окно, попросите всех, кто находится в квартире, не шуметь, не разговаривать громко.
  • Добавьте дополнительное освещение: установите над веб-камерой настольную лампу и направьте на себя, но так, чтобы не била в глаза.
  • Обеспечьте альтернативный источник интернета и альтернативное устройство. Если вдруг пропадет проводной интернет на ноутбуке, вы должны иметь возможность в течении 15 секунд позвонить с мобильного, используя то же приложение (Skype, Zoom, Viber, WhatsApp).

Как себя вести на собеседовании

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

Какие ошибки допускают новички

  • Приходят на собеседование с опозданием;
  • Не изучают информацию о компании;
  • Слишком стильно одеваются, используют много парфюма;
  • Ведут себя слишком серьезно, не улыбаются;
  • Сразу задают вопросы о заработной плате, называют предельное значение, которого «точно хватит».

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

31.08.2020

Поделиться:

Время чтения: 16 минут

2

Ночной режим

mbfinance.ru

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

Ваш e-mail не будет опубликован.

12 − 3 =