Как стать профессиональным веб-разработчиком за 7 лет?
Введение
В будущем хочу связать свою жизнь только с программированием. На все это у меня есть 7 лет.
Пока еще не решил с каким именно — обычным или веб. Но обычному будут учить в универе, поэтому уже 5 месяцев изучаю веб. Пока что мне всего 16 лет и я один из самых «маленьких» на хабре и поэтому прошу помощи у знающих свое дело профи.
Проблема
На сегодняшний день я знаю:
1. HTML (включая основы 5 версии). Смогу сверстать простенький макет;
2. Основы CSS 2.1;
3. Самые-самые основы JavaScript и jQuery;
4. PHP (в т.ч. основы ООП). Все что смогу сейчас сделать — это регистрацию и вход на сайт + гостевую книгу;
5. MySQL — самое основное.
+опыт с WordPress и Joomla. Английский — базовый, пробовал читать отрывки из книг o'reilly, понимаю 70% текста.
Что дальше — непонятно. Хочу идти заново, изучая все на более профессиональном уровне, но не знаю как. К сожалению у меня нет знакомого веб-разработчика, который подскажет мне что и как. Помогите мне в составлении «карты», по которой нужно двигаться. То есть: какие языки и в каком порядке нужно учить, какие книги читать, как правильно учить, что делать на практике и так далее. Заранее спасибо.
Область связанная с веб-разработкой или просто с разработкой. Но что-нибудь интересное (не создание сайта школы), не хотелось бы чтобы это было сложно, но и не так легко, чтобы удивить учителей информатики, которые не смогли установить Apache поэтому не знают php, но в тоже время хорошо знают JavaScript. Самое главное чтобы тема состояла из теории и практики и сделать работу мне нужно за 8 месяцев реально было бы. Что знаю из веб я написал выше а из обычного программирования только Pascal немного :)
Что можно порекомендовать студенту, находящемуся на пути в большой мир IT?
В первую очередь, научитесь мыслить категориями: сам по себе язык программирования почти не имеет значения, это средство, а не цель; не нужно придираться к выбору языка и выбирать тот, который вы лучше всего знаете. Помните: у каждой задачи есть тот язык, который больше всего для неё подходит. Не знаете этого языка? Изучайте на ходу или возьмите в помощь того, кто знает.
Любую работу начинайте с цели: что я хочу в итоге получить и как это будет выглядеть (какую прибыль приносить, каким людям продукт будет полезен), никогда не начинайте проекты с целью просто получше узнать язык программирования — это тупиковая ветвь и потеря времени. Язык программирования — это средство.
Хотите совершенствоваться как программист? Не пыхтите над книгами, теряя время. Уговорите кого-нибудь принять вас в команду. Берите любые задачи, решайте их сами, иногда спрашивая более старших сотрудников. Ничего, если вы поначалу будете получать копейки. Главное, чтобы получать их. Если вы не будете иметь вознаграждения за свой труд, то вам очень быстро это всё надоест. Не делайте такой ошибки.
Сам не являюсь крутым разработчиком, но могу посоветовать, что нужно учить.
Если вы захотите профилироваться на фронтенде.
Вам обязательно нужно учить:
1) xml(xslt,xpath),
2) js как клиентский, так немного серверсайд. Учите на отлично JQuery и его плагины.
Учите шаблонизаторы по-типу bootstrap, БЭМ. Полюбите Nodejs=)
3) Регулярки обязательно выучите, если еще не разобрались,
4) Полностью пересядьте на Mac или Linux и постоянно работай с bash,
5) с json разберитесь, там все просто(написал отдельным пунктом, хотя можно было бы во второй кинуть)
Nodejs для фронтенда? Регулярки? Bash?
Каша получается, это не для фронтенда, а вообще обрывки мыслей какие-то.
Да и переседать никуда специально не нужно, оно само пересядется, когда будет необходимость.
Нет, только что посмотрел — что-то не увидел ничего нового, в чём соль?
Адекватная фирма не может требовать Bash, Linux (c учётом продуктов Adobe), и Node.JS от разработчика фронтенда, скорее плюсом будет знание векторных и растровых редакторов, глубокое понимание HTML (DOM), CSS, клиентского JavaScript. C JSON разбираться нечего, он прост до предела, и более того, аналогичен объявлению объектов в JS.
Знание указанных вещей будет плюсом, бесспорно, но требованием — нет.