From zero to hero: как запустить школу PHP-программирования внутри компании

Меня зовут Александр Прокопьев, я СТО IT-компании Artjoker, и сегодня хочу поделиться с вами нашим опытом. Он будет полезен всем, кто запускает свою школу внутри IT-компании — берите кейс на вооружение и пользуйтесь рабочим алгоритмом.

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

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

6 шагов к запуску школы программирования

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

Шаг № 1. Определите цели и задачи проекта

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

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

Евгений, наш преподаватель, всегда говорит, что результат Школы — это количество выпущенных студентов, которые стали частью команды IT-компании. Это единственный KPI, который должен стоять перед проектом.

Шаг № 2. Найдите единомышленника и эксперта в обучении

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

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

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

В результате программа курса была разделена на два блока: два месяца основ, которые преподавал Евгений, и 3-й месяц более углубленного профильного обучения по WordPress, где занятия вели сотрудники Artjoker.

Шаг № 3. Организовывайте проект в соответствии с целями

Итак, кто вам понадобится для реализации такого проекта, сохраняйте чек-лист: руководитель подразделения, СТО или СЕО (заказчик со стороны компании), преподаватель, дизайнер, девелопер, HR, 1–2 рекрутера, контент-менеджер, РРС, офис-менеджер с бюджетом «на печеньки».

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

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

Студенты Школы РНР Artjoker

Шаг № 4. Не бойтесь быть требовательными к кандидатам

Дальнейший отбор студентов проходил в два этапа:

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

2. Личные собеседования. По анкетам мы выбрали 25 человек, которых пригласили лично пообщаться в офисе Artjoker. Для удобства рекрутеров собеседования были групповыми, в среднем два часа потребовалось на общение с 5 кандидатами. На этот этап у нас ушли две недели.

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

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

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

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

Шаг № 5. Смиритесь, что не все пойдет по плану

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

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

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

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

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

Но именно такие условия позволили нам выполнить главную цель — взять в команду новых людей.

Шаг № 6. Зафиксируйте результат и найдите точки роста

Несмотря на сложности, с которыми столкнулись студенты нашей школы, результатом мы довольны. Из 15 человек в начале курса аж 4 мы взяли стажироваться в компанию, а значит все они смогли осилить программу, а мы более чем понятно сформулировали запрос как преподавателю, так и студентам.

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

Три плюса в пользу курсов внутри IT-компании

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

Продвигаем бренд работодателя. Наличие своей школы программирования дает здоровенный буст в лице компании для сотрудников. Это крутой репутационный «плюс в карму» бренда работодателя. Если у вас есть IT-школа, возьмите на работу своих студентов, покажите, что школа предоставляет качественное обучение. Прямым неопровержимым фактом этого будет количество офферов от вашей компании студентам.

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

Первые выпускники Школы РНР Artjoker

Второй поток Школы РНР закрепит опыт первого, а после мы планируем запустить школу по JavaScript. Первый блин не вышел комом, и теперь мы совершенствуем новый путь, на который вышла компания — путь обучения и взращивания своих талантов.

👍НравитсяПонравилось2
В избранноеВ избранном1
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

О, мои любимые взывания о «PHP Мёртв» ©
По последним данным dou.ua/...​language-rating-jan-2021
ПЫХ на № 4 месте, тот же Ruby (убийца php в 2013 году) на № 9 меcте, а Go на № 11 месте
P.S.
Но, за последние годы изменения таки есть — все кто хочет побыстрей и попроще встрять в IT — толпами валят в JS, аминь
А это значить, что средний уровень качества проектов на PHP будет расти.

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

Недавно заказчик приличного PHP-миддла не захотел брать Ruby-джуном (Don’t ask me why тот миддл захотел поменять стэк) именно из-за PHP-шного бэкграунда, мол говнокодеры, так что "Панк не умер, он просто так пахнет"©

from hero to subzero

from zero to advanced nullable

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

Из своего опыта преподавания подготовки программистов с нуля, могу дать совет, относительно перегруженности материалами, в начале каждого занятия тратить время на ревижин материалов последнего занятия. 80% обучаемых не на столько быстро усваиваея материалы.

25 человек попали у нас на собеседования, по итогу мы выбрали 15 на курс.
На работу взяли 3-х ребят.

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

Весьма, но кажется сжался до вордпресса и ларавеля.

еще Симфони и И2И вроде как) По крайней мере первый живет

Симфони я отношу к легаси, а И2И я даже не знаю о чем это.

Почему, на Симфе вполне начинают писать новые проекты с нуля. Мне вот пару месяцев назад подсунули счастье в виде Codeigniter, причем первой версии — вот где легаси( Надеюсь, временно, ибо это чудо даже неймспейсы не поддерживает.

Мне вот пару месяцев назад подсунули счастье в виде Codeigniter, причем первой версии — вот где легаси( Надеюсь, временно, ибо это чудо даже неймспейсы не поддерживает.

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

Почему, на Симфе вполне начинают писать новые проекты с нуля.

само собой, но объективно тренд говорит, что вы либо вылавливаете крупную рыбу в пересыхающем пруду(видел шикарные вакансии на рельсы которые никак не могут закрыть) либо вам уже нечего ловить в этом сегменте. insights.stackoverflow.com/...​l,wordpress,ruby-on-rails
Использую тренды стека в качестве статистики чтоб понимать куда ветер дует и по моим ощущениеям очень четко совпадает спрос на рынке с трендами.

YII немного не так на русском написал) Получилось как E2E тесты :D

Скажите это SensioLabs и сообществу, которое во всю пилит 5.4 — symfony.com/releases

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

Умирает. При каждом запросе :D

Вы, видимо, ничего больше не встречали, кроме устаревшего LAMP стека. Давно уже существуют другие runtime: PHP-FPM, который держит N резидентных процессов. А так же ReactPHP на libevent или event loop, на основе которого можно запустить приложение просто как отдельный сервис без модуля (в случае Апача) или того же fpm

По факту имеется ввиду, что софт написанный на PHP не сохраняет состояние между запросами. PHP-FPM — это просто менеджер процессов. Один процесс может обработать N запросов до того как он умрет (согласно настройке pm.max_requests), но это примерно никак не меняет описанную парадигму.

Да, есть новые решения, которые добавляют в PHP «состояние» через импровизированный event loop (напр. ReactPHP) или альтернативный рантайм (напр. RoadRunner, Swoole), но я их в продакшне почти нигде не видел. Никто кроме энтузиастов сейчас не хочет заморачиваться с экосистемой PHP в асинхронном окружении и дебажить один-на-один все старые библиотеки.

На практике чаще просто пишут вспомогательный модуль на Node.JS или Go, если «умирающий» PHP не устраивает в конкретной ситуации.

TLDR: Все правильно он написал.

PHP не сохраняет состояние между запросами

Сам по себе, да, он этого делать не будет. В случае необходимости можно использовать Shmop и APCu расширения.

Заподщу нетленку :-)

Здравствуйте. Меня зовут Вячеслав, мне 22 года и я пхп программист. Я сижу на пхп с 18 лет.

Первый раз я попробовал пхп с другом. Мы сидели, обсуждали веб-технологии и тут он сказал, что недавно пробовал пхп. Он предложил попробовать мне. Поначалу я не согласился, ведь это пхп, я слышал много плохих слухов про него, слышал, что он вызывает зависимость. Но друг настаивал, говорил, что в жизни нужно попробовать все и я сдался. Он предложил бесплатный скрипт, выводящий «Hello world!». Он казался совсем безобидным, но как потом оказалось, я уже не мог остановиться. Уже очень скоро благодаря пхп я попробовал свою первую cms. Это сейчас я понимаю, насколько опасным был этот шаг, но тогда я ничего не понимал, и мне это нравилось. Я не заметил, как после первой испробованной cms, мне уже захотелось написать свою. Дальше было только хуже. Я уже рискнул попробовать кое что потяжелее. Я решил попробовать свой первый фреймворк. Это было прекрасно. Но это была дорога в никуда. На тот момент родственники уже отчаялись мне помочь, а моя девушка узнав, что я использую пхп бросила меня. Я все больше отдалялся от своих друзей и родных, мое окружение составляли такие же пхп-программисты как и я. Мы собирались у одного в квартире, подключались к серверу и совместно программировали, используя пхп и фреймворки. Я попал в этот капкан пхп и теперь не могу самостоятельно избавиться от этого, моя жизнь сломана. Если бы мог вернуться в то время, я бы все исправил, и никогда не купился на эту уловку.

Бідні ці вайтішніки, яким розказують, що РНР — це програмування..

Тим не менш, це програмування. В нього достаньо серйозна ніша, з досить невисоким порогом входу. А тому, зібрати той самий проект на ПХП виходить дешевше, аніж підійматися на більш дорогих по витратах на розробника стеках.

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

Тому не спішіть ховати пеху. Краще б жабаскрипт хтось зарив, створивши значно кращий движок під іншу мову (а чому б і не Java), зберігши JS лише як трансляцію в код іншої мови. Бо JS має серйозні вади, на відміну від PHP, який з 7 версії подолав основні дитячі хвороби.

Бо JS має серйозні вади, на відміну від PHP, який з 7 версії подолав основні дитячі хвороби.

Какие ? Я не придераюсь просто интересно мнение на счет недостатков.

Подписаться на комментарии