Путь начинающего веб-разработчика

Многих из нас в самом начале пути мучает желание познать "Идеальный путь начинающего веб-разработчика".

Четыре года я шел к тому, чего добился сейчас, четыре года бессонных ночей и рабочих дней без выходных до головной боли, а ведь, все могло быть гораздо быстрей и проще.
Самая тяжелая часть пути пройдена, умение мыслить, пользоваться справочниками, решать любые задачи и быстро их выполнять для меня уже обычное дело.

В самом начале пути мы постоянно ищем ответы на вопросы:

  • С чего начать?
  • Что изучать?
  • Какой выбрать путь?
  • Как не убить время зря на то, что не востребовано?
  • Что даст достойную шестизначную заработную плату и стабильность?
  • К чему вообще стремиться?

Путь начинающего веб-разработчика

Сначала решил я посвятить пару лет "Разработке сайтов", много всякого было, немного познав, понял следующее:

Чтобы стать толковым, самостоятельным веб-разработчиком, придется верстать, а чтобы уметь верстать, надо изучать еще и фотошоп, в итоге решил я изучать все в таком порядке:

  1. Adobe Photoshop
  2. HTML / CSS  / JavaScript / jQuery (верстка)
  3. PHP + MySQL  (программирование)
  4. 1С-Битрикс


А вот как все это изучить, оказалось еще одной не простой задачей:

  1. Изучать все сразу по ходу работы
  2. Изучать все поэтапно

1. Изучать все сразу по ходу работы

Сначала я попробовал этот вариант, т.е. делаю задачу и учусь рисовать, верстать, программировать, но практика показала, что это самый ужасный вариант!

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

Далее верстка, аналогичная ситуация, с утра до ночи бедный гугл разрывается и начинает отбиваться от тебя капчей.

Далее программирование, ну тут уже было мне попроще, чисто PHP я хорошо подтянул, тут как-то получалось.

Битрикс я тогда еще не знал, чисто на PHP задачки делал.


В итоге, целый день в лучшем случае ты убиваешь только на какую-нибудь формочку или страничку Контакты, в этом случае получается:

  • Длительное время выполнение задачи
  • Некачественное выполнение работы
  • Снижение ценника на услуги

2. Изучать все поэтапно

Попробовав первый пункт какое-то время, понимаешь, какой у тебя низкий уровень и он никуда не годится, пробуем второй вариант, как я поступил:

  1. Adobe Photoshop
    Как я и написал выше, решил я изучить хорошенько фотошоп, что для этого нужно, рисовать дизайн, хоть сайтов, хоть элементов, лично мне повезло, у меня много друзей, знакомых, хорошо работало сарафанное радио, нарисовал один дизайн, второй, третий, четвертый и стало получаться, ты это сам почувствуешь, уже знаешь интерфейс программы, слои, шрифты, красивые тексты, градиенты и т.д.
    "Десигн создавай, рисуй, уменьшай" - для меня стал боле-менее понятен, для уровня веб-разработчика я посчитал это достаточным, сколько ушло времени не знаю, т.к. после того, как нарисовал, приходилось это мало-мальски верстать и одевать на Joomla, ну, четыре сайта возьмем примерно как четыре месяца.

  2. HTML / CSS  / JavaScript / jQuery (верстка)
    Отлично, фотошоп подтянули, нарезать дизайн на картинки для верстки и сжимать их умеем, остается научиться верстать.
    Но верстку мне захотелось изучить гораздо лучше, это дело мне больше понравилось, это уже что-то более динамичное, чем картинка в фотошопе.
    Да и вертска + программирование очень востребовано, чем лучше умеешь то и другое, тем больше у тебя заказов, ведь конечному клиенту не очень хочется искать отдельно верстальщика и отдельно веб-разработчика, ему хочется заплатить и чтобы все было сделано в одном месте у одного человека.
    На изучение и оттачивание верстки у меня ушло примерно 1,5 года, много сайтов я верстал, получалось все лучше и быстрее, и тут я уже почувствовал уровень, готовность полностью переходить к программированию, работать с jQuery-плагинами я умел, базу плагинов для большинства задач я собрал, а т.к. чисто на верстке одному особо не заработать, да и отношение к верстальщиком не очень, промежуточное какое-то и неуважительное, бросаем это дело и переходим плотно на программирование, здесь и верстать будешь почти каждый день, навык пригодится, и заработки, и отношение к веб-разработчикам более серьезное, как к создателю бизнеса (да, дизайн и верстка на этом фоне как-то расплываются и после забываются).

  3. PHP + MySQL  (программирование)
    Поработав какое-то время чисто на PHP, я понимал, что чего-то не хватает, какого-то постоянства в коде, сегодня одно, завтра другое, каждый раз что-то изучаешь, каждый раз новый сайт, новый движок, новый фреймворк, все приходилось гуглить... гуглить... гуглить.., попадалось такое, что просто пипец, лучше не браться, особенно эти самописки, нет слов.
    Время идет,  ты работаешь и понимаешь, что ты каждый день тратишь на чей-то говнокод, разбираешься в нем, все выбрасываешь и делаешь по своему, просто утопия...

  4. 1С-Битрикс
    Вот тут все и завертелось, совсем другое дело, другой уровень, гибкая разработка, прощайте Wordpress, Joomla и им подобные детские игрушки.
    Вначале Битрикс мне не понравился, очень сложный до головной боли, все совсем по другому, к чему я тогда привык, но, понимая его популярность, количество клиентов и т.д., решил на нем остановиться и полюбить, ведь любимое дело самое эффективное.

Результаты

На все это у меня ушло примерно четыре года 2011 - 2015 гг., где-то через полтора года работы с Битрикс у меня был прорыв в знаниях, все как-то устаканилось, отложилось в голове, я незаметно перестал пользоваться поисковиком, незаметно стал выполнять абсолютно все задачи, но потом я конечно это осознал.

Но, в процессе разработки сайтов были проблемы, от этого я полностью отказался, не буду говорить почему, статься еще растянется, но минусы в этом есть, аж задолбало.
Тогда решил я перейти полностью на техподдержку 2014 - 2015 гг., пока занимался разработкой, накопилась база клиентов, поддерживать чужие сайты никому не интересно, я старался отбирать самых хороших, самых крупных и самых платежеспособных клиентов, поддерживать их жизнь, и продолжать развиваться.

Как я сейчас понял, для начинающего веб-разработчика самым правильным и самым быстрым вариантом вхождения в разработку (знания по теме) будет именно "техподдержка".

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

На техподдержке у вас будет уже готовый сайт, предположим у вас мощный интернет-магазин с обилием различного функционала, вы его будете дорабатывать "точечно", сегодня одно, завтра другое, вы по частям будете все изучать. Изучить отдельную функцию и сделать ее гораздо проще, чем все сразу в сжатые сроки, тут уже не болит голова, что за 3 недели надо все сверстать и одеть на Битрикс, и чтобы это все еще красиво и стабильно работало, не положило сервер при первом заходе робота в каталог и т.д.
Еще при разработке сайта клиент ждет готовый бизнес, вы же озвучили сроки, он весь в нетерпении начать торговать, закупился товаром, сидит на чемоданах уже, ни дай бог пролететь сильно по срокам, а на техподдержке такого нет, есть конечно срочные задачи, но вы это согласуете и вперед, а так, если у вас база клиентов, вы не сможете сию минуту откликаться на каждую задачу, пока делаете одни задачи, прилетают другие, пока не сделаете одно, не беретесь за другое, вот и весь процесс, на каждой задачке вы можете более детально остановиться, получше ее изучить и сделать лучше, без всякой беготни, рисков и сжатых сроков, но тут есть тоже проблема, это расслабляет, так что, сильно не расслабляйтесь, иначе ваши ценники начнут расти, а клиенты быстро разбегаться.

Тут я хотел сказать, что техподдержка клиентов лично мне больше понравилась, чем разработка сайтов, это стабильные заработки, постоянное и спокойное развитие без головной боли и сжатых сроков, не надо никуда ездить и обсуждать непонятно что, каждый день есть чем заняться и развиваешься в том, что тебе нравится, дело становится любимым!

А вот разработка сайтов часто растягивается на длительный срок, то кто-нибудь заболеет, то клиент в отпуске, то денег у клиента пока нет, часто в ТЗ неточности, непонятно что надо сделать, начинаются переписки и согласования, отсутствует ТЗ, сделали неправильно, переделываешь, недопонимания с клиентом, в процессе разработки часто просят что-то переделать, т.к. в ТЗ все это красиво, а при реализации все может быть иначе, то не нравится, это уже не нужно уберите, то видеокарта сгорела, то SSD умер, просто капец какой-то, но выход есть, либо все делать строго по ТЗ без каких-либо изменений, либо просто не браться за это и перейти к техподдержке.

Материалы по теме

Итак, ниже я поделюсь только теми материалами, которые действительно помогали мне развиваться и очень хочу, чтобы помогли теперь и вам!
Возможно, вы не представляете, каким это может быть ценным для вас, какая это экономия вашего личного времени, ведь мне никто тогда не подсказывал, какую книгу лучше прочитать, какой видеокурс лучше посмотреть, что действительно полезно, а что пустая трата времени, на бесполезные книги и курсы я потратил очень много времени, надеюсь, теперь вы сможете все познать гораздо быстрей и с меньшими потерями.

1. Adobe Photoshop

Фотошоп с нуля в видеоформате 3.0 - Зинаида Лукьянова

Photoshop CS5 от А до Я - видеокурс от Евгения Карташова

2. HTML / CSS  / JavaScript / jQuery (верстка)

htmlbook.ru - Влад Мержевич

WebReference.ru - Влад Мержевич

Справочник HTML

Справочник CSS


Javascript+jQuery для начинающих в видеоформате

Отличный курс для базы, если есть время, изучите сначала раздел JavaScript, как раз поймете, почему стоит с ним только ознакомиться и далее плотно изучайте jQuery пока не научитесь свои плагины писать, а в этом вам уже поможет другой автор ниже.


Учебник “jQuery для начинающих” - Антон Шевчук

Цикл статей «jQuery для начинающих» - Антон Шевчук

Лично я остановился на изучении книг Антона Шевчука, очень много полезного у него, книга по jQuery отличная, рекомендую!


jQuery cправочник

Справочники наше все, пользуйтесь "Картой функций"


jQuery Cheat Sheet (Инглиш версион)


Подробное справочное руководство jQuery API на Русском


JavaScript - от начинающего до продвинутого, можно все изучать

Специалист. Курсы JavaScript

3. PHP + MySQL  (программирование)

Руководство по PHP

Справочники наше все, скачиваю

оффлайн справочник функций PHP в формате chm и пользуюсь, если отключат интернет, ничего такого не случится :)


PHP+MySQL для начинающих - Евгений Попов

Курса нет в продаже, но очень хорош в плане посмотреть, пощупать и сделать своими руками приложение на php + mysql, но, развиваться в таком направлении уже древний век, поэтому, рекомендую курсы ниже, как эталон для начинающих.


IRBIS-TEAM (курсы веб-программирования)

Обучающий комплекс, в котором собрано все необходимое для изучения тонкостей веб-программирования, а так же постоянно разрабатываются и совершенствуются уроки, лучше курсов в то время я не нашел, они супер!


Курсы PHP - Специалист

Это более продвинутый уровень, который также будет очень полезен, но я бы отнес его к более глубокому изучению, изучал попозже, т.е. сначала может быть лучше пройти курс Ирбис, потом переходить на курсы Специалиста, изучайте как удобно вам.


