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

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

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

image
Рис.1 — Весь секрет успеха просто в трех мониторах.

С чего начать?


Наверное, уместно начать с самого начала. Ну нет, не с времен табличной верстки. Хотя, я думаю, многим может показаться, что тогда было проще найти работу, не так много знаний требовалось для того, чтобы начать, но нужно понимать, что и уровень возможностей и инструментов во фронтенде, который был тогда и сейчас — это как «небо и земля». Начинающий джун часто берётся за голову не зная, на что ему обратить внимание и с чего начать. А начать нужно всегда с самого главного. На мой взгляд, с азов программирования и алгоритмов.

Конечно многие могут поспорить с тем, а нужны ли алгоритмы или какие-то паттерны во фронтенде, но современные реалии диктуют свои жесткие условия. Многие пытаются сразу же приступать к изучению популярных javascript фреймворков, таких как angular или react не понимая того, что делают. Все это можно сравнить с человеком, который идет в темном туннеле на какой-то свет. Но не очень понятно, к чему этот свет приведет и что вообще там дальше. Гораздо лучше, когда ты знаешь какие подводные камни тебя ожидают в этом туннеле и что у тебя под ногами. И вообще, из чего состоит этот туннель и нужно ли по нему идти. О чем это я? А о том что зная основы программирования, алгоритмы, понимая паттерны проектирования , ты будешь понимать, что «под капотом» у того или иного фреймворка, какие у него есть подводные камни, стоит ли вообще обращать на него внимание. Вот с этого и нужно начать свой путь. На это и нужно обратить свое внимание в самом начале.

Где приткнуть голову?


Далее есть несколько вариантов развития событий. Какой из них лучше — решать вам.

  • Школа программирования. Отличное решение для старта вашего развития. И если в курс обучения будут входить вышеописанные вещи, это будет плюсом вам в карму. Но не ожидайте чуда. Потому что за вас никто не будет писать код и составлять алгоритмы. Все, что вам предоставят — это нужную подачу информации, которая будет уже отобрана специально для вас. Еще одни большим плюсом являются практические уроки с ментором. Когда на все твои вопросы ты моментально получаешь наглядный ответ. Всегда стоит задуматься над таким вариантом старта, но при этом держа в голове мысль о том, что нужно самому очень много работать. Все что вам предоставят — это материал и менторство. Минус является то что зачастую весь курс обучения очень растянут и то что можно выучить за месяц можно учить за четыре, а то и полгода, хотя может для Вас это будет наоборот плюс?
  • Онлайн курсы. Очень интересный выбор. Большинство таких онлайн курсов проходят в виде интенсивов. Здесь тоже есть личный ментор и даже домашнее задание, а по окончанию курса обязательно парочка выполненных проектов в портфолио. О том, сложно ли найти хорошие онлайн курсы, я умолчу. Есть из чего выбрать.
  • Самоучка. Наверное, это один из лучших вариантов развития событий, но не для каждого. Очень прекрасно, когда ты самостоятельно разобрался с материалом, усвоил его и закрепил на практике. От этого можно получить очень много профита и зачастую работодатели ценят такие кадры. Выбрать из мусора алмаз это еще нужно уметь, и если у вас есть в кармане такой навык, вам очень повезло и вы быстро будете расти как специалист. При таких раскладах курсы не нужны, разве что, для того чтоб стать совсем «скилловым». Не открою большой тайны если скажу что в большинстве курсов и видеоуроков малой и средней ценовой категории используют материалы из современных книг программирования. Советую обратить на это внимание и возможно вы не потратите деньги впустую. А знания при прочтении хотя б одной такой книги с пониманием — будет более чем глубокими.
  • Стажировка в компании. Здесь дают возможность окунуться в сферу IT с ног до головы. Но не каждому выпадает такая возможность, а только тем у кого уже есть какой-то багаж знаний за плечами. Будьте готовы выполнять тестовые задание, чтоб попасть на стажировку. Но оно того стоит, это прямой путь к приему на работу.

Итак, что выбрать решать вам. А что далее? А далее происходит самое интересное. Работа.

Ожидание. Реальность


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

С чего начать поиск работы


Для frontend разработчика незаменимая вещь для трудоустройства являться его портфолио. Мало того что вы делаете свой реальный проект так вам еще и будет что показать работодателю. Это очень хорошая практика, и после изучения материала сразу же к ней нужно приступить. Здесь и можно «понюхать порох». Если вы добавите в свое портфолио несколько личных проектов, то считайте что вы обречены на успех. Но не нужно надеяться что все так легко, открыв некоторые вакансии понимаешь что еще учиться лет 10 для уровня «Джуна». Порой компании требуют знания языков С++, PHP и С# вместе на позицию верстальщик. Да, и такое бывает. Наверное они просто в поисках разносторонних личностей.

Вернемся во frontend


И вот вы junior frontend developer, сделав портфолио, впервые заполнив свое резюме вступаете в новый челлендж «выжить любой ценой». Angular, React, Redux, Vue.js, EcmaScript 6 и проч. С каждым годом требования к специалисту все больше и больше. И понять на что обращать внимание очень сложно. Для некоторых компаний будет достаточно знаний JavaScript, для иных нужен полный стэк технологий. На все это не нужно обращать внимание если у вас есть цель. Цель стать хорошим разработчиком. Крепко зная основу, вы сможете овладеть любым современным фреймворком и это главное. Не нужно привязываться к контексту. Каждый фреймворк имеет свой срок и нужно это понимать. Если вы бросите все силы на изучения React а через несколько лет процент его использования будет очень близко приближен к нулю то что тогда делать? Зная и понимая как все устроено «под капотом» вы будете всегда на высоте. Главное не сдаваться и терпеливо идти к своей цели..

Комментарии (10)


  1. DrPass
    06.12.2019 03:17
    +1

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


  1. Quiensabe
    06.12.2019 03:58
    +1

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


    1. kaowebdev Автор
      06.12.2019 11:48

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


      1. arantar
        07.12.2019 22:40

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


  1. old_bear
    06.12.2019 04:53
    +1

    Хороший пятничный пост. Очень тонко, поднимает настроение.
    Хотя постойте. Это что, не юмор?


  1. ZaEzzz
    06.12.2019 08:40
    +2

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

    Эм… Что, простите? Кто рассказывает и обещает?
    Вроде бы все, кто работает в сфере ИТ знают, что мы всегда находимся в состоянии догонящего поезд. Когда человек хочет «войти в ИТ», то вроде его всегда предупреждают об этом. Не готов к такому? Ну тогда не пытайся и иди учи что-то более стабильное.


    1. extempl
      06.12.2019 09:57

      Кто рассказывает и обещает?

      На курсах, видимо. "C++ за две недели", всё такое. "Трудоустройство по окончанию".


  1. maxzh83
    06.12.2019 10:38

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


    1. sith
      07.12.2019 22:24

      Я бы ещё добавил, что мониторы должны быть на уровне глаз — т.е. желательно, чтобы рабочее место было таким, чтобы не приходилось «сгибаться» и смотреть вниз, как на фотографии автора поста. Это можно исправить или дополнительными подставками под мониторы, или специальными кронштейнами:


  1. GaDzik
    06.12.2019 11:44

    Ок) начинаю с теории. Читаю книги.