Горячий рынок и самоучки

Программирование — это модный, популярный навык в наши дни. Кроме достойной зарплаты, человек получает большое удовлетворение от работы и (это еще лучше) социальный престиж. Образ программиста резко изменился: от зануды и застенчивого человека с такими атрибутами, как очки, борода и живот, он превратился в человека социально адаптированного, уверенного в себе специалиста. Рынок горячий, и многие люди мечтают о такой карьере (в основном из-за $$$, тяжелая часть работы почти никогда не является тем, что они хотят или ожидают). Но легко ли устроиться на работу программистом?

Самый подходящий ответ здесь (как всегда): это зависит. Это зависит от человека, это зависит от региона, это зависит от стека технологий, это зависит от многих других факторов. У людей с дипломом, которые усердно работали во время учебы и знают, что делают, не будет проблем с поиском работы. Частый сценарий – стажировка во время учебы, а затем повышение до постоянного работника в компании. Я бы не беспокоился о людях со степенью, если бы они соответствовали вышеуказанному критерию. А как же так называемые самоучки?

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

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

Верно. Вы вступаете в совершенно новую область и не знаете, с чего начать. Разумнее будет найти какой-нибудь форум и спросить людей, с чего начать. Конечно. Люди дадут вам тысячи ответов, основанных на их опыте и том, что сработало для них. Но вы не знаете, что выбрать. Все советы звучат хорошо и разумно. Вот почему в начале программирование — это игра проб и ошибок. Знания и навыки приходят с практикой. Разумнее практика — быстрее эффекты. Вот почему иметь кого-то, кто может вести вас и указывать, что делать, — это благословение. В школах есть свои программы. Вы не знаете. Если вы можете позволить себе частного наставника (т.е. опытного человека, который может вам быстро помочь и объяснить) — сделайте это! Это значительно ускорит ваш прогресс. Переполнение стека — это хорошо, но только до некоторой степени.

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

Интервью

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

Компания А: был телефонный разговор перед просмотром, в ходе которого были заданы общие вопросы о моей карьере и о том, чего я хочу. Также было проверено понимание английского языка. Следующим шагом было техническое телефонное интервью, которое длилось около 15 минут и касалось некоторых основ CSS, HTML и JavaScript. Затем меня пригласили в компанию на личное техническое собеседование.

Компания B: чтобы меня пригласили на личное собеседование, мне нужно было выполнить некоторую техническую задачу с ограниченным количеством времени. Задача состояла в том, чтобы создать адаптивный сайт на основе некоторого API. Решение нужно было доставить в React или простом JS.

Компания C:Личное собеседование прямо сейчас. Смесь некоторых общих вопросов о моем опыте, а также технических вопросов.

Компания D:Задание, которое необходимо решить перед основным собеседованием, а затем личным собеседованием, которое длилось около 1,5 часов. Состоит из некоторых общих вопросов, информации о компании, теоретических и практических вопросов (например, доска, что будет распечатывать эта функция, объяснить какой-то алгоритм)

Компания E:звонок по Skype с отделом кадров, затем звонок по скайпу с некоторыми вопросами по кодированию в реальном времени и теоретическими вопросами, а затем еще два звонка по Skype с отделом кадров от клиента и техническим руководителем со стороны клиента.

Компания F: Около 20 теоретических вопросов и 2 небольших практических.

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

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

  1. Предварительное общее собеседование → техническое собеседование по скайпу/телефону → личное собеседование
  2. Предэкранное общее собеседование → техническое задание → личное собеседование
  3. Очное собеседование прямо сейчас

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

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

а также что

это рынок кадров и опытные специалисты без проблем меняют место работы

Чтобы сделать этот пост немного более техническим :) Я представляю список вопросов, которые, как я помню, у меня были во время интервью:

  1. Новые функции в HTML5
  2. Новые функции в ES6
  3. Каково практическое применение setTimeout(callback, 0); ?
  4. Как бы вы реализовали подсчет одного и того же слова в большом тексте?
  5. isPalindromeреализация функции двумя способами
  6. Напишите функцию, которая подсчитывает количество слов в заданном предложении.
  7. Объясните это
  8. Стиль кнопки в CSS
  9. Реализовать пример функции устранения дребезга
  10. Что такое функция арности?
  11. Объясните каррирование
  12. Объясните HTTP2
  13. Что такое сетка CSS?
  14. Некоторые примеры семантических тегов в HTML5
  15. Размер коробки
  16. apply() vs bind() vs call()

Ваше здоровье!