Легко ли стать программистом. «Что мне нужно знать, чтобы взяли Junior-ом?»

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

Первый шаг

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

Конечно, на теории дело не закончится, все полученные знания нужно пару десятков раз применить на практике — тогда они вобьются в вашу голову намного лучше, так что, даже есть после этого разбудить вас ночью, и спросить: «а как работает в css @keyframes?» — вы все подробно расскажете.

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

Тут в самом низу вы можете увидеть то, что будете изучать, если оплатите обучение.

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

Что должен знать веб-программист?

Итак, как видите, это:

  1. HTML/CSS — базовые языки разметки и оформления веб-страниц, без них невозможно представить себе сайтостроение. Это — основа, самые простые технологии, которые вы должны изучить в первую очередь.
  2. PHP — основное оружие веб-программиста. С помощью этого языка создаются социальные сети, интернет-магазины, фреймворки, движки и много чего другого. Именно благодаря нему работает большинство онлайн-сервисов, формы комментариев, регистрации на сайтах и т.д.
  3. JavaScript — язык программирования специально для веб, с его помощью страницу можно программировать так, чтобы при различных событиях ее дизайн менялся. Например, при клике по окну оно расширялось и т.д. Примеров можно привести очень много.

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

Где все это выучить?

В моем понимании есть 3 основных способа обучаться на веб-программиста:

  1. Читать бесплатные статьи и материалы в интернете, смотреть бесплатные видеоуроки и курсы. Так вы можете получить базу, но дальше начального уровня не продвинетесь!
  2. Покупать платные курсы. Этот вариант избрал я, так как сайтостроение я изучаю не для работы на компанию, а на самого себя, поэтому меня устраивает обучение по курсам. 1 толковый курс в рунете стоит от 3 до 7 тысяч рублей. Лично я потратил на курс всего около 40-50 тысяч рублей и не жалею, т.к. уже получил много знаний, которые смог применить на практике и начать зарабатывать.
  3. Купить полноценное удаленное обучение с наставником. Это самый дорогой вариант, который обойдется в 40-150 тысяч рублей. Конечно, в плане эффективности он является самым лучшим. Такое обучение, к примеру, можно купить в онлайн университете Geekbrains .

Хорошими площадками для получения базовых знаний по html, css, php и js будут Magisters.org , HtmlAcademy.ru и премиум раздел Web4myself.com (хоть он и платный, но доступ в него всего 500+ рублей в месяц, а уроков там тьма).

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


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

По итогу можно получить такое приличное резюме:


И такие навыки:

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

Например, за одиннадцать месяцев Geekbrains обещает вас обучить таким технологиям: HTML/CSS, PHP, JS, NodeJS, AngularJS, Yii . С другой стороны, для того, чтобы найти простую работу или начать делать сайты для себя, вам необязательно знать все это. Я уже говорил, что является базой. Это html, css, php, javascript. Но дело в том, что с каждым годом требования к веб-разработчикам растут и если вы хотите серьезных результатов, так или иначе придется изучать современные технологии и тенденции.

Курсы по PHP и фреймворкам


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

Книги тоже имеют право на жизнь. Для расширения своих знаний в любой сфере читать их полезно. И по php почитать можно много чего. Например, такое.

Необязательно знать все

Если вы изучили только javascript (а php — нет), то сможете работать front-end разработчиком, а если наоборот — попробуете свои силы в back-end . В общем-то, даже имея небольшие знания, уже можно что-то заработать на сайтостроении, но чем больше вы будете знать, тем больше ваш потенциал.

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

Пройдите курс по направлению «Computer Science»

Выучите объектно-ориентированный язык программирования

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

Осваивайте другие парадигмы и языки

Расширяйте свой программистский кругозор, не стоит ограничиваться одним ООП, осваивайте другие парадигмы, учите другие языки , пробуйте себя в разных сферах. Например, если вы хотите разрабатывать веб-приложения, то однозначно стоит обратить внимание на CSS, HTML, JavaScript, PHP, Ruby. Хотите экзотики? Посвятите немного времени Haskell, Clojure, Prolog. Курсы для получения новых можно найти и . Отдельно советуем обратить внимание на ресурс Codecademy . Обратите внимание на нашу подборку .

