С чего начать учить Front-End
0. Git
1. Английский язык - вся свежая информация на нём
2. Введение в программирование и алгоритмизацию, плюс базы данных
3. Язык Си (C89*) - первый нормальный высокоуровневый язык (*его можно компилировать на компиляторе для С++)
4. HTML
5. CSS
6. Vanilla JS
7. JQuery
8. SCSS
9. HTTP/1.1—HTTP/2
И учите как можно больше теории об программировании, но не злоупотребляйте ею.
Почему учить теорию?
- Потому-что, всё что можно было сделать без изучения теории, уже давным давно сделано кемто. Достаточно только погуглить, и вы с 100% вероятностью это найдёте
Если вы не будете знать теорию, и при этом иметь плохой скилл поиска в поисковых системах, то вы постоянно будете писать велосипеды 99.99% cвоего времени.
Раньше, я думал что теория не важна, что лучше сразу приступать к практике, потом я понял что это была ошибка. Так можно делать, забивать на неё, но только не в IT, а скажем в кузнечном деле, или в подметании дворов. IT это хайтек, это высокие технологии, без теории никак. Но, это не значит, что не должно быть упражнений.
Также важно понимать движок или платформу изнутри. Это самая частая ошибка веб-разработчиков: программировать не зная строения движка. С таким подходом можно наделать кучу ошибок, и в лучшем случае, что приложение будет только крашиться, самая маленькая беда которая может случится, бывают и похуже результаты, связанные с утечкой данных, из-за пренебрежения знаний получаемых только в процессе изучения движка под который пишешь.
Мир IT сложен, и я не слышал, что бы в него брали "по блату", имея ввиду программирование, а не бухгалтерию...
Без хорошей теории ничего путного на практике вы не сможете создать.
Но есть люди, которые злоупотребляют теориями, и ничего не делают на практике, это тоже плохо.
Фокус в том, что зная теорию, вы сможете практику набрать потом самостоятельно из Google :)
C теорией бывают проблемы, её найти достаточно хорошую
нелегко. В то время как с поиском практики проблем не возникает, разве что надо иметь имбецильность, что бы не найти себе задачу.
Предположим, что вам попадётся крутой преподаватель, который сразу приступает к практике с вами, и показывает вам как написать программу или скрипт. Вы с ним пишите код, решаете задачу. Получается крутая программа, может быть даже дорогая или сразу очень известная. Но, потом, вы не сможете создать другую программу без него, с таким подходом (пропустив всю теорию). Максимум что вы сможете сделать, при таком обучении, это повторить первую программу. И то, далеко не с первого раза по памяти, а с сотого, или двухсотого...
Программист не пишет "для души", он 100% времени на работе работает на кого-то. И зачастую, среди тех над ним, кто знает много теории.
Следующий параграф посвящается троллям пишущим на недоязыке PHP:
Касательно обязательного изучения языка Си. Его должен знать любой айтишник, и даже если вы девочка пишущая на VBA в Excel, то без знаний С89 вы — гуанокодер. И не надо ассоциировать этот язык с низким или каким то мифичным "средним" уровнем. Среднего уровня не бывает. Язык Си не низкого уровня, потому что первый признак высокоуровневого языка, это когда человек пишет код нацеленный на решение задачи, а не командами которые понимает процессор. Объясню. Ложное представление о том, что это язык низкого уровня сложилось давно, когда не существовало хороших компиляторов для него. До 1994 года было всего 3 компилятора более менее адекватных: Microsoft, Borland, и Intel. Но, они были мягко говоря плохими, потому что имели искусственный интеллект для оптимизации машинных кодов. Под который, обязательно требовались правки на языках ассемблера. Девяносто четвёртый год стал переломным, благодаря тому, что в Linux ядро посыпалось очень много коммитов, оно стало быть OpenSource. Разработчиков компиляторов до этого времени было от силы 10 000 человек. Но после того, как все желающие смогли отправлять свои баг-репорты, их количество очень резким скачком выросло с десяти тысяч до нескольких миллионов человек! В очень короткий срок — до 2 лет (учитывая масштабы проделанной работы, и количество затраченного времени, это ничтожно малое время). Удалось пофиксить баги ИИ компиляторов до того уровня - когда знания языков ассемблера перестали требоваться, чтобы перевести программу написанную на языке Си в машинные коды. После этого самого масштабного события в мира IT, языки ассемблера можно не учить, почти в ста процентах случаев.
Изучение Си
Cи стоит изучать по первому изданию книжки K&R, и желательно в английской версии. Хотя, можно и в русской, но это исключение. И не смотрите что в первом издании капсом много написано кода. Не повторяйте так - это ошибка русских быдло-переводчиков. Второе и последующие издания с lowercase в коде, но они посвящены стандартам, а не столько языку. По этому их не читайте.
И как можно раньше, выучите Git. В процессе обучения, вы будете писать много кода. Его надо гдето хранить, он пригодится вам в работе. Если у вас получится понять что такое гит даже на нулевом этапе, то непременно сделайте это! Как можно быстрее. Вам надо научиться в надёжном месте хранить свои наработки, с понятными пушами. Вы потом оттуда будете копипастить свой код.
Писать скрипты без знаний теории как работает платформа под которую пишешь можно, также можно делать жигули по итальянским чертежам, но что из этого получилось, все мы прекрасно уже знаем. Именно поэтому рынок IT в СНГ не развит. Потому что на всё забивают, и сразу приступают что-то делать. Если вы скажете что рынок развился, то посмотрите хотябы на какуюто крошечную страну вроде Израиля, и на их рынок IT, прежде чем нести такую ахинею.
Before getting started with ... , be sure to read the following as ... .
Но, если вы не хотите теорий, а сразу практику, то задайтесь вопросом, что делает Фронтендщик. Одной из его обычных задач является сборка проекта. Например, компоновка элементов интерфейса в один спрайт (не актуально для HTTP/2). Или например он "занимается" расстановкой префиксов -webkit-, -moz-, -ms- и др. вот с них и начните, если верстальщица до этого не додумалась.
Фронт-эндщик знает что находится «под капотом» на сервере, бэкенд его не пугает:
Фронтэндщик понимает протоколы обмена данными, заголовки. и т.д. и т.п. Фронтэднщик очень много должен знать, это тяжелая профессия. И более того, он обязан быть постоянно в тонусе и не пить пиво, чтобы следить за всем новым. Фронтэндщик лучший друг бэкэндщика, хорошего найти сложно, и тем более стать им самостоятельно.
Фронтендщик - это интерфейс, между фронтом и беком. Острая потребность в его профессии отпадает, используя JavaScript на обоих сторонах сервиса.
Пыхари должны остаться без хлеба, ДжаваСкриптеры их хорошо поджимают разнообразием фреймворков.