Обучающий видеокурс от Дмитрия Афанасьева:

Практическое изучение языка PHP

Внимание!

Информация ниже перевернет ваше представление о том, как Профессиональные разработчики строят свое обучение

ОТ:
  • Дмитрия Афанасьева

КОМУ:
  • Всем, кто хочет создать улучшить свои навыки в программировании на PHP
  • Всем, кто хочет стать успешным, хорошо оплачиваемым разработчиком
  • Всем, кто готовится к собеседованию

Дорогой читатель,

Меня зовут Дмитрий. C 2000 года работаю программистом. Начинал с Delphi + MsSQL Server и сейчас занимаюсь веб-разработкой на PHP. На программиста обучался в Университете (Прикладная математика и информатика). Но, как вы и сами знаете, большая часть знаний приобретается при самообучении и непосредственно в работе над проектами.


Буквально все разработчики проходят один и тот же путь и наступают на одни и те же грабли во время самообучения. Происходит подобное от того что:

developer weariness
  • Нет четкого представления кем же они хотят стать;
  • Нет систематизированных курсов по обучению;
  • Нет достаточной мотивации;
  • Слишком много обрывочной информации, которая больше путает чем обучает;

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


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

4 причины для веб-разработчиков, почему ВАЖНО всесторонне развивать свои знания и нарабатывать навыки

1. Умение быстро решать поставленные задачи.

Если вы усвоили базовые знания языка, но опыта в разработке у вас мало, то большинство задач вы будете решать медленно, и зачастую переписывать свой собственный код

2. Умение находить оптимальные решения задач.

Как показывает и опыт и наблюдения - junior-ы если и решают поставленные задачи, то зачастую их решения совсем не оптимальны.

Код не оптимизирован и пути решения не оптимальны. Практически любую задачу можно решить очень разными способами, можно 20-ю строками кода, а можно и двумя строками кода. Это напрямую зависит от опыта человека и наработанных навыков

3. Успешное прохождение собеседований.

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

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

И тем не менее серьезные работодатели подходят к собеседованию тоже серьезно - спрашивать вас будут по разным областям программирования. И если опыт у вас не большой (одна компания либо просто фриланс). То собеседование вы провалите ибо 100%-ая гарантия того что круг выполненных задач у вас был очень узок.

(Бывают и такие реакции молодых соискателей - "Ого, и такое есть?!; А это еще зачем - впервые слышу!;" и тп)

4. Сертифицирование знаний.

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

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

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

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

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

  • Регулярно работать над собой - Работа в одной компании, над парой проектов дадут вам лишь узконаправленные знания.
  • Систематически решать логические задачи широкого характера.
  • Не останавливаться на достигнутом и всегда искать что-то новое.

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


Тут же выясняется что оказывается технологии не стоят на месте и требования к соискателю уже совсем не те что были ранее. Разработчик успешно работал в своей компании, работал над определенными проектами и все его устраивало. Но любой проект накладывает определенные ограничения в технологиях. И если проект растягивается на много лет (разработка, доработка, поддержка и тд), то разработчики которые постоянно работают с ним остаются "в прошлом", в старых технологиях.

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


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

Представляем видеокурс:
PHP для начинающих - решение задач

Видеокурс Практическое изучение языка PHP

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

Данный курс заложит первый кирпичек в основание ваших практических навыков. Научит вас более мудро подходить к задачам и находить решение гораздо быстрее.
  • Цель курса - познакомить ученика с задачами которые встречаются на собеседованиях и аттестациях
  • Цель курса - подготовить ученика к задачам встречаемых в реальных проектах
  • Курс научит вас правильно подходить к решению задач программирования
  • Практичесик любую задачу можно решить множеством способов - курс научит находить более оптимальное решение
  • В курсе нет лишней информации. Все рассмотренные задачи либо из реальных проектов либо из реальных собеседований и аттестаций
  • Обучение происходит на реальных примерах и как правило показаны несколько вариантов решения
  • Цель курса научить ученика не идти на поводу, а научиться мыслить шире и самостоятельно находить решения

Содержание видеокурса

  • Вступление Из этого видео вы узнаете каким образом более оптимально следует проходить обучение (не только данного конкретного курса, а в целом). В видео я расскажу как люди обучаются с низким КПД, почему это происходит.

    И расскажу как строить обучение с высоким КПД - то есть как за минимальные сроки получить максимальный объем заний и умений. Выделю ряд правил, придерживаясь которых, вы в разы улучшите свои способности к обучению.
  • Подготовка Приготовление рабочей площадки.
  • Режем мыло Задача на знания языка. Встречалась в реальном собеседовании. Сложность низкая (junior).
    Так же изучим фильтрацию данных и генерацию исключений.
  • Уменьшая строки Задача-головоломка на знания языка и умение находить оптимальные решения.
    Так же встречалась в реальном собеседовании. Сложность средняя.
  • Все седьмые Задача-головоломка на знания языка и умение находить оптимальные решения.
    При решении можно обойтись базовыми знаниями языка, но потребуется логика. Задача больше с упором на логическое мышление.
  • Мегапассворд Задача-головоломка на знания языка и умение находить оптимальные решения.
    Генерация паролей. При решении можно обойтись базовыми знаниями языка, но потребуется логика. Задача больше с упором на логическое мышление.
  • Массивы тоже данные Задача на знания языка. Встречалась в реальном собеседовании. Сложность низкая (junior).
    Умение быстро находить решения при работе с массивами.
  • Максимус Рекурсивус Работа с массивами. И на знание языка и на логику. Рассмотрим два варианта решения - более лаконичный - то как бы решил задачу опытный разработчик. И менее лаконичный - то как решил бы задачу начинающий.
  • XML дата парсинг Пример из реального собеседования. Парсим XML документ.
  • Обратная сторона массива Задача на работу с массивами. Здесь и знания языка, и логика и опыт работы.
    Рассмотрим три варианта решения одной задачи. Разберем плюсы и минусы каждого варианта.
  • Рэндом, брат Корвина Работаем со случайными числами. Минимум знаний языка - больше логики. Подобные задачи любят давать на собеседованиях.
  • Большие, но по пять Задача исключительно на логику. Рассматриваем два варианта решения. Решение "вЛоб" и решение "аЕслиПодумать?". То есть как бы решил начинающий и как бы решил опытный. По таким задачам на собеседованих и определяют реальный опыт, а не тот что в трудовой.
  • Проверяйте номера Пожалуй наиболее сложная задача из всего курса. Из реального собеседования. Знания языка, логика, регулярные выражения.