Речь вот об этих разделах, есть там еще круче, но это уже точно будет Дзен:

      4. 1С-Битрикс

      Учебные онлайн-курсы

      API документация для разработчиков

      Академия 1С-Битрикс выпускников


      Также очень важно начинающему общаться с профессионалом, поверьте, это большая экономия вашего времени на изучение и длительный поиск нужной информации, всегда вначале непонятно, как поступить, куда копать, с чего начать и т.д.. Очень полезно знать, как работает, чем пользуется и что советует профессионал, ориентируйтесь на блоги и форумы Антона Долганина, там очень много полезной информации и полезных трюков/фишек/примеров.

      1С-Битрикс -> Разработчикам -> Долганин Антон

      Битрикс, и все, все, все


      А также Антон начал делиться знаниями и вы лично можете с ним пообщаться на вебинарах, очень благородно, дерзайте!

      Углубленное изучение Битрикс



      Лично я на данный момент пользуюсь справочниками в формате chm , в них удобный поиск, ссылки постоянны и актуальные:

      API документация

      Администратор. Бизнес

      Разработчик Bitrix Framework


      C недавних пор появилась возможность онлайн переключаться между курсами и также искать в них, но вот поиск меня огорчил к сожалению, почти ничего не ищет, продолжаю пользоваться тремя оффлайн справочниками, просто каждый месяц их перезакачиваю для поддержания актуальности.

      Разработчик Bitrix Framework

      Куда двигаться дальше, веб-студия? Обучение? Битрикс модули?

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

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

      Веб-студия

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

      Не обязательно быть крутым разработчиком, чтобы открыть свою веб-студию,  можно закончить универ и открыть веб-студию, достаточно немного познав веб-разработку и как все это работает, сама система и процесс не сложный, но что в этом хорошего?
      Вот лично я для себя не вижу в этом ничего хорошего, потому что я ответственный человек, я хорошо делаю свою работу, я ее отлично знаю, мне это нравится и это мое самое любимое дело, а что будет если открыть веб-студию?
      Я уже не буду каждый день с утра до вечера писать код, развиваться дальше, обслуживать клиентов выполняя сложные задачи и каждый день отписываться о выполненной работе и т.д., я буду менеджерить задачи, клиентов, искать разработчиков, менеджеров, дизайнера, копирайтера, бухгалтера, почтальона, пожарника, охранника, мониторить все и вся, но не тем, чем я занимался последние годы, всякой фигней в общем, т.е. дело становится нелюбимым, совсем другое развитие (управление, менеджмент, финансы и т.д.), если вы думаете найти всех спецов и все будет хоккейно, увы, это не так, вам, как руководителю придется разгребать все проблемы, во все вникать с головой, особенно в самом начале пути, чтобы платить всем з/п, нужны обороты, чтобы обороты были постоянны и в плюсе, нужно где-то рекламиться, иметь базу клиентов, отдел продажников и т.д., когда тут быть разработчиком я даже не представляю, прощай былая сила и ум, привет новые проблемы и текучка кадров.

      А как вы думаете, кто в вашу веб-студию пойдет работать? Вот я точно не пойду, а кто выше меня тем более, а кто тогда, да тот, кто уровнем ниже, меньше знаний, меньше опыта, тот, кто не хочет ответственности, кто не хочет развиваться, по сути кто вообще  мало что хочет, будет ходить на работу, выполнять свою работу, чаще с натяжкой и пинками, периодически ее прогуливать, просиживать рабочее время в соц.сетях и т.д., исключения конечно есть, но всем нам известно, найти хорошего спеца = на вес золота, я в трех веб-студиях работал и знаю кухню не по наслышке.

      Что я этим хотел сказать, т.к. я имел ввиду разработчика, велика вероятность, что вы просто им перестанете быть, пойдете другой дорогой, зачем терять тот многолетний опыт и навык я не понимаю, когда можно продолжать развиваться в веб-разработке, спокойно каждый день ложиться спать, стабильно и хорошо зарабатывать, чувствовать себя хорошо, быть счастливым.
      Ах да, открою свою веб-студию и буду зарабатывать в разы больше, ну, может быть да, а может быть и нет, сейчас веб-студии закрываются также, как и открываются, поэтому я здесь об этом и пишу, сейчас не те времена, когда получать корочки в универе и устраиваться на работу в офис престижно и высокооплачиваемо, фриланс с каждым годом популярней и престижней, что подтверждают разговоры на уровне президента РФ, каждый год все больше и больше людей уходят на удаленку, все больше и больше студий работает с этими людьми по удаленке, сейчас уже и офис не нужен, сделал себе сайт, купил красивый номер, открыл в браузере биржи фриланса и пошла работа, вот и вся веб-студия, ну можно еще взять одного/двоих на всякий случай, фрилансеры они тоже ребята не надежные. 

      Касательно заработков, не знаю сколько вы будете получать, но если не сильно больше, чем было, например, на фрилансе ваша з/п была 120К, организовав дело ваша з/п стала 180K, вот лично я бы не стал даже браться за это дело из-за такой з/п, может в 300К стоит, а иначе лучше продолжить карьеру на фрилансе, меньше проблем, спокойно спите, продолжаете разиваться и увеличивать зарабтки до 300К.
      Конечно и в этом случае есть смысл в плане с чего-то начать, с тех же 180К например и расти дальше, тут дело в куса, но я бы не стал это делать, не тот возраст, а вот в молодости возможно есть смысл себя познать, попробовать на деле, времени то много, жизнь пока еще кажется большой и даже бесконечной)

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

      Обучение

      Я думаю вариант хороший, почему бы и не поделиться своими знаниями, делиться не так сложно, как их получать, какие будут тут заработки не знаю, но школу свою точно надо будет открывать, преподавание дело очень хорошее, востребованное, стабильные заработки, ты один общаешься с тысячами людей и передаешь им свои знания, конечно, преподавать надо тоже уметь и учиться, ну это не студийный вариант, тут все будет легче + если вы любите детей, это точно ваше!

      Битрикс модули

      Под этим пунктом я имел ввиду вообще что-нибудь коммерческое, это могут быть и OpenCart модули, Wordpress модули, Joomla модули и т.д., что вы можете один раз сделать и хоть всю жизнь продавать и поддерживать.

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

      Можно сделать обычный модуль и заработать на нем на квартиру, а можно сделать такой, что и на коробку конфет своей девушке не наскребешь, да-да, что посеешь, то и пожнешь.

      Дело очень не простое и трудоемкое, я с ними  в основном в свободное от работы время работаю, вечером или на выходных, но часто и в будние дни делаю функционал, вечером стараюсь что-то фиксить или документацию обновлять, мозг вечером уже так не работает, как утром.

      Но, есть куда развиваться, есть/пить так не просят, как сотрудники в веб-студии, один раз сделал, а дальше доработки, фиксы, техподдержка, продажи, реклама, заработок получаешь на основной работе + продажи модулей, уже хорошо, не правда ли?

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

      Заключение

      Лично я смотрю в сторону развития и заработка, мне уже за 30 и до 40 лет надо все свои запланированные дела сделать, чтобы потом не было тяжело и грустно, не сожалеть о том, что мог сделать, но не сделал.

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

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



      UPD 02.04.2016

      Прикрепил набор справочников которыми пользуюсь, постепенно всем буду делиться, еще есть чем, что пропадать зря добру.


      UPD 28.10.2016

      Обновил раздел 4. 1С-Битрикс

        Скачать справочники веб-разработчика: References.zip?dl=0
        Имя *
        Логин (мин. 3 символа)
        E-mail *
        *— обязательные для заполнения поля
        Логин или e-mail
        TUNING-SOFT.RU Разработка умных веб-сервисов