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

Введение

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

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



Проблема

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

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

2. Основы CSS 2.1;

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

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

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

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



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

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

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

Выбирая профессию программиста, знайте, что Вы будете учиться ВСЕГДА, а не следующие 7 лет. Новые технологии появляются каждый год, индустрия очень молодая и активная — каждый год Вы будете изучать и пробовать новое. Это университет без даты окончания :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 23
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. Да, наваять сайтик на похапе и жабаскрипте просто, но такие «разработчики» сейчас ценятся как китайцы — можно выкинуть и поставить на его место такого же. Оплачивается подобная работа соответственно.

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

Может показаться, что этому сложно научиться. На самом деле, это не так. Придумайте себе интересный проект, с какой-нибудь занятной и неочевидной штукой. Хорошо идут проекты, пересекающиеся с математикой (искусственный интеллект, например). Сделайте свою реализацию перцептрона и научите его распознавать каптчу :) Это гораздо проще, чем кажется в начале, и для этого достаточно школьного курса математики и среднестатистических мозгов.
Ответ написан
@dborovikov
Я вас советуюсь на зацикливаться на вебдеве. Сейчас вам это кажется прикольно, но когда вам будет под 30 то делать сайтики для вас может оказаться слишком унылым. Пока вам не много лет, лучше потренируйтесь с базой — изучайте алгоритмы, низкоуровневое программирование, изучайте сети, ос (к примеур по Таненбауму). Там уже будет видно что вам действительно интересно. Выбирайте направление и устраивайтесь в крупную контору интерном. Ни в коем случае не идите в шаражки — плохому научат. В крупной компании от интерная не будут требовать правктику, а будут требовать базоыые знания, хорошей практики вас там обучат.
Ответ написан
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, или Питон (в этом языке ООП чуток похуже предыдущих, но много другого хорошего) или что там хорошего у вас в ВУЗе учат. Не потому, что РНР — это ужас, а просто чтобы научиться хорошему для начала. Вернуться к РНР будет нетрудно (через годик-два, и сразу можно на стажировку), но постичь важные идеи программирования в лучшем языке будет полезно просто для развития (тем более РНР постепенно развивается, и на мой взгляд в правильную сторону).
Ответ написан
spiff
@spiff
Ну как же так никто не написал про open source. Попытайтесь присоединиться к одному: подпишитесь на рассылку (даже просто читайте и вы откроете для себе тонны новых знаний, наблюдая за спорами и дискуссиями лучших программистов), просмотрите багтрекер (возможно что-то можно пофиксить). На хабре недавно была статья о том, что можно сделать, чтобы стать частью open source проекта. Это конечно не то, что получать 5-6к в месяц делая сайты — это чувство когда твой код, работает у людей по всему миру, на тысячи, десятке тысяч машин.

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

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

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

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

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

на конкретный язык не завязывайтесь. возьмите любую задачу и сделайте её на нескольких языках — php, python, ruby, js на ноде. сами выберите, что лучше, но знать лучше как минимум 3 из названных языков.
Ответ написан
@Nivka
Как Вы серьезно подходите.
Наиболее эффективно для обучения - работать в команде профи.
По мере роста переходить под крыло все более квалифицированных и квалифицированнейших профи.

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

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

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

Войти через центр авторизации
Похожие вопросы
BeGet Санкт-Петербург
от 50 000 ₽
от 1 200 до 1 800 $
Сайтсофт Екатеринбург
от 65 000 ₽