Тестируйте код

Развивайте логическое мышление, выучите дискретную математику

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

Знайте алгоритмы и структуры данных

Разберитесь, как устроены операционные системы

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

Выучите UX-дизайн

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

Разберитесь в машинном обучении???

Разберитесь, как работают компиляторы

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

Работайте над своим проектом

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

Участвуйте в open source-проектах

это поможет вам развить навыки работы с чужим кодом, да и в конце концов вы просто будете приносить пользу человечеству. Идеальным местом для open source-деятельности является GitHub .

Работайте над проектами вместе с другими программистами

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

Участвуйте в соревнованиях по программированию

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

Вероятно вы хотите узнать как стабильно зарабатывать в Интернете от 500 рублей в день?
Скачайте мою бесплатную книгу
=>>

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

Но существует множество альтернатив дорогому обучению. Сегодня я расскажу, как научиться программировать в домашних условиях и с чего лучше начинать обучение.

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

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

Как научиться программировать с нуля в домашних условиях

Итак, программирование имеет следующие направления:

  • Web-программист (создание сайтов);
  • Прикладной программист (написание программ);
  • Системный программист (создание драйверов, создание программ для работы с ОС).

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

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

Для программирования важную роль играет английский язык. Поэтому учите его и постоянно совершенствуйте.

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

Популярные онлайн сервисы для обучения программированию

Давайте поподробнее поговорим о самых популярных онлайн сервисах обучения программированию.

Codecademy

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

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

Это лучший сервис, обучающий следующим языкам:

  • JavaScript;
  • HTML;
  • jQuery;
  • Python;
  • Ruby .

Code School

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

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

Treehouse

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

Завершив обучение, Вы будете иметь свой личный проект.

Данный сервис не ограничивается какими-то определенными курсами. Он предназначен для изучения всех областей программирования.

Udacity

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

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

Sparki

Этот сервис создан для детей. Обучение несложное, но сам процесс долгий. Приложение платное – стоит дороговато.

С чего начать обучение программированию

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

  1. Определитесь, для чего вам нужно программировать;

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

  1. Выберите правильный язык;

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

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

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

  • Java также может подойти новичку. Этот язык пользуется большой популярностью, не смотря на то, что он не так уж прост;
  • PHP достаточно простой язык. Легко можно найти ответы на все вопросы на форуме;
  • А вот языки Cи C# новичку изучить будет сложно;
  • Язык Ruby хорошо подойдет для второго языка;
  • JavaScript легкий язык, но и пользы от него совсем немного.

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

  1. Воспользуйтесь приложением для детей

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

  1. Пройдите онлайн — тренинги и онлайн-курсы

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

  1. Прочтите книги по программированию

Справочники отлично помогут в поиске ответов на любые вопросы. В интернете имеется множество книг по программированию.

  1. Играйте и изучайте

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

  1. Найдите наставника или станьте им

Быстрее освоить информацию Вам может помочь наставник, который ответит на все ваши вопросы. Найти наставника можно на специальном сайте https://hackpledge.org/. Кроме этого, вы сами сможете побыть в роли наставника.

  1. Изучите код другого пользователя

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

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

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

P.S. Прикладываю скриншоты моих заработков в партнёрских программах. И напоминаю, что может каждый, даже новичок! Главное — правильно это делать, а значит, научиться у тех, кто уже зарабатывает, то есть, у профессионалов .

Вы хотите узнать какие ошибки совершают новички?


99% новичков совершают эти ошибки и терпят фиаско в бизнесе и заработке в интернет! Посмотрите, чтобы не повторить этих ошибок — «3 + 1 ОШИБКИ НОВИЧКА, УБИВАЮЩИХ РЕЗУЛЬТАТ» .

Вам срочно нужны деньги?


Скачайте бесплатно: «ТОП — 5 способов заработка в Интернете ». 5 лучших способов заработка в интернете, которые гарантированно принесут вам результат от 1 000 рублей в сутки и более.

Здесь готовое решение для вашего бизнеса!


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

