Почему я не занимаюсь репетиторством
Меня часто спрашивают, веду ли я индивидуальные занятия, индивидуальную подготовку к олимпиадам, aka занимаюсь ли я репетиторством. В целом, ответ — нет, не занимаюсь. По следующим причинам.
Низкий КПД моего времени
Во-первых, репетиторство — это очень неэффективное расходование моего времени. В целом на алгопроге я стараюсь максимизировать свой КПД в смысле суммарной нанесенной пользы за единицу моего времени. Репетиторство же подразумевает, что я буду тратить очень много своего времени на то, чтобы научить одного конкретного ученика.
Например, если я репетиторствую, я могу потратить час времени на то, чтобы рассказать ученику динамическое программирование. Скорее всего, после этого он будет весьма неплохо понимать эту тему, но только он один.
Или, если я занимаюсь алгопрогом в том виде, как он есть, я могу потратить тот же час времени на то, чтобы написать текст про ДП, выставить его на notes, после чего его прочитают как минимум несколько десятков учеников алгопрога, а в перспективе — сотни и тысячи людей (например, за последний год суммарное количество просмотров раздела про ДП на notes.algoprog.ru, по данным Яндекс.Метрики — более 6000). Возможно, конечно, что люди, прочитавшие этот текст, не будут столь же хорошо понимать ДП, как если бы я им лично рассказал бы (хотя это спорно), плюс, конечно, конкретно раздел про ДП на notes я писал явно не один час, но в любом случае очевидно, что суммарная польза, суммарные знания, полученные читателями раздела про ДП, намного превышают пользу, потенциально полученную одним учеников, кому я бы рассказал бы индивидуально.
Аналогично, я могу потратить час на то, чтобы одному школьнику объяснять, какие у него есть проблемы в коде, мы можем довольно подробно разобрать ряд его программ и т.д. А могу потратить час на алгопроге на проверку решений (игнорирование/засчитывание работающих решений, комментирование неработающих решений). Я проверяю решения на алгопроге довольно быстро (по приблизительным прикидкам у меня получается в среднем секунд 30 на работающее решение и 1-2 минуты на неработающее) — потому что, во-первых, за счет большого количества учеников на алгопроге я уже узнаю многие проблемы с первого взгляда, не вчитываясь в код, во-вторых, у меня есть большой архив уже подготовленных комментариев по наиболее типичным проблемам, и такие комментарии я могу добавлять в один клик.
Вообще, это отдельная тема — то, что на алгопроге я стараюсь максимально оптимизировать свое время. Я специально разрабатываю алгопрог так, чтобы исключить все ненужные траты времени. У меня есть отдельная страничка проверки решений, после проверки одного решения мне тут же показывается следующее (причем оно заранее в фоне загружается), под решением я вижу последние 20 комментариев по этой задаче, которые можно в один клик подставить в поле комментирования, тут же я вижу список всех посылок школьника по этой задаче и могу их диффать — это все кажется достаточно простым идейно, но, как ни странно, я не видел, в том же ejudge или информатиксе надо делать минимум пару кликов для проверки каждого решения, и ждать на каждом шаге загрузки данных по сети, а уж быстрой подстановки готовых комментариев я нигде не видел, в ejudge есть что-то подобное, но кажется намного менее удобное. В итоге простые задачи типа уровня 1А-1Б я вообще проверяю одно решение за несколько секунд.
Конечно, от каждого конкретного комментария конкретный ученик получает пользы не настолько много, как если бы я индивидуально с ним обсудил бы решение. Но, кажется, суммарная польза от часа моего времени в таком формате получается выше.
В каком-то смысле я просто переношу на учеников часть той работы, которую при индивидуальных занятия выполнял бы я — если при индивидуальных занятиях я бы подробно разжевывал бы все вопросы (что в теории, что в обсуждении решений), то на алгопроге я нередко ограничиваюсь кратким комментарием, предлагая ученикам доосозновать все самим. Это, безусловно, сложнее для учеников и, возможно, не столь для них эффективно, но это позволяет увеличить КПД моего времени, ну и плюс, если ученик действительно хочет стать сильным программистом, то он должен уметь думать и понимать нужные вещи во многом самостоятельно. Ну и, конечно, в любом случае, если ученик что-то не понял, он может всегда спросить меня отдельно.
Еще важный момент — проверять решения на алгопроге я могу в асинхронном режиме, в тот момент, когда мне удобнее, или в те моменты, когда я иначе тратил бы свое время с минимальной пользой — например, я могу проверить пару решений, пока у меня на работе компилируется мой основной рабочий проект. Индивидуальные же занятия требуют согласования времени заранее, я не могу их проводить урывками в те моменты, когда у меня появилась свободная минута времени. (Я очень хотел и хочу найти возможность проверять решения на алгопроге с телефона, чтобы можно было это делать совсем когда угодно, и даже страничка проверки решений у меня адаптирована под мобильные, но все-таки нередко приходится набирать кастомные длинные комментарии, что делать с телефона весьма не удобно.)
Низкий КПД моего времени в случае репетиторства также хорошо виден, если оценить количество учеников. На алгопроге сейчас среднее количество учеников, активных в последний месяц, колеблется примерно в интервале от 50 до 200 в зависимости от сезона (больше всего в октябре-ноябре, меньше всего в апреле-мае). Где-то половина их них занимается достаточно активно, а не просто сдает пару решений в месяц. При этом алгопрог у меня отнимает не очень много времени (где-то порядка 1-1.5 часа в день, т.е. 7-10 часов в неделю). Если бы я репетиторствовал бы, то при трате тех же 7 часов в неделю я бы мог взять максимум 7 учеников, а скорее меньше (потому что все равно будут разные побочные затраты времени, да и вообще заниматься надо чаще, чем раз в неделю) — а 7 учеников — это намного меньше, чем 50-200.
Особенно ярко это все видно при анализе финансовых моментов. Сейчас доход от платных учеников алгопрога (студентов и не-нижегородских школьников) составляет примерно 30-40 тыс. рублей в месяц (это не особо секретная информация, потому что сводные таблицы по студентам и школьникам доступны на алгопроге, а из них можно все примерно вычислить). И это с учетом того, что более половины, а то и более 3/4 учеников алгопрога составляют нижегородские школьники, которые занимаются бесплатно. Для честного анализа можно для простоты исходить из расчета, что нижегородские школьники мне тоже могли бы приносить те же 30-40 тыс. рублей в месяц, если бы я сделал занятия платными (а то и больше, если их 3/4, а не 1/2), т.е. общий доход от алгопрога получается 60-80 тыс. рублей в месяц (а то и больше). И это при трате 7-10 часов в неделю, т.е. 30-40 часов в месяц. Т.е. получается, что стоимость часа моей работы на алгопроге составляет около 2000 рублей (а то и больше), что для репетиторства, в общем-то, заметно выше среднего. И это при том, что на алгопрог, как я писал выше, я часто трачу самое «мусорное» время, когда мне и так нечего делать; мне не нужно находить 7 слотов в неделю по часу подряд. При этом я понимаю, что доход от алгопрога в расчете на час вполне можно увеличивать разными способами, плюс стоимость занятий на алгопроге сейчас сравнительно небольшая (2000 рублей в месяц), а доход от репетиторства, кажется, сильно не увеличишь.
Низкое матожидание максимального результата
Вторая вещь, которую я стараюсь оптимизировать на алгопроге — это максимальный результат моих учеников (будь то на олимпиадах или в реальной жизни), ну или, допустим, топ-10 результатов. Я ориентирую алгопрог на сильных школьников, мой интерес — готовить олимпиадников и программистов достаточно высокого уровня. Конечно, на алгопроге занимаются и «середнячки» и слабые школьники, я им этого не запрещаю, и по возможности, конечно, помогаю, но все-таки основная моя цель — сильные ученики.
И в этом плане понятно, что чем больше будет учеников на алгопроге, тем больше матожидание максимума по их силе. При индивидуальных занятиях я могу взять, как описано выше, около 7 учеников. Ясно, что далеко не каждый из них, чисто по своим изначальным талантам, сможет выступать на олимпиадах высокого уровня, хотя бы становиться призером областной олимпиады. (Ну или, возможно, со слабыми школьниками надо отдельно и специально заниматься, чего я не умею.) Когда же на алгопроге занимаются те 50-200 школьников, понятно, что из них довольно многие будут заниматься уже на довольно высоком уровне.
Тем более эти соображения справедливы, если мы говорим не про лучший результат среди учеников, а, допустим, про топ-10 результатов. Последние годы примерно половина участников областной олимпиады в Нижегородской области (т.е. около 20 человек) — ученики алгопрога, из них минимум 10 — те, кто активно занимался на алгопроге, для кого алгопрог — основное место занятий программированием. Если бы я был репетитором, то такого результата добиться было бы в принципе невозможно, потому что у меня общее количество учеников было бы максимум 7-10.
Более того, сейчас на алгопроге нет никаких вступительных тестов и т.п., заниматься могут все желающие, и начинать заниматься можно в любой момент. Для индивидуальных занятий придется либо учить, условно говоря, кого попало (ну и уровень будет соответствующий), либо как-то отбирать школьников, что сразу создает кучу проблем — не особо понятно, по каким именно критериям отбирать, это сразу требует введения каких-то фиксированных дат «начала нового набора», и т.д.
В этом контексте есть еще один момент. Чтобы добиться высоких результатов, надо заниматься хотя бы несколько лет. Понятно, что далеко не все школьники способны на такое; очень грубо говоря, из 200 школьников, записавшихся осенью на занятия на алгопроге, примерно сотня отпадает через месяц, еще 50 отпадают в течение года, оставшиеся 50 активно занимаются до конца года, но даже из них, допустим, только человек 40 продолжают в следующем году, и до конца следующего года доходят человек 20; а в основном только у них в принципе возможны высокие результаты. (Конечно, к этим 20 надо добавить еще тех, кто начинал заниматься в более ранние годы.) Если бы я репетиторствовал, то даже если я в начале года набрал 10 человек, на следующий год из них хорошо если останутся пятеро…
Взаимоотношения с родителями/заказчиками
Еще одно отличие репетиторства от алгопрога (ну и от любых групповых занятий в целом), как мне представляется — это то, что в случае репетиторства, кажется, существенно смещаются акценты в ожиданиях от преподавателя со стороны заказчиков — в большинстве случаев это будут родители, — и в целом репетитор намного больше взаимодействует с родителями учеников, чем я сейчас на алгопроге.
Ожидания от индивидуальных занятий — естественно, повышение результатов конкретного школьника. На алгопроге я могу сказать, что мои занятия ориентированы на сильных школьников, мол вы можете попробовать заниматься, если пойдет, то хорошо, нет значит нет (особенно часто это касается школьников сравнительно младших классов), на репетиторстве такой фокус не прокатит. На алгопроге я могу сказать/решить, что тот или иной ученик — слабый, или неорганизованный, не самостоятельный, не занимается, и т.д. — ну и соответственно ладно, пусть занимается как занимается, мне не жалко, но я не обязан его тянуть. Показатель результата алгопрога, ну и, наверное, более-менее любых групповых занятий — это результаты топовых, ну или середнячковых учеников, ну или «костяка». В репетиторстве так не получится.
(Предыдущий абзац может показаться грубым, и, конечно, многие преподаватели различных групповых занятий часто говорят об индивидуальном подходе, ну и, естественно, и я тоже стараюсь в определенных пределах подстраивать свой подход под конкретного ученика, но в целом — да, особенно с учетом предыдущего раздела, мои занятия — они для сравнительно сильных школьников, слабые школьники могут заниматься, и я им в пределах возможности буду помогать, но все-таки акцент я делаю не на них.)
В целом, я не могу гарантировать высоких результатов никакого конкретного отдельно взятого школьника — во-первых, потому что это зависит не только от меня, но и от самого школьника, во-вторых, потому что да, не к каждому школьнику я смогу найти подход, я вообще не очень понимаю, как учить слабых школьников (да и нужно ли их вообще учить). А от индивидуальных занятий обычно ожидают именно индивидуальных результатов.
Плюс тут еще есть важный момент. Есть школьники, которые сами не особо хотят заниматься, но их заставляют родители. На мой взгляд это далеко неправильно, но лезть в отношения школьников с родителями я, безусловно, не хочу и не имею права. На алгопроге такие бывают, я не особо на этот счет напрягаюсь, обычно они отваливаются через какое-то время. Но если говорить про репетиторство, то вообще непонятно, что с такими школьниками делать. Более того, если на алгопрог школьник обычно приходит так или иначе сам (хотя бы регистрироваться на сайте надо все-таки обычно самому), то репетитора зачастую ищут родители.
(Вообще, в рамках алгопрога я на удивление очень мало взаимодействую с родителями школьников, у большинства школьников родители никак вообще со мной не контактируют. В целом, я считаю что это хорошо, потому что это свидетельствует об определенной самостоятельности школьников, что очень полезно, но порой такая пассивность родителей меня несколько удивляет.)
Платность
Отдельный момент — что репетиторство по смыслу требует достаточно большой оплаты со стороны школьников, точнее, их родителей. В целом я верю в то, что образование по возможности должно быть доступным для школьников независимо от доходов их родителей; более того, талант и сила школьников не особо коррелируют с доходом их родителей (если не сказать, что возможна отрицательная корреляция). Это одна из причин, почему занятия для нижегородских школьников у меня бесплатны, а для не-нижегородских младшеклассников есть существенные скидки. В рамках репетиторства, конечно, ничего подобного реализовать не представляется возможным. Ну и даже базовая стоимость занятий на алгопроге меньше, чем стоимость репетитора.
Общая осмысленность репетиторства для сильных школьников
Наконец, в целом я не думаю, что сильным школьникам реально нужны репетиторы. Чтобы добиться высоких результатов, недостаточно хорошего преподавателя, нужны некоторые базовые навыки, таланты самого школьника — в частности, необходима способность самостоятельно мыслить (да и вообще самостоятельность в целом), умение быстро понимать новый материал, придумывать нетривиальные идеи, догадываться до новых решений, додумывать те или иные моменты и т.д. Но если школьник обладает такими качествами, то ему не нужен репетитор, разжевывающий весь материал. Репетиторство больше нужно слабым школьникам, но слабые школьники, даже с репетитором, высоких результатов не достигнут.
А сильным школьникам скорее нужен преподаватель/тренер/наставник, который будет его направлять в нужную сторону, разъяснять те моменты, которые школьник не понял, давать какие-то общие подсказки и т.д. — но это все вполне реализуется и без индивидуальных занятий. Собственно, я и стараюсь быть таким преподавателем. Я всегда рад обсудить вопросы, возникающие у учеников, особенно у сильных учеников, в индивидуальном порядке, не в формате отдельных регулярных занятий, но, например, на очных занятиях, или в переписке и т.д. Возможно, у меня это не всегда хорошо получается, вообще, мне кажется, что это основная на данный момент слабость системы алгопрога — что с сильным школьниками надо более плотно и в более индивидуальном порядке заниматься — поэтому я стараюсь тут что-то придумать — но это точно должно быть не репетиторство.
В частности, от репетиторов и в целом обычно ожидания соответствуют занятиям со слабыми школьниками. Некоторое время у меня был профиль на Яндекс.Услугах в разделе репетиторов, с описанием курса и формата занятий — ни один толковый школьник не пришел через этот канал, а вот звонки типа «подготовьте сыночка к поступлению в политех» или «напишите за меня курсовую» были довольно регулярно.
`` * * *
Но в целом, репетиторство не есть что-то, чем я не буду заниматься по принципиальным соображениям. Если кто-то мне предложит очень большие деньги за репетиторство, то это можно было бы обсуждать. Но я не верю в возможность этого, т.к. это должны быть действительно большие деньги, а тогда совершенно неочевидно, что от занятий будет прок, оправдывающий эти большие деньги. Толкового репетитора можно найти и за существенно меньшие деньги, чем я буду просить.
Мой курс по алгоритмическому программированию (и подготовке к олимпиадам) для школьников, студентов и всех желающих — algoprog.ru