Да, это так. Сам подумываю со временем податься на апворк. Кому-то подходит неопределенность и более высокий куш в случае успеха, а кому-то нужна пусть и небольшая, зато определенность. :) Опять же не все умеют или желают уметь в языки.
Олег, ну вот на тостере охотно подсказывают, на стаковерфлоу можно найти массу ответов на даже самые каверзные вопросы. А искать ответы самому это оооочень полезный навык. В любом случае в айти нужно постоянно развиваться, иначе очень быстро отстанешь от паровоза.
В теории есть одна сложность - в 90% случаях совершенно непонятно ЗАЧЕМ и почему ИМЕННО ТАК? Особенно это касается некоторых навороченных абстракций.
Вообще самое сложное, чему придется научиться в программировании - это читать, понимать, и без поломок дорабатывать ЧУЖОЙ код. И самый эффективный способ - брать чужой готовый рабочий код, желательно качественный, и на его примере осваивать премудрости.
Сама по себе теория объёмна и там много вещей, оторванных от любых других сфер, и когда без дОлжной подготовки почвы будешь пытаться эту теорию освоить, то мозг будет слать тебя куда подальше, потому что ему не с чем будет это связывать.
В то же самое время когда у тебя уже будет перед глазами например кусок чужого кода, то в попытках понять как эта хрень работает, теория будет заходить на ура. Повторюсь, теория объёмна и неподъёмна без должной подготовки почвы...
Короче как ты не крути, а чтобы стать виртуозом, нужно очень много практики, до половины времени музыканты гоняют гаммы и арпеджио, делают пальчиковую гимнастику, вырабатывают рефлексы. Тут ровно то же.
Так-что прям вот сейчас иди на гитхаб, бери первый попавшийся проект на JS и вперед разбираться, как оно работает, зачем и почему.
Ну вот по такой логике пока не станешь пианистом-виртуозом, нельзя садиться за инструмент и вообще трогать клавиши :)
Как и в любом другом занятии, в программировании необходимо много практиковаться, совершать ошибки, писать страшнокод, в попытке достичь совершенства...
Нужно быть готовым в 99% времени выбросить то, что написано, ибо убого. Это нормально. Если так сверхценишь собственные усилия и нет желания что-то переделывать, то, возможно, программирование тебе не совсем подходит. Тут не получится рррраз и сразу в дамки, тут нужно сделать миллион небольших шагов, и усвоить миллион контекстов.
Т.к. возможности абсолютно любого человека ну очень ограничены, делать всё это придется постепенно, другими словами кита кушать нужно небольшими порциями...
Я до осени 2017 года всегда работал только сольно, с нуля и под ключ, совмещая в единственном лице и аналитика, и архитектора, и базовика, и бэкера, и фронтендера, и тестировщика, и саппорт. Всегда был единственный, а потому, первый парень на деревне, воспринимаемый остальными сотрудниками где-то на уровне то ли шамана, то ли колдунщика, то ли волшебника, то ли магистра серо-буро-малиновой магии. До кучи еще системным администрированием занимался, эникейством и прочим. Потом поумнел, добился от начальства взять помощников и стал делегировать всю ернудистику им.
Году в 2011 я даже успел побыть CTO стартапчика, причем все шло хорошо, но стартап сдох не родившись по финансовым причинам. И я, будучи совершенно уверен в своей высочайшей квалификации и способностях, ринулся штурмовать вакансии в гигантах типа Яндекса, где меня быстро спустили с небес на землю. По части JS я не тянул даже на стажера, хотя на jQuery делал достаточно сложные вещи...
В общем для разработчика весьма опасно подолгу работать сольно. Теряешь ориентиры и адекватное восприятия реальности. Поезд уходит в даль, а ты даже не подозреваешь, насколько отстал от действительности...
Но пара ледяных душей, и ты уже проснулся и с оптимизмом смотришь в будущее... :D
Если делать что-то на том же реакте под high-load, то обязательно потребуется SSR (Server-side rendering) и его на чем-либо кроме ноды весьма затруднительно делать. В том числе и поэтому мой выбор для бэка - нода. Еще мечтаю GraphQL заюзать, но пока не складывается, на бэке то питон, то пыха, то джава и бэкеры не желают связываться с продвинутыми технологиями. :)
Смотря для чего. Лично мне было полезно, но я как наставник выступал, и пока толпам курсантов объяснял что да как, заодно и сам усвоил. :D
Тут как повезет с наставником. Настоятельно рекомендую до академии прокачать хотя бы базовую алгоритмику (кодварс до 4-кью включительно), чтобы именно концентрироваться на интенсиве и взять максимум пользы. Иначе велика вероятность прозалипать над банальностями и не достичь плановой эффективности обучения.
Опять же, очень многое зависит от мотивированности самого курсанта, ко мне всякие приходили, некоторых приходилось откровенно за жабры тащить в светлое будущее веб-дева. Некоторые, наоборот, весьма успешно сами продвигались и с ними не было нужды няньчиться. В общем все люди очень разные, и академия каждому даст индивидуальный уровень успеха. Если прям постараться по максимуму, я считаю для ванильного фронтенда без фреймворков интенсивы вполне хороши.
Опять же, без базовой алгоритмики и кодо-скиллов там делать нечего. Академия больше учит не столько кодить, сколько правильно применять веб-технологии.
Уметь в алгоритмы и не пользоваться этим - ну может быть, может быть, хотя мне вот на фронте постоянно пригождается этот багаж.
А вот не уметь в алгоритмы значит при случае либо не смочь решить задачу, либо решить ее очень плохо. А вот это уже может запросто повлечь неприятныейшие последствия.
Поэтому если вопрос стоит учить или не учить, лично я выбираю учить.
Может быть и 90, а может быть и 50. Тут как повезет, но вот у нас на фронте с React+Redux на некоторых проектах стор весьма обширный, со сложной структурой, а с бэка прилетает не идеальный JSON, и приходится немало поколдовать, чтобы привести к удобному виду. Очень сильно спасает reselect. И вот тут все эти навыки весьма пригождаются.
Потом, опять же, не всем ведь CRUDы строить всю жизнь, кто-то пойдет в финансовую сферу, кто-то игры писать, да и много еще сфер, где светлая голова и прямые руки пригодятся.
Опять же, на кодварс я не заставляю решать сложные задачки, наоборот, я говорю решайте простые, но много и быстро, чтобы базовые навыки программирования вывести на автоматизм.
Как по мне SCSS самый удобный и лаконичный. А вообще надо брать то что удобно лично для тебя и не парить мозг такими изысками. Все равно идеальное решение существует только в идеальном мире, т.е. твоём воображении... :)