Привет всем! Меня зовут Константин Ботнарь. Уже почти 8 лет преподаю программирование. А началось все, когда я был аспирантом и читал лекции своим ровесникам в одном из одесских вузов. Теперь преподаю в Компьютерной школе Hillel, веду курс Introduction: введение в программирование. Хочу немного развеять мифы вокруг самой востребованной профессии 21 века и рассказать, кто такие программисты и чем они занимаются.


Выпускники выходят в свободное плавание

Тыжпрограммист, или Что такое особый склад ума

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

Правда ли это? Отчасти. Но успешный программист не всегда обязан быть снобом. Что важно инужно знать программисту:

  • Уметь работать в команде. Независимо от того, с чего начинать: веб-программирование, создание мобильных приложений, верстка и многие другое – это командная работа. Поэтому без этого – никуда.
  • Понимать, что такое приоритет и как правильно его расставлять. Даже в самой престижной компании программистам часто падают задачи в стиле «Сделай сейчас, а это еще вчера нужно было, а вот здесь – быстро и только подправить». Структурирование задач – один из важнейших навыков крутого проггера.
  • Обладать феноменальной усидчивостью. Нет, в офисе от звонка и до звонка сидеть не придётся, а вот проводить много времени за ноутбуком или компьютером – точно. Именно поэтому айтишников и считают нелюдимыми: просто пока все отдыхают, большинство из них предпочитает поработать.
  • Не бояться совершенствоваться и учиться новому. Языки программирования устаревают, нужно учить новые, мобильные приложения создаются на новых платформах, каждый день появляются десятки сервисов. Если хочется стать хорошим программистом – нужно быть гибким и готовым прокачивать свои навыки.
  • Любить свой компьютер. Здесь и добавить больше нечего. Ваша машина – это основной рабочий инструмент.

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

Что нужно знать программисту

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


Будущие программисты

В деталях – истина

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

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

К чему нужно быть готовым, начиная :

  • Даже простые задачи иногда требуют огромного количества времени. Конечно, потом их можно будет решать гораздо быстрее, но поначалу придётся очень напрягаться для поиска решения проблемы.
  • Как программировать – важно не не упасть, а суметь подняться. Любая неудача на пути, слетевший код, пропуск переменной – это просто ступенька к успешному будущему. И даже если сайт лёг, то нельзя его бросить и просто уйти. Нужно поднять свой багаж знаний и опыта и найти ту самую переменную.
  • С чего начать программирование: помнить, что с первого раза вряд ли получится. Ни хороший сайт, ни удобное мобильное приложение, ни даже чат-бот. Ошибки в программировании – это абсолютно нормально, и я бы даже сказал, что полезно. Мои лучшие выпускники тратили на поиски решения и реализацию своих проектов по несколько сотен часов. И писали правильный код. Зато потом для них эта задача была чем-то сравнимым с ребусом в детских книгах.

Алгоритмы – это важно

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

Вот такое отношение к вещам называется алгоритмическим мышлением. Узнали себя? Поздравляем! Тогда путь программиста – как раз для вас! Осталось только добавить необходимых знаний и опыта.

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

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

Программист: ожидание и реальность

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

В сфере IT одиночке выжить не так-то просто. Помните, чем раньше сможете выйти из своей комнаты и продать свой проект, тем быстрее поднимитесь по карьерной лестнице.

В программировании самое сложное – начать, поэтому хочу будущим web-программистам дать простой, но очень значимый и важный совет: не бойтесь новых начинаний.

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

Каждый проект – новая среда, неизученные задачи, обновлённая команда. Можно, конечно, отступить. Но тогда нельзя стать IT-гуру. Окунитесь в этот опыт, почерпните из него что-то новое для себя, наберитесь опыта и знаний.

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

Занимайтесь любимым делом

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

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

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

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

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

Как я стал программистом

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

Первый шаг - резюме

Первая и основная проблема, с которой сталкиваются новички, - резюме. Без адекватного, цепляющего резюме тебя не будут приглашать на собеседования. Но как быть тем, у кого совсем нет опыта работы? Для того чтобы «не с пустыми руками» идти к HR, мы с другом вписали мне в резюме целый год опыта работы над его проектом, над которым якобы вместе трудились.

