Как я стал разработчиком с нуля. И вы сможете

Денис Сущенко avatar | 36
FavoriteLoading В закладки
Как я стал разработчиком с нуля. И вы сможете

В нашей стране люди воспитаны так, что профессию надо выбрать раз и навсегда, причем уже к 18 годам. А что, если ошибся, либо надоело, либо дошел до стадии, когда карьерный рост по каким-то причинам невозможен? В юности смена рода деятельности воспринимается более-менее нормально, но когда тебе 30, а то и больше, тут уж не до маневров… Или это не так?

Короче, мне за 30, я состоявшийся профессионал, и я решил освоить фронтенд-разработку. Захотелось двух вещей:

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

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

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

Главная проблема новичка-кодера. Технологий море, языков океан, терминов – безграничная вселенная. Фреймворки, библиотеки, методологии, метаязыки… Неясно вообще ничего, а знакомые программисты и вовсе советуют не лезть. А если очень хочется?

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

Как учиться?

В общем есть два пути:

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

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

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

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

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

Мне хотелось:

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

Мою веру в гуру кодинга окончательно подорвали на бесплатном вебинаре одной из широко рекламируемых в рунете школ. Молодой человек в пижаме пытался объяснить основные понятия в программировании, обильно сдабривая речь словами «ну», «вот» и «короче». В качестве примеров он приводил математические операции, и было ни черта не ясно, как из всех этих уравнений получается конечное приложение. Аудитория требовала объяснений. Парень ухмылялся: ну головой-то думайте, грёбаные гуманитарии! В конце вебинара он поздравил собравшихся с тем, что сейчас можно записаться на курсы со скидкой. И ушел.

Где учиться?

Для желающего освоить новую профессию в интернете есть куча платных и бесплатных материалов. В моем случае начинающего веб-разработчика я обнаружил:

  • Неиссякаемый YouTube. Вроде бы все есть, но с чего начать, а тем более, куда продолжить, – непонятно. Знания не систематизированны. Блогеры любят фокусироваться на частностях, упуская общую картину. Однако YouTube хорош, когда нужно углубить какую-то тему.
  • Русскоязычные платные курсы «Нетология», GeekBrains, HTML Academy и подобные. Дороговато, если не решил крепко-накрепко менять профессию и не уверен, что в будущем отобьешь затраты. К тому же бесплатные вебинары некоторых школ не блистали качеством, а среди преподавателей по другим специальностям я обнаружил коллег, чей профессионализм оставляет желать лучшего. Хм.
  • По ценам. Первый уровень месячного интенсива HTML + CSS в HTML Academy стоит 24 500 рублей. Профессия frontend-разработчик в «Нетологии» без скидки 54 900 рублей, правда, за 8-месячные курсы плюс обещают стажировку и трудоустройство. В GeekBrains берутся учить за 7855 руб/мес на протяжение семи месяцев, в комплекте стажировка на реальном проекте GeekBrains или Mail.Ru, а то и у партнеров вплоть до Сбербанка.

  • Курсы на Coursera, Udemy и похожих ресурсах. Посидев немного на этих площадках, понял, что там слишком много всего – с чего начать и куда двигаться дальше как-то не совсем понятно. По сути та же ситуация, что и с YouTube.
  • Туториалы на W3Schools, freeCodeCamp – нет видео, только тексты, а потому трудно воспринимаются.

И это лишь немногое из того, где можно поучиться.

Меня спасла реклама в Facebook. Предложили англоязычную школу Treehouse, и я повелся. Кликнул на бесплатный курс Introduction to HTML and CSS, прошел его.

Обучение было как раз таким, какое я искал: на видео профессиональный наставник с чувством, с толком, с расстановкой объяснял азы фронтенда. Иногда на экране появлялась доходчивая инфографика. В ходе разбора темы нужно было выполнять задания, а то и пройти целый челлендж, либо ответить на вопросы.В конце – контрольная работа. Есть «песочница», где писать код и ссылки на допматериалы – документации на Mozilla Developer Network и др.

Мне понравилось. Вот просто – понравилось. Обучение стоило всего 25 долларов в месяц, за которые я получал неограниченный доступ ко всем курсам школы. Я и вписался.

И что было дальше?

По мере прохождения курсов я работал над учебными проектами. Это были простенькие одностраничные сайтики. Как только происходил затык, и мне хотелось углубиться в тему, я направлялся на YouTube и в Telegram-чаты. Почувствовав силы, присоединился к тематическим сообществам на Facebook и время от времени отвечал на вопросы новичков.

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

Мне помогало абстрагироваться от суровой реальности среднестатистического российского кодера. Вдохновение и поддержку я находил в зарубежных фрилансерских тусовках Digital Nomads. Как правило, это заряженные ребята, которые точно знают, чего хотят от жизни, и многие из них – программисты самоучки. А многие из самоучек – написали книги о своем пути к новой профессии.

Почитывал книги «How I Learned to Code: Lessons From Teaching Myself Web Development and Becoming a Paid Programmer in Only 3 Months», «No Degree Web Developer: How I broke into the tech industry with 3 months of self-taught programming», «The Self-Taught Programmer: The Definitive Guide to Programming Professionally» и прочие книги о success-story. Все это продается на Amazon.

Первые деньги

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

В случае с фронтендом это проще простого:

  1. Если вы хорошо учитесь, то у вас по ходу дела будут появляться готовые учебные проекты.
  2. В интернете есть базы готовых макетов. Загружаете – и верстаете. Чтобы не ковыряться слишком долго, поставьте себе цель: сверстать 5 макетов в неделю. Ну или хотя бы парочку.
  3. Наверняка у вас есть друзья, которым нужна сайт. Возьмите и сделайте им подарок.
  4. Если таковых друзей нет, то предложите свои услуги в каком-нибудь профессиональном сообществе. Бесплатно.

Как только почувствовали, что ваш кодинг-скилл достиг 80 lvl, и вы способны на раз-два решать актуальные задачи, можно искать работу. Тут прямой путь как минимум на HeadHunter, а если хотите фрилансить – добро пожаловать на Upwork.

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

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (5 голосов, общий рейтинг: 5.00 из 5)
undefined
iPhones.ru
Не реклама!
Прокомментировать

🙈 Комментарии 36

  1. [root@webhead]# avatar
    [root@webhead]#21 февраля 2018
    7

    Так верстальщик или фронтэнд девелопер?

    MMgo avatar
    MMgo22 февраля 2018
    0

    @[root@webhead]#, а разве фронт не должен уметь верстать? Особенно в начале пути, хотя бы для понимания DOM

    Luka_rus avatar
    Luka_rus22 февраля 2018
    0

    @MMgo, Минимально да и большинство умеет, но в крупных проектах верстают отдельные люди, ибо верстальщик дешевле жаваскриптера.

  2. denoli avatar
    denoli21 февраля 2018
    7

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

    0x62ash avatar
    0x62ash21 февраля 2018
    2

    @denoli, логика и ясность ума важнее

    GrayFall avatar
    GrayFall21 февраля 2018
    4

    @0x62ash, способность хорошо осваивать иностранные языки имеет прямое отношение к логическим навыкам. Любой язык – естественная логическая система.

    svida avatar
    svida22 февраля 2018
    1

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

  3. Майор avatar
    Майор21 февраля 2018
    11

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

    MAXiDROME avatar
    MAXiDROME22 февраля 2018
    1

    @Майор, дык он фронтендщик же, просто результат работы показывает и слушает кнопочки пользователя)))

  4. crosslink avatar
    crosslink21 февраля 2018
    8

    Как стать программистом?
    1) Выучить англ до Pre-Intermediate. Читать уметь чуть лучше.
    2) Понять пару языков и как на них писать программы. Посмотреть на интерпретируемые языки и компилируемые. Посмотреть более широко на сферу программирования, сети, ос, драйвера, дип ленинг, оптимизирование NEON/sse…
    3) Выучить англ до Intermediate.
    4) Понять еще 3-4 языков и главное понять С++. Смотреть чужой код и учиться у него. (Потому что на этой стадии 99% кода на гитхабе будет лучше твоего).
    5) Выучить англ до Upper-Intermediate.
    6) Найти тот язык который больше нравится, python, C++.
    7) Пару лет применять их в работе каждый день улучшая навыки и узнавая новые о них, смотреть что появляется новое.
    8) Выучить англ до Advanced.
    9) Еще несколько лет работать и учить новое.
    —–
    PROFIT!

    crosslink avatar
    crosslink21 февраля 2018
    1

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

    GrayFall avatar
    GrayFall21 февраля 2018
    6

    @crosslink, Вы написали “как стать кодером”, а не “как стать программистом”. Для программистов знание языков вторично относительно математики/информатики/статистики (в частности, дискретки, линала, матана, теовера и теории информации), анализа сложности, алгоритмов и структур данных, парадигм программирования и паттернов разработки – вот на это всё накладываются языки. Для программиста нет проблем за 2-3 недели выучить любой высокоуровневый язык, потому что теоретическая основа одинаковая – меняются только синтаксис, библиотеки и “правила хорошего тона”.

    Silmaril avatar
    Silmaril22 февраля 2018
    0

    @GrayFall, не спорю что все это очень полезно, но думаю всеже не является необходимым (по крайней мере для всех видов программистов). Могу сказать, что я не смотря на то, что все это учил – на практике (в работе) этого не применяю да и забывается за давностью лет (из-за того что не пользуешься).
    С другой сторны даже, если большую часть из вами перечисленного я и не использую и уже можно сказать забыл – может то что осталось в подкорке помогает…?
    P.S. А с посылом согласен план @crosslink совсем не то что нужно.

    MMgo avatar
    MMgo22 февраля 2018
    1

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

    crosslink avatar
    crosslink22 февраля 2018
    0

    @Silmaril, напишите свой;) Я не вижу в своем совете плохих пунктов.

    crosslink avatar
    crosslink22 февраля 2018
    1

    @GrayFall, “Посмотреть более широко на сферу программирования” это и матан и дифуры и дискретка и все остальное. За 2-3 недели ты не выучишь ни 1 язык достаточно хорошо. Ты сможешь в нем разбираться, читать чужой код, но точно не писать так, чтобы другие не плевались. Для этого надо как минимум покодить на нем пару месяцев.
    И таки я закончил универ по этой специальности, поэтому многое из того что нужно я не перечислял так как это очевидное требование для меня;)
    Как стать программистом и требования так то можно еще в 3 раза увеличить.

    crosslink avatar
    crosslink22 февраля 2018
    0

    @GrayFall, И что общего между C#, R, Ruby и Lisp?) конечно между Swift, C++, C можно безболезненно переходить, НО есть и другие языки)

    Silmaril avatar
    Silmaril22 февраля 2018
    0

    @crosslink, а что если мне нравится другой язык программирования, а не Python или C++? ?

    Luka_rus avatar
    Luka_rus22 февраля 2018
    0

    @Silmaril, И если нравится 1C обязательно учить 4 языка?

    crosslink avatar
    crosslink22 февраля 2018
    2

    @Luka_rus, лучше быть гуманитарием;)

    crosslink avatar
    crosslink22 февраля 2018
    0

    @Silmaril, там перечисление. Но Python и с++ пригодятся так или иначе почти всегда.

    Luka_rus avatar
    Luka_rus22 февраля 2018
    0

    @crosslink, Понять пару языков и как на них писать программы
    Понять еще 3-4 языков
    Пару лет применять их в работе каждый день улучшая навыки
    Даже сложно представить работу где нужно применять одновременно каждый день 5-6 языков программирования.

    ApparatAbonenta avatar
    ApparatAbonenta22 февраля 2018
    0

    @Luka_rus, да вот как раз с тематикой сайта близко. Приложение для iOS, на Swiftе. Надо доработать линуксовый код на С++ (кросплатформенная библиотека-компонет), часть функционала – на С (к счастью все POSIX, никакого Win32), этот код «живет» в фреймворке, часть фунционала на ObjectiveC. Также потребуется доработка серверной части – в Go- или Java-коде (пока еще неизвестно как лучше и насколько универсально должно быть). Да даже если «не лезть в сервер», даже для сборки надо подправить bash-скрипт и сборочный скрипт CI (ant или Maven), fastlane по ряду причин использовать нельзя. Вот, типа, такой пример.

    crosslink avatar
    crosslink22 февраля 2018
    0

    @Luka_rus, Не обязательно использовать их все. Некоторые для обучения, некоторые для себя и чтобы понять что именно нравится. Кстати использовать в повседневной жизни можно и 5. Как написал ApparatAbonenta например. Или мой пример Obj-c, Swift, C++, C, C#, Python и куча много всего что помогает собирать приложения. сmake bazel …

    wrongguy avatar
    wrongguy22 февраля 2018
    0

    Программист умираюшая профессия как и водитель автобуса!
    Конкуренция – жестче чем в сотовой связи!
    Зря потерянные время и вложения!

    kajlas avatar
    kajlas22 февраля 2018
    0

    @wrongguy, а какая тогда актуальная?

    MAXiDROME avatar
    MAXiDROME23 февраля 2018
    2

    @kajlas, менеджер по продажам или блогер же!

  5. maxsnw avatar
    maxsnw22 февраля 2018
    7

    ДЕЛАЙТЕ УЖЕ ПОМЕТКИ “РЕКЛАМА” НА ПОСТАХ С РЕКЛАМОЙ! ХВАТИТ ОБМАНЫВАТЬ НАРОД, КОТОРЫЙ СИДИТ ЧИТАЕТ А В КОНЦЕ ГИГБРЕЙНС!

    Никита Горяинов avatar
    Никита Горяинов22 февраля 2018
    0

    Ничего, что гикбрейнс идет рядом с 15 другими ссылками? Странная реклама получается…

    crosslink avatar
    crosslink22 февраля 2018
    0

    @Никита Горяинов, вам не могли заплатить сразу все сайты?

  6. DrAlex avatar
    DrAlex22 февраля 2018
    0

    В 30 лет профессионал-это круто. А учиться никогда не поздно

  7. HUIBAM avatar
    HUIBAM22 февраля 2018
    0

    статья ни о чём
    чтоб стать программистом надо начать катать cs 1.6 потом изучать читерство
    а дальше сам не поймешь как стал программистом

  8. kajlas avatar
    kajlas22 февраля 2018
    0

    А без языка можно стать разработчиком?

    vugi avatar
    vugi27 февраля 2018
    0

    @kajlas, нет

  9. HoLoD avatar
    HoLoD22 февраля 2018
    1

    Нормальный программист получается как минимум через 3-4 года обучения, не важно – самостоятельного или по курсам. 3-4 года практического программирования – МИНИМУМ.

  10. MMgo avatar
    MMgo22 февраля 2018
    1

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

    Любой разработчик постоянно чему то учится. Развивается. И чаще всего делает это самостоятельно

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

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь