Заметки 1Сницы

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

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

Как проходит обучение?

На этом курсе я не читаю лекции с теорией, потому что всё (что нужно джуну) написано и записано до меня. Материалов хватает. Это курс, ориентированный именно на практику. Для участия в нём уже нужны базовые знания по 1С (некоторые ребята проходили курсы, кто-то изучал самостоятельно).
В некотором роде идея почерпнута из понятия “flipped classroom” или, по-русски, “перевернутый урок”.

Сначала вспомним, что же такое не “перевернутый”, классический урок?
Это когда стоит учитель у доски и что-то вещает, потом показывает как делать задачу , дает домашнее задание и все его выполняют.

А “перевернутый урок" - это наоборот (поэтому перевернутый) : мы даем тему, учебные материалы. Студенты сами эту тему разбирают и дальше мы приходим на занятия, чтобы практиковаться.
Либо, как в моем случае:
- я снабжаю ребят ссылками / книгами, с указанием куда смотреть
- ребята пытаются сами решить задачи, которые я даю
- и потом мы их разбираем. По части заданий я даю каждому индивидуально обратную связь, другие - разбираем на общих созвонах.

Про мой собственный опыт изучения нового ЯП

Я сама в прошлом году училась на курсе “Анализ данных на Python” в одной из онлайн-школ, которую вы скорее всего знаете. Ничего плохого не могу сказать: я лично получила то, за чем туда шла. Я поняла “куда дальше гуглить” и какую-то обратную связь от преподавателя получала. Но надо учитывать, что я довольно подготовленный и “продвинутый” в плане обучения ученик.
Если бы я так училась программированию с нуля (не важно, на 1С или на Python) - я бы не научилась так ничему.

Как это было?

- нам рассказывают теорию (видео в записи) - ОК.
- дальше у нас вебинары - практики. Преподаватель решает какую-то задачу. Вы смотрите на экране, как он это делает.
- И дальше дает вам задачу на дом, абсолютно идентичную той, которую вы и проходили.
Условно: он написал запрос по количеству проданных стульев , а домой вам дал задание написать запрос по количеству проданных шкафов.

И всё?
Да, один из преподавателей пытался делать некий “интерактив” - давал задачу и несколько минут, чтобы ее решить самостоятельно. А потом, показывал решение. Это уже лучше, бесспорно.
Но лучше - для тех, кто быстро соображает и успевал за это время решить. Если не успел/не понял и тп. - опять же, сидишь, смотришь, как делает препод.
Второй препод, который вел практику - не знаю, делал так или нет. Он так монотонно вещал, что я не стала к нему ходить.

В чем проблема?

  • Вы смотрите, как препод пишет код - и всё классно, вам всё понятно.
  • Дальше вы делаете задание - скопировали код из лекции, оно как-то заработало.
  • Готово. Вы великолепны. 🥳Вам кажется, что вы умеете программировать.
Так и задумано методистами - по итогу каждого занятия ученик должен решить какую-то задачку, получить результат. (даже если “решить” это в кавычках, потому что он просто повторил бездумно за учителем) и почувствовать себя молодцом.

Проблема в том, что умение программировать - не про это. В реальной жизни, когда вы придете на работу, никто вам не будет задачу разжевывать. Да и сама задача будет не на каркасной конфигурации.

И вот - вы классно повторяли за преподом, вы даже написали свою конфигурацию для складского учета.. И приходите на работу. Открываете модуль ERP - а там
...😮🤬🤯😢🥺 Шок, гнев, торг, депрессия, принятие.
Именно такая обычно реакция у моих учеников, когда мы начинаем разбирать реальные задачи из УТ - например, как получить данные о продажах (казалось бы - что тут может быть сложного, правда?)

Кому и зачем нужен практикум?

Иногда спрашивают: "Я уже прошел курс по программированию, возможно, даже получил диплом о переподготовке. Зачем мне еще один курс?"

В реальной жизни всё будет не так, как на курсах. Вам не будут разжевывать задачу.
Вам будут давать задачу и ждать, что вы ее решите. Если вам повезло и вы правильно выбрали компанию для старта работы - будут наставник/старшие коллеги, которые вас направят и подскажут, в каком направлении вам нужно искать решение. Если не повезло и так получилось, что наставника нет - остается поисковик, синтакс-помощник; отладчик; чаты в телеге; форумы и так далее.

Поэтому одно из главных умений программиста - это навык самостоятельного изучения и поиска информации.

Снова отступление про Python
Когда изучала Python - среди прочего я проходила курс на Stepic. Там “живого” ментора нет как такового, процесс построен так:
- ты читаешь теорию
- тебе дают задачу. Она , конечно, по теме теории, но часто есть что-то “сверх”, что нужно самому разобрать / нагуглить.
- и только после того, как задачу ты решил - тебе показывают эталонное решение преподавателя.

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

Зачем же нужен наставник?
Не для того рассказывать теорию и показывать, как решать задачу. Чтобы:
✅задавать путь (дорожную карту, материалы),
✅давать обратную связь (код-ревью в случае программистов),
✅ показывать какие-то приемы, типовые паттерны, которые используются на практике.

2023-11-18 19:18 Программисту