Зарплатная политика

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

Позор и стыд

Первые собеседования были провальными. Надо мной буквально смеялись. На первом же техническом собеседовании, где мне дали пару задачек на бумаге, меня раскусили в два счёта. Кто-то даже по-отечески посоветовал книгу Thinking in Java.

Первая работа

В конце концов меня пригласили на собеседование в филиал одной датской компании, где я ответил на фундаментальные вопросы и приятно удивил всех своим английским. Меня взяли на должность Junior Java developer с одним условием - первые три месяца я буду проходить курс SCJP (Sun Certified Java Programmer), который восполнил бы мои пробелы и выковал бы из меня более подготовленного специалиста. Что может быть лучше, чем оплачиваемая стажировка без нужды работать (выдавать свою некомпетентность)? В этой компании я проработал полгода, чтобы через несколько месяцев пойти на повышение в компанию покрупнее.

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

  1. Резюме. Оно должно быть правильно отформатированным и написанным исключительно на английском. Если не хватает опыта, то его можно (и нужно) придумать, но следует подготовиться отвечать за каждое написанное в резюме слово. Например, если у тебя там написано JMS (Java Message Service), то как минимум следует пройти хоть одну обучалку и поиграться с JMS, поделать какие-нибудь примеры, пускай это и будет банальное «Hello, world!». Теперь будет удобнее пускать пыль в глаза, вы ты и правда «работал с JMS».
  • Выучи азбуку программирования. Если ты ещё можешь позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы тебе никогда не простят. Если тебя ночью разбудить, то ты должен уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  • Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если ты не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях - порешать их дома самостоятельно.
  • Читай книги и проходи туториалы по Java только на английском Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском - себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым ты вряд ли являешься.
  • Выучи, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине - неудовлетворительный уровень разговорного английского. Нет, если ты, конечно, собираешься работать программистом где-нибудь в отечественной компании, то твой уровень языка не будет играть важной роли. Но если ты хочешь попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень твоего английского будет конвертироваться в дополнительные сотни долларов прибавки к зарплате.
  • Знай рынок. Походи по вакансиям, почитай требования, поспрашивай друзей-программистов, сколько они получают. Используй сервисы, которые позволят составить более полную картину о рынке IT. Ты был бы удивлён, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  • Торгуйся. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Твоим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Ты должен понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  • Найди себе ментора. Хорошо, если у тебя будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке ты будешь продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо сходить на какие-нибудь курсы по программированию, которые не только дадут более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать твоим ментором.
  • Начни свой проект. Даже если он будет образцом самых худших практик кодинга и ты его никогда не закончишь, по крайней мере, у тебя будет то дело, ради которого захочется разбираться в программировании и изучать новые технологии. Кроме того, у тебя появится дополнительная тема для задушевных бесед на собеседованиях.
  • Ищи работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что тебя позовут на собеседование. Во-вторых, поскольку твои конкуренты-соискатели тоже на отдыхе, у тебя опять-таки повышаются шансы быть замеченным HR.
  • Никогда не сдавайся. Даже если кажется, что ты заваливаешь собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть, тебя именно в этот момент проверяют на усердие в работе!
  • Избегай заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Твоя задача - постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если тебе дали бумагу и ручку и попросили записать решение, то попроси возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, ты не только убережёшь себя от каких-нибудь режущих глаз ошибок, но и покажешь, что способен мыслить абстрактно, не вдаваясь так уж сильно в детали.
  • Начинай говорить первым. Избегай ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, начинай рассказывать что-нибудь из того, что ты хорошо знаешь. Постарайся навязать интервьюеру свою игру.
  • Старайся говорить правду. Если ты никогда не писал PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для тебя будет минус, однако ты убережёшь себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслишь. Опытный интервьюер за версту почувствует твои пробелы в знаниях.
  • Бойся маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее тебя раскусят. Твоя цель - большая и неповоротливая корпорация, где ты сможешь выиграть для себя немного времени.
  • Соблюдай дресс-код. Если ты придёшь на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если ты явишься в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».
  • Конечно, кто-то знающий может отметить, что приведённый выше рецепт - это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: