В нашей стране люди воспитаны так, что профессию надо выбрать раз и навсегда, причем уже к 18 годам. А что, если ошибся, либо надоело, либо дошел до стадии, когда карьерный рост по каким-то причинам невозможен? В юности смена рода деятельности воспринимается более-менее нормально, но когда тебе 30, а то и больше, тут уж не до маневров… Или это не так?
Короче, мне за 30, я состоявшийся профессионал, и я решил освоить фронтенд-разработку. Захотелось двух вещей:
- Возможности заработать на жизнь чем-то еще, кроме копирайтинга, журналистики и прочего писательского труда.
- Учебы. Вот той самой учебы, после которой у тебя появляются востребованные на рынке труда скиллы.
К тому же, иногда от текстов хочется отдохнуть и, отключив правое творческое полушарие, присесть на логическое и порешать совершенно другие задачки.
С чего начать?
Главная проблема новичка-кодера. Технологий море, языков океан, терминов – безграничная вселенная. Фреймворки, библиотеки, методологии, метаязыки… Неясно вообще ничего, а знакомые программисты и вовсе советуют не лезть. А если очень хочется?
Решив, что мне интересна разработка сайтов, а именно фронтенд, я отправился на YouTube. Там мне помогли видео о том, что должен знать веб-разработчик в текущем году – особенно те ролики, где досконально рассматривали всю «дорожную карту» от самых основ до вершин. Тут же более-менее стало ясно, куда двигаться.
Как учиться?
В общем есть два пути:
Суровый самоучка – кидаетесь в пучину с головой. Все, что надо, есть на YouTube, а все платное можно даром скачать на торрентах. Если что непонятно, спрашиваем в чатиках и соцсеточках.
Подход кажется хорошим, но он требует невыносимого самоконтроля. Вы можете безвылазно смотреть YouTube в течение первой недели, а на второй «что-то пойдет не так», и вы просто бросите. Просто потому, что вдруг отдали приоритет чему-то другому. Сериалу, играм, девушке – неважно. К тому же, вы ничего не платили, а стало быть ничего не теряете – и легко сливаетесь.
Те же бессистемные знания, которых вы нахватались за «неделю интенсива», быстро испарятся, а с ними и ваши мечты о новой жизни успешного айтишника, работающего в Европе, а то и в Силиконовой Долине.
Серьезный студент – идете учиться на платные курсы. Это лучшее, что можно сделать, потому что это – серьезно. Денег всегда жалко, но если уж вы решились оплатить учебу, стало быть, вы действительно хотите перемен в жизни и вряд ли позволите себе халявить. По крайней мере, в данный период.
На платных курсах вы получаете систематизированные знания от профессионалов и погружаетесь в учебную атмосферу с уроками, домашкой, контрольными и реальными проектами. Ну а если вдруг захочется прогулять пары или бросить, то вы несколько раз подумаете, прежде чем сделать это. Оплачено же!
Мне хотелось:
- Систематизированные видеоуроки. С самых-самых основ. Я гуманитарий, и мне нужно все разжевать и положить в рот без лишней технической терминологии.
- Качественная профессиональная подача. Мой учитель по ту сторону экрану должен говорить уверенно и по делу. И таких, как оказалось, очень и очень мало – большинство «преподов» можно смело слушать на удвоенной скорости, в то и не слушать вовсе.
- Интересная практика. Без этого никуда. Нужно решать задачки, и важно, чтобы они соприкасались с реальной жизнью, а не только с математикой. Согласитесь, что одно дело тасовать абстрактные цифры в массивах, и совсем другое – написать какой-нибудь планировкщик или хотя бы базу девушек, с которыми ты одновременно встречаешься.
Мою веру в гуру кодинга окончательно подорвали на бесплатном вебинаре одной из широко рекламируемых в рунете школ. Молодой человек в пижаме пытался объяснить основные понятия в программировании, обильно сдабривая речь словами «ну», «вот» и «короче». В качестве примеров он приводил математические операции, и было ни черта не ясно, как из всех этих уравнений получается конечное приложение. Аудитория требовала объяснений. Парень ухмылялся: ну головой-то думайте
, грёбаные гуманитарии! В конце вебинара он поздравил собравшихся с тем, что сейчас можно записаться на курсы со скидкой. И ушел.
Где учиться?
Для желающего освоить новую профессию в интернете есть куча платных и бесплатных материалов. В моем случае начинающего веб-разработчика я обнаружил:
- Неиссякаемый YouTube. Вроде бы все есть, но с чего начать, а тем более, куда продолжить, – непонятно. Знания не систематизированны. Блогеры любят фокусироваться на частностях, упуская общую картину. Однако YouTube хорош, когда нужно углубить какую-то тему.
- Русскоязычные платные курсы «Нетология», GeekBrains, HTML Academy и подобные. Дороговато, если не решил крепко-накрепко менять профессию и не уверен, что в будущем отобьешь затраты. К тому же бесплатные вебинары некоторых школ не блистали качеством, а среди преподавателей по другим специальностям я обнаружил коллег, чей профессионализм оставляет желать лучшего. Хм.
- Курсы на Coursera, Udemy и похожих ресурсах. Посидев немного на этих площадках, понял, что там слишком много всего – с чего начать и куда двигаться дальше как-то не совсем понятно. По сути та же ситуация, что и с YouTube.
- Туториалы на W3Schools, freeCodeCamp – нет видео, только тексты, а потому трудно воспринимаются.
По ценам. Первый уровень месячного интенсива HTML + CSS в HTML Academy стоит 24 500 рублей. Профессия frontend-разработчик в «Нетологии» без скидки 54 900 рублей, правда, за 8-месячные курсы плюс обещают стажировку и трудоустройство. В GeekBrains берутся учить за 7855 руб/мес на протяжение семи месяцев, в комплекте стажировка на реальном проекте GeekBrains или Mail.Ru, а то и у партнеров вплоть до Сбербанка.
И это лишь немногое из того, где можно поучиться.
Меня спасла реклама в 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.
Первые деньги
Понятно, что без опыта вы никому не нужны. Неважно, хотите вы работе в онлайне, либо в офисе. В любом случае вам необходимо сделать портфолио.
В случае с фронтендом это проще простого:
- Если вы хорошо учитесь, то у вас по ходу дела будут появляться готовые учебные проекты.
- В интернете есть базы готовых макетов. Загружаете – и верстаете. Чтобы не ковыряться слишком долго, поставьте себе цель: сверстать 5 макетов в неделю. Ну или хотя бы парочку.
- Наверняка у вас есть друзья, которым нужна сайт. Возьмите и сделайте им подарок.
- Если таковых друзей нет, то предложите свои услуги в каком-нибудь профессиональном сообществе. Бесплатно.
Как только почувствовали, что ваш кодинг-скилл достиг 80 lvl, и вы способны на раз-два решать актуальные задачи, можно искать работу. Тут прямой путь как минимум на HeadHunter, а если хотите фрилансить – добро пожаловать на Upwork.
Впрочем, если на стадии создания портфолио вы предлагали свои услуги в интернете, то, наверняка, ваша встреча с работодателем уже состоялась. По крайней мере, у меня вышло именно так.
36 комментариев
Форум →Так верстальщик или фронтэнд девелопер?
@[root@webhead]#, а разве фронт не должен уметь верстать? Особенно в начале пути, хотя бы для понимания DOM
@MMgo, Минимально да и большинство умеет, но в крупных проектах верстают отдельные люди, ибо верстальщик дешевле жаваскриптера.
Если кратко, можно хоть тестером работать, хоть ты журналист по проф., но! главное знать или выучить английский, без языка никуда, с языком кругом.
@denoli, логика и ясность ума важнее
@0x62ash, способность хорошо осваивать иностранные языки имеет прямое отношение к логическим навыкам. Любой язык – естественная логическая система.
@GrayFall, у меня с логикой и построением следственных цепочек все очень даже неплохо, а вот с памятью грусть-печаль в последнее время…если сейчас начну учить новый язык, уверен, он будет даваться крайне сложно…
Так и получаются индусы, не понимающие, что такое логическое программирование :)
@Майор, дык он фронтендщик же, просто результат работы показывает и слушает кнопочки пользователя)))
Как стать программистом?
1) Выучить англ до Pre-Intermediate. Читать уметь чуть лучше.
2) Понять пару языков и как на них писать программы. Посмотреть на интерпретируемые языки и компилируемые. Посмотреть более широко на сферу программирования, сети, ос, драйвера, дип ленинг, оптимизирование NEON/sse…
3) Выучить англ до Intermediate.
4) Понять еще 3-4 языков и главное понять С++. Смотреть чужой код и учиться у него. (Потому что на этой стадии 99% кода на гитхабе будет лучше твоего).
5) Выучить англ до Upper-Intermediate.
6) Найти тот язык который больше нравится, python, C++.
7) Пару лет применять их в работе каждый день улучшая навыки и узнавая новые о них, смотреть что появляется новое.
8) Выучить англ до Advanced.
9) Еще несколько лет работать и учить новое.
—–
PROFIT!
@crosslink, К сожалению весь этот пост, просто пиар стремных курсов.
С другой стороны я плохо помню себя начинающим программистом, и для них они могут подойти, но уверен что они все рассчитаны на среднего дебила, который приходит на курсы, и если вы окажетесь чуть поумнее – вам будет скучно.
@crosslink, Вы написали “как стать кодером”, а не “как стать программистом”. Для программистов знание языков вторично относительно математики/информатики/статистики (в частности, дискретки, линала, матана, теовера и теории информации), анализа сложности, алгоритмов и структур данных, парадигм программирования и паттернов разработки – вот на это всё накладываются языки. Для программиста нет проблем за 2-3 недели выучить любой высокоуровневый язык, потому что теоретическая основа одинаковая – меняются только синтаксис, библиотеки и “правила хорошего тона”.
@GrayFall, не спорю что все это очень полезно, но думаю всеже не является необходимым (по крайней мере для всех видов программистов). Могу сказать, что я не смотря на то, что все это учил – на практике (в работе) этого не применяю да и забывается за давностью лет (из-за того что не пользуешься).
С другой сторны даже, если большую часть из вами перечисленного я и не использую и уже можно сказать забыл – может то что осталось в подкорке помогает…?
P.S. А с посылом согласен план @crosslink совсем не то что нужно.
@Silmaril, есть разные уровни программирования. Мне матан, теорвер И так далее потребовались на 6-м году практики. И без этих знаний прыгнуть выше у меня бы не вышло. До какого то этапа можно вообще ограничится знаниями одного фреймворка и не вдаваться в детали реализации.
@Silmaril, напишите свой;) Я не вижу в своем совете плохих пунктов.
@GrayFall, “Посмотреть более широко на сферу программирования” это и матан и дифуры и дискретка и все остальное. За 2-3 недели ты не выучишь ни 1 язык достаточно хорошо. Ты сможешь в нем разбираться, читать чужой код, но точно не писать так, чтобы другие не плевались. Для этого надо как минимум покодить на нем пару месяцев.
И таки я закончил универ по этой специальности, поэтому многое из того что нужно я не перечислял так как это очевидное требование для меня;)
Как стать программистом и требования так то можно еще в 3 раза увеличить.
@GrayFall, И что общего между C#, R, Ruby и Lisp?) конечно между Swift, C++, C можно безболезненно переходить, НО есть и другие языки)
@crosslink, а что если мне нравится другой язык программирования, а не Python или C++? ?
@Silmaril, И если нравится 1C обязательно учить 4 языка?
@Luka_rus, лучше быть гуманитарием;)
@Silmaril, там перечисление. Но Python и с++ пригодятся так или иначе почти всегда.
@crosslink, Понять пару языков и как на них писать программы
Понять еще 3-4 языков
Пару лет применять их в работе каждый день улучшая навыки
Даже сложно представить работу где нужно применять одновременно каждый день 5-6 языков программирования.
@Luka_rus, да вот как раз с тематикой сайта близко. Приложение для iOS, на Swiftе. Надо доработать линуксовый код на С++ (кросплатформенная библиотека-компонет), часть функционала – на С (к счастью все POSIX, никакого Win32), этот код «живет» в фреймворке, часть фунционала на ObjectiveC. Также потребуется доработка серверной части – в Go- или Java-коде (пока еще неизвестно как лучше и насколько универсально должно быть). Да даже если «не лезть в сервер», даже для сборки надо подправить bash-скрипт и сборочный скрипт CI (ant или Maven), fastlane по ряду причин использовать нельзя. Вот, типа, такой пример.
@Luka_rus, Не обязательно использовать их все. Некоторые для обучения, некоторые для себя и чтобы понять что именно нравится. Кстати использовать в повседневной жизни можно и 5. Как написал ApparatAbonenta например. Или мой пример Obj-c, Swift, C++, C, C#, Python и куча много всего что помогает собирать приложения. сmake bazel …
Программист умираюшая профессия как и водитель автобуса!
Конкуренция – жестче чем в сотовой связи!
Зря потерянные время и вложения!
@wrongguy, а какая тогда актуальная?
@kajlas, менеджер по продажам или блогер же!
ДЕЛАЙТЕ УЖЕ ПОМЕТКИ “РЕКЛАМА” НА ПОСТАХ С РЕКЛАМОЙ! ХВАТИТ ОБМАНЫВАТЬ НАРОД, КОТОРЫЙ СИДИТ ЧИТАЕТ А В КОНЦЕ ГИГБРЕЙНС!
Ничего, что гикбрейнс идет рядом с 15 другими ссылками? Странная реклама получается…
@Никита Горяинов, вам не могли заплатить сразу все сайты?
В 30 лет профессионал-это круто. А учиться никогда не поздно
статья ни о чём
чтоб стать программистом надо начать катать cs 1.6 потом изучать читерство
а дальше сам не поймешь как стал программистом
А без языка можно стать разработчиком?
@kajlas, нет
Нормальный программист получается как минимум через 3-4 года обучения, не важно – самостоятельного или по курсам. 3-4 года практического программирования – МИНИМУМ.
Вообще эти курсы нужны людям совсем не знакомым с контекстом. Если не нравится учиться самому или не получается – профессия не ваша.
Любой разработчик постоянно чему то учится. Развивается. И чаще всего делает это самостоятельно
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как отключить всплывающее меню скриншотов в macOS Mojave
Как отправлять обычные SMS с iPad?
Как настроить синхронизацию контактов и заметок между iCloud и Google?
Как на iPhone заблокировать входящие вызовы с неизвестных номеров
В iTunes (macOS Sierra) в Музыке пропали иконки. Как вернуть?
Как мониторить расход мобильного трафика на iPhone
Как управлять Apple TV 4 с iPhone или iPad
Почему экран iPhone не блокируется во время звонков