Как стать профессиональным веб-разработчиком за 7 лет?

Введение

В будущем хочу связать свою жизнь только с программированием. На все это у меня есть 7 лет.

Пока еще не решил с каким именно — обычным или веб. Но обычному будут учить в универе, поэтому уже 5 месяцев изучаю веб. Пока что мне всего 16 лет и я один из самых «маленьких» на хабре и поэтому прошу помощи у знающих свое дело профи.



Проблема

На сегодняшний день я знаю:

1. HTML (включая основы 5 версии). Смогу сверстать простенький макет;

2. Основы CSS 2.1;

3. Самые-самые основы JavaScript и jQuery;

4. PHP (в т.ч. основы ООП). Все что смогу сейчас сделать — это регистрацию и вход на сайт + гостевую книгу;

5. MySQL — самое основное.

+опыт с WordPress и Joomla. Английский — базовый, пробовал читать отрывки из книг o'reilly, понимаю 70% текста.



Что дальше — непонятно. Хочу идти заново, изучая все на более профессиональном уровне, но не знаю как. К сожалению у меня нет знакомого веб-разработчика, который подскажет мне что и как. Помогите мне в составлении «карты», по которой нужно двигаться. То есть: какие языки и в каком порядке нужно учить, какие книги читать, как правильно учить, что делать на практике и так далее. Заранее спасибо.
  • Вопрос задан
  • 30475 просмотров
Решения вопроса 1
EugeneOZ
@EugeneOZ
Фигню вам тут советуют. Одной лишь работе на фрилансе вы мало чему научитесь. Скорее всего, наберётесь примеров говнокодинга в здачах «подправить скрипт» и подумаете, что так и нужно делать.
Вы не самый молодой — я видел тут 14-летнего парня, который на C# пишет круче всех PHP- и Python-программистов, которых я видел. Просто есть огромная разница между enterprise и home-page проектами. Java и C# имеют в себе больше от enterprise-культуры.

Самый лучший совет Вам сейчас: читайте книги. Как можно больше книг. Обязательно сочетайте с практикой. Но не на фрилансе, а «свои велосипеды», чтобы была возможность пробовать применять знания из книг. Пока Вас кормят родители — это самое лучшая возможность начинать свои проекты. Возможно, Вы сейчас мало придаёте этому значения, но это так.

Изучайте существующие фреймворки.
Книги и работа с фреймворками (в том числе фреймворками для unit-тестирования) дадут Вам огромнейшее количество знаний, Вы сможете сэкономить многие многие годы, которые другие программисты тратят, чтобы постигнуть всё своим путём.
Читайте Макконнелла «Совершенный код», Роберта Мартина — «Чистый код», Э. Хант, Д. Томас — «Программист прагматик».
Изучайте Qt, Symfony, Visual Studio. Никогда не думайте, что Вы остановитесь на одном языке — нужно изучать несколько языков, чтобы видеть несколько способов решения проблем.

Выбирая профессию программиста, знайте, что Вы будете учиться ВСЕГДА, а не следующие 7 лет. Новые технологии появляются каждый год, индустрия очень молодая и активная — каждый год Вы будете изучать и пробовать новое. Это университет без даты окончания :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 22
Inori
@Inori
0.) Английский. Вы должны его знать на таком уровне чтобы ваш перевод технической статьи ваша мама поняла. Все остальное будет гораздо проще с этим пунктом.
1.) www.phptherightway.com/
2.) Читать много много книг (на хабре много сборников по этому)
3.) Начать искать и собирать RSS блогов разработчиков
3.) git (не утверждаю что это лучшая SCM, но благодаря ей у вас будет выход на github.com, а для начинающего это очень важно)
4.) LAMP
5.) Начать копать в сторону хорошего PHP фреймворка (Symfony2, ZF2, етц. на сайте в #1 есть список)
6.) Научиться писать резюме
7.) Пробиться интерном на пол ставки в хорошую местную фирму на 1-2 курсе
8.) Дальше пойдет по накатанной :)

7 лет для этого не надо, хватит 1-2 в зависимости от желания и умения учиться.

