Рекомендации для начинающих веб-разработчиков

Что надо знать разработчику, чтобы начать делать сайты под заказ? Перечислю по мере очередности изучения:

  1. Установить несколько CMS и просто посмотреть, что у них есть из коробки. Выбрать одну из них, которая больше всего по душе. На этом этапе, когда ты еще нормальный человек, сделать выбор на основании пользовательского опыта, ведь этим будут пользоваться люди. Честно говоря, многие из них непонятны на первый взгляд. Так что стоит посмотреть какие-то видеообзоры и потратить на знакомтсво более 30 минут времени. Хотя бы 1 день.
  2. Пройти курс по использованию данной системы
  3. Базовый HTML + CSS ( иногда людям достаточно статичных лендингов, а иногда есть заказы чисто на верстку... )
  4. Верстка по сетке + адаптивная верстка (медиа запросы)
  5. 30 CSS селекторов, которые вы должны запомнить, - https://code.tutsplus.com/ru/tutorials/the-30-css-selectors-you-must-memorize--net-16048
  6. https://medium.com/@lucyhackwrench/несколько-неочевидных-фишек-css-о-которых-вы-могли-не-знать-780e7e4876a3
  7. Руководство по оформлению HTML/CSS кода от Google - https://habr.com/ru/post/143452/
  8. Базовый JS + jQuery ( область видимости переменных, манипуляции со строками, манипуляции с DOM, AJAX )
  9. CSS-фреймворк ( Bootstrap )
  10. Методологии верстки ( SMACSS чисто для философии - https://medium.com/@companjero/методология-smacss-e601222cd4eb, БЭМ для использования на практике и то не всегда - https://ru.bem.info/methodology/quick-start/ )
  11. Ознакомиться с CSS-фреймворков своей CMS
  12. CSS-препроцессоры ( SCSS, SASS, LESS можно и пропустить )
  13. Пройти курс по разработке сайтов на данной системе
  14. Пройти курсы по PHP уровень 1 и 2 центра "Специалист"
  15. Научиться искать ошибки - http://phpfaq.ru/debug

Отдельные js-плагины, на которые стоит обратить внимание:

  1. CKeditor (TinyMCE) - ничего лучше просто нету
  2. Owl Carousel ( или Swiper )
  3. Magnific Popup ( или Fancy Box )
  4. Color Picker

Что я рекомендую в плане самообразования, чтобы не перегореть и не работать за хлеб?

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

Нельзя объять необъятное, так что перво-наперво остановитесь на 1 CMS и на одном виде сайтов. Создайте тут типовые пакеты на выполнение задач по 3 сценариям:

1. Старт - чисто создание на основе покупных шаблона и модулей. Никакой SEO - оптимизации. Никаких забот об адативной версий кроме тех, что заложены в самом шаблоне, никаких значительных изменений в дизайне

2. Оптимальный - комбинировать покупные решения со своими доработками. Но в дизайн лучше и здесь все еще не залезать. Больше упора на SEO-ready и наличие маркетинговых инструментов. Опять же, SEO-ready - это лишь наличие функционала. Все! Подбирать ключи или регистрироваться в каталогах - это уже задача SEO-специалиста, пусть нанимают такого. Есть многие компании, которые продают в пакетах прямо кол-во частов кастомизации, а не суть задачи. До такого наверное доходить не стоит, но следует. Тут также можно постараться обеспечить человеку все в одном: клиента заказал у тебя сайт + может заказать логотип. Конечно, рисовать логотип разработчику - дело непротительное. Но можно подружиться с дизайнером, который будет рисовать. Соответственно, дизайнер берет сумму x, а ты берешь за посредничество x+30%. Если же отмазываешься от этого просто формулировкой "дам контакты дизайнера, и Вы с ним все решите", тогда можно и не просить отката. Но, если каждое движение будет проходить через тебя, то ты должен вознаградить себя как менеджера этого проекта, который передает послания по испорченному телефону...

3. Индивидуальный - подразумевает создание сайта по индивидуальному дизайну. И стоит он обычно дорого. Даже не пытайся дизайнерить сам. Просто обратись к дизайнеру и добавь услуги дизайнера в общую смету. Но, не забудь, что тебе все это потом еще верстать - это тоже добавь в смету.

Выполнил 5-10 заказов, можно перейти к следующему этапу

  1. Начните писать собственный модуль для этой CMS - какой-то небольшой для начала.
  2. Напишите собственный шаблон - без навороченных настроек - потому что с большим кол-во настроек цветов - затянется на месяцы. Посмотреть, какие есть бесплатные и повторить.
  3. Прочитать биографию известного программиста, чтобы понимать, что он таким не родился. Биография Стива Джобса сгодится

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

 

Принцип работы и обучения для новичка

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

- Постоянство - признак мастерства

- Нельзя сравнивать свои навыки с теми, кто работает 5 лет. Надо сравнивать себя сегодня с собой 2 месяца назад
"Казаться глупым мудрому не страшно" - Эсхил.

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

 

Какие книги рекомендую прочитать?

- "Основы программирования для чайников", Уоллес Вонг - Чиать не до конца, а только пока интересно. Читать ради того, чтобы в принципе понимать, как строить порядок действий, ведь в книгах по PHP такого не часто описывают. Пропускать практику на Basic. Не впадать в желание изучить компилируемые языки и бросить php :), а то это будет противоречить принципу постоянства.
- "Дизайн привычных вещей", Дональд Норман
- "Запретный маркетинг", Джон Вон Эйкен - важно не загонять себя исключительно в технарские знания. Чередовать более технарские книги с другими, но все же связанными с работой, даже если и косвенно, философски, но не впадать в художественную литературу.
- ".ру/Ководство", Артемий Лебедев (читать онлайн)
- "Стив Джобс", Уолтер Айзексон
- "Код. Тайный язык информатики", Чарльз Петцольд
- "Не заставляйте меня думать", Стив Круг
- "Бизнес со скоростью мысли", Билл Гейтс
- "Теоретический минимум по Computer Science", Владстон Феррейра Фило
- "Найди работу своей мечты", Брайан Трейси

Какие курсы посмотреть новичку?

О программировании

- Хекслет
https://ru.hexlet.io/courses/prog-life?ref=67977
https://ru.hexlet.io/courses/intro_to_git?ref=67977
- Центр "Специалист" - Уровни 1-2 - обязательно. ( эти курсы платные, но существует NoNaMe Club)

Об OpenCart

- http://forum.opencart-russia.ru/threads/soderzhanie.5/
- http://forum.opencart-russia.ru/threads/rukovodstvo-razrabotchika.14/
- https://webdesign-master.ru/_lp/opencart/ - лично я его не досмотрел.

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

Что для командной работы

- Git
- Постановщик задач (Neaktor или др)

 

От чего хочу предостеречь?

Ошибки новичков с наиболее плачевными последствиями

  1. Если ты лезешь в дизайн, то и себе работу тормозишь и клиенту выполнение заказа! Бери готовые дизайны макетов и верстай по ним. Ну да, цвета можно заменять 🙂 Идеальный вариант - вообще работать по шаблонным дизайнам или в смете проекта предусмотреть услуги реального дизайнера
  2. Лезть в SEO-продвижение - себе дороже. Да, поставить счетчики на сайте - это твое дело. Но отвечать за результаты продвижения - нет
  3. Лезть в любые смежные услуги (ведение страниц в соцсетях и их продвижение) или контент-менеджмент сайта. Это должны делать другие люди, которые получат за это отдельную оплату.
  4. Занижать цену
  5. Писать свою CMS с нуля! Этот код никто не захочет поддерживать. И чем больше клиентов у тебя будет, тем больше тебе будут выносить мозг очередные обнаруженные баги или хотелки клиента, которые нельзя закрыть, просто установив модуль или плагин...

 

Насчет php 7.x

Повозитесь с фреймворком Slim (https://slimframework.ru/), пощупайте его, создав какое-то небольшое приложение. А до этого ничего не читайте на Хабре на эту тему.

Мода в программировании

- Предрекали смерть языка C, но 30 лет спустя, он все еще занимает значительную долю
- Критика в адрес php - VS критика div'вита (дивной верстки). Критиковать начинают только тогда, когда придумывают что-то новое. Потом, в этом новом находят кучу багов и критикуют уже и его. А 100% true-инструментов вообще нет.
- PSR, фреймворки, composer, типизация в php7 - а какой от этого толк на сайте, где от силы 100 посещений в день?
- Все ругают WP, но он до сих пор лидирует. И решает конкретные проблемы
- "Если Вы все такие умные, почему богатый я?" - это просто цитата к размышлению.
- Вопрос: Почему не получается изучить модную штуку (Laravel, Angular или что-то еще)? Может быть потому, что нет реальной нужды и мозг защищает тебя от лишней информации?? 🙂
- В программировании нет единственного верного способа сделать что-либо. Мода приходит и проходит. А за поддержку "устаревших" технологий иногда еще и платят побольше 🙂

 

Насчет демпинга (занижение цены на свою работу)

- Хотя ты и новичок, ты все же умеешь делать что-то конкретное. И это не должно стоить дешевле, чем у продвинутого
- Если ты что-то еще не делал, ты можешь так и сказать заказчику. И если он готов к задержке по срокам, то ты можешь поучиться на его проекте.
Но это не значит, что должен работать за хлеб или опыт. Нельзя ставить ценник ниже, чем 70% от базовой цены на рынке!
Соответственно, ты должен знать, какие зарплаты получают твои конкуренты на рынке - смотреть на работных сайтах + там же смотреть и требования, которые предъявляют на реальных работах.
Знать, сколько другие люди берут за подобную работу

 

Насчет умников

- К любой статье на хабре есть куча комментариев с критикой. Не дай бог читать комментарии. Лучше пробуйте описанную технологию, чем убивать время на священные войны
- Программирование - это искусство. Если бы оно было точной наукой - был бы 1-2 языка, 1 CMS-ка, которая решала бы все проблемы. А так есть разница в философских взглядах, и техника может их обеспечить. Да, бывает импрессионизм и кубизм, но это еще не означает, что каждый должен восхищаться этой мазней.

 

Об авторе Serge Tkach

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *