Какие бывают разработчики и откуда они берутся

Новичок: прочитал руководство по HTML

Начинающий: поработал с фотошопом, посмотрел видео, сверстал кривой сайт.

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

Эксперт: восхитительно решает типовые задачи, придумывает новые «фишки», становится гуру.

Инженер: решает не типовые задачи, а новые. Инженерное мышление — это суровая математика с мастерством computer science. И этому уже самому вряд ли научишься: нужно «апгрейдить» себя в вузе несколько лет.

Соотношение

Обычно инженеров в любой индустрии меньше, чем простых рабочих. И в IT все обстоит точно так же: людей с инструментарием в виде высокоуровневых математических абстракций около 10%, а стандартных разработчиков — 90%.

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

Где готовят?

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

А что же с рабочими? В вузах их не готовят. В школах ребят готовят к ЕГЭ. Так что профессионалы рабочего уровня в таком количестве берутся из-за… самообучения. Это самый массовый канал создания разработчиков.

Как передавать знания

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

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

Второй шаг: учебный проект, который неотличим от настоящего. Например, у нас есть живой макет сайта барбершопа. За последние несколько лет мне писали несколько барбершопов с предложением о сотрудничестве.

Третий шаг: попытка писать код. На конференциях не получится, а на курсах в системе пошаговой демонстрации с этим проще. Можно проиграть все промежуточные состояния, верстку сложных элементов и итог.

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

На платформе «Открытое образование» для Университета ИТМО мы делали курс веб-программирования. Ученик получает макеты, верстает, загружает результат в систему, а система проверяет, правильно ли сверстан макет. Сравнение идет в нескольких режимах. Качество не проверить, но умение решать типовую задачу получается отлично.

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