P.S. В любом случае, вы молодец что в 16 лет уже думаете о карьере :)
Мне это озарение пришло только в 21 :/
Ответ написан
DedalX
@DedalX
Web разработчик, IT бизнесмен
«Хочу идти заново, изучая все на более профессиональном уровне, но не знаю как.» — только на практике, иначе никак. Зарегистрируйтесь на фриланс биржах, берите проекты не очень большой сложности, но в которых вы знаете не совсем все, по ходу разработки разберетесь основательно (только не стоит брать то, что вы не потянете, вы должны рассчитывать свои силы чтобы сделать все в срок и не испортить себе репутацию). И разберетесь и денег немного получите. Можно также сделать несколько проектов для себя или на продажу, попутно разбираясь в чем — то. К примеру сделайте скрипты на русском языке с применением современных технологий и продавайте их на plati.ru. Я там не одну тысячу $ заработал в свое время, на вполне посредственных скриптах, просто у них не было аналогов на русском языке.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Карта проста — должна быть цель. Просто выучить язык — не цель, придумайте идею какого-то сайта, и попробуйте сделать его на технологиях, которые желаете изучить. Когда сделаете несколько таких проектов — опыта получите больше, чем от обучения по книгам. Потом можно взять пару толковых книжек не для начинающих, и дополнить багаж знаний некоторыми интересными моментами, о которых вы ещё не знаете. По PHP есть официальная документация — в большинстве она дает исчерпывающую информацию в куче с комментариями под ней, и этого хватает. Можете просто просматривать её, запоминая то, какие возможности есть, а когда захотите их использовать — найти будет не сложно.
Ответ написан
ThePretender
@ThePretender
Если вам действительно хочется построить стабильную карьеру с большим доходом, то подумайте про Enterprise. Сюда входит разработка высоконагруженных распределённых систем, проектирование БД, разработка расширяемых архитектурных решений. Все эти задачи имеют мало общего с веб-программированием и «языками» вроде PHP. Да, наваять сайтик на похапе и жабаскрипте просто, но такие «разработчики» сейчас ценятся как китайцы — можно выкинуть и поставить на его место такого же. Оплачивается подобная работа соответственно.

В энтерпрайзе сложнее. Гораздо сложнее. Но зато ощущение от такой работы не идёт ни в какое сравнение с веб-программированием: когда ты понимаешь, что твой код работает на куче распределённых серваков и взаимодействует с десятком сторонних сервисов и железок, обрабатывая параллельно несколько сложных бизнес-процессов, ты понимаешь, что уже никогда не согласишься на меньшее :)

Может показаться, что этому сложно научиться. На самом деле, это не так. Придумайте себе интересный проект, с какой-нибудь занятной и неочевидной штукой. Хорошо идут проекты, пересекающиеся с математикой (искусственный интеллект, например). Сделайте свою реализацию перцептрона и научите его распознавать каптчу :) Это гораздо проще, чем кажется в начале, и для этого достаточно школьного курса математики и среднестатистических мозгов.
Ответ написан
darzet
@darzet
Сам не являюсь крутым разработчиком, но могу посоветовать, что нужно учить.
Если вы захотите профилироваться на фронтенде.
Вам обязательно нужно учить:
1) xml(xslt,xpath),
2) js как клиентский, так немного серверсайд. Учите на отлично JQuery и его плагины.
Учите шаблонизаторы по-типу bootstrap, БЭМ. Полюбите Nodejs=)
3) Регулярки обязательно выучите, если еще не разобрались,
4) Полностью пересядьте на Mac или Linux и постоянно работай с bash,
5) с json разберитесь, там все просто(написал отдельным пунктом, хотя можно было бы во второй кинуть)
Ответ написан
Если решите идти в сторону веб есть хорошие видеокурсы^
PHP
JavaScript 1 или
JavaScript 2.1JavaScript 2.2
CSS там же есть и уровни повыше.
Таким образом вы можете поднять свой уровень в домашних условиях. Но все же главное практика, берите заказы знакомых на сайты визитки, небольшие интернет магазины. Разбирайтесь в движках и уже через год вы увидите положительный результат.
Ответ написан
charon
@charon
хочу для начала посоветовать переключиться с РНР на другой язык. Можно на С#, или Java, или Питон (в этом языке ООП чуток похуже предыдущих, но много другого хорошего) или что там хорошего у вас в ВУЗе учат. Не потому, что РНР — это ужас, а просто чтобы научиться хорошему для начала. Вернуться к РНР будет нетрудно (через годик-два, и сразу можно на стажировку), но постичь важные идеи программирования в лучшем языке будет полезно просто для развития (тем более РНР постепенно развивается, и на мой взгляд в правильную сторону).
Ответ написан
Комментировать
AlexanderG
@AlexanderG
Писать код. Разный: проекты разной направленности, на разных языках, на разных технологиях, просто мелкие прототипы для обкатки фич. Можно попробовать сдружиться с более опытным разработчком и учиться у него, помогая в его проектах. Возможно, это звучит пафосно и наивно, у самого еще пока опыта мало.
Ответ написан
Комментировать
@Nivka
Как Вы серьезно подходите.
Наиболее эффективно для обучения - работать в команде профи.
По мере роста переходить под крыло все более квалифицированных и квалифицированнейших профи.

Фриланс - годный пусть.
Но скорость в нем раза в 3 меньше.

Знания передаются через людей гораздо эффективнее чем через статьи и т.п.
Ответ написан
Комментировать
@wapruks
Тебе наверное для начала нужно все-таки определиться с областью web или обычное. Исходя из этого уже выбирать язык для изучения. Потом есть гугл, который поможет найти учебник. Но не стоит сразу лезть в ООП если ты можешь написать только регистрацию и вход. Нужно хорошо научиться процедурно программировать для начала. Какие языки? Сейчас тебе по-насоветуют того, на чем сами разрабатывают.
Ответ написан
CKOPOBAPKuH
@CKOPOBAPKuH
добавлю немного про книги и чтение.

выше рекомендовали Макконнелла «Совершенный код», Роберта Мартина — «Чистый код», Э. Хант, Д. Томас — «Программист прагматик». я бы добавил к ним ещё и «Design Patterns: Elements of Reusable Object-Oriented Software» и убрал роберта мартина. Но эти книги стоит читать, когда у вас есть хотя бы год-полтора (а лучше — больше) чистого программерского опыта, на более раннем этапе все эти книги бесполезны.

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

читайте блоги. причём не только по «вашим» языкам и технологиям.

в сторону enterprise и тем более java даже не смотрите, как тут советуют. энтерпрайз подавляет в людях всё хорошее и доброе и забирает волю. вы всегда успеете перейти на тёмную сторону, если захотите.

на конкретный язык не завязывайтесь. возьмите любую задачу и сделайте её на нескольких языках — php, python, ruby, js на ноде. сами выберите, что лучше, но знать лучше как минимум 3 из названных языков.
Ответ написан
Комментировать
spiff
@spiff
Ну как же так никто не написал про open source. Попытайтесь присоединиться к одному: подпишитесь на рассылку (даже просто читайте и вы откроете для себе тонны новых знаний, наблюдая за спорами и дискуссиями лучших программистов), просмотрите багтрекер (возможно что-то можно пофиксить). На хабре недавно была статья о том, что можно сделать, чтобы стать частью open source проекта. Это конечно не то, что получать 5-6к в месяц делая сайты — это чувство когда твой код, работает у людей по всему миру, на тысячи, десятке тысяч машин.

Я к сожалению, поздно понял кайф этого. Только после универа, начал хоть как то учавствовать в open source проектах.
Ответ написан
@Rufix
Прошло 7 лет.. интересно, где сейчас этот человек?
Ответ написан
Комментировать
@wapruks
Про ООП я написал конкретно для PHP ибо есть ООПшные языки
Ответ написан
Комментировать
@wapruks
Естественно это не панацея, а мое мнение
Ответ написан
Комментировать
@max_rip
Начните что-то делать, а дальше само пойдет.
Придумывайте идею и реализовывайте.
Ответ написан
Комментировать
astrobeglec
@astrobeglec
Моим рецептом стало чтение литературы и практика. Поставь веб-сервер и пробуй там писать то что нужно, при этом изучая литературу. Так ты не только научишься, но и получишь опыт.
Ответ написан
Комментировать
ArthurG
@ArthurG
Посмотреть эту презентацию. (она со звуком)
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Все очень просто идете в крупную компанию джуниор программистом, она либо вас выгонят либо через 2-3 года сделают проф программистом.
Ответ написан
Комментировать
@Mox
Team Lead, RoR, React/React Native
7 лет достаточно просто быть в индустрии и работать, полюбому Вы станете профессиональным разработчиком, особенно учитывая то, что удалось освоить за 5 месяцев.
Ответ написан
я думаю лучше всего сначала походить по сайта и найти те что нравятся. Посмотреть исходный код как они сделаны со стороны клиента. Стараться понять как они были сделаны в общем. Писать разработчикам (не тупые письма, а постараться познакомится например в фейсбук с человеком чьи работы поражают). В идеальном варианте попросится работать в этот проект к этому человеку.
Ответ написан
Комментировать
@orion7
С возрастом представления о жизни меняются...Если есть какая-то база, то от этого и толкаться надо, остальное само притянется (отпадёт). Важно двигаться - и не по вершкам.
Что плохого в создании сайтов, если тебе это нравиться? Что хорошего тащиться от того, что на твоём коде сидит пол мира?? Эти пол мира с лёгкостью пересядут на новый при случае, и тщедушное эго тогда...??
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы