Я более 2-х лет совмещаю основную работу с преподаванием в онлайн-школах и частной практикой. Удивительно, но онлайн-курсы при всей их противоречивости и неоднозначности до сих очень востребованы. Например, последний поток онлай-школы, в которой я сейчас преподаю, стартовал пару месяцев назад и набрал более 30 человек. Заметьте, что это не хайповое тестирование или Go, это базовый курс по старичку С++.
Курсы нельзя однозначно описать "хороший/плохой". Польза от курса напрямую зависит от того, с каким уровнем подготовки студент приходит на курс. На основе моего опыта я бы выделил три категории студентов.
Студент без опыта. Ценность курсов для этих студентов стремится к нулю. Почему? Всё дело в механике курса. Курсы - это бизнес, а бизнес - это время. Большая часть основ С++ (да и любого ЯП) требует очень много времени на осознание, а еще больше на доведение знаний до уровня навыка. В любой курс закладывается время, за которое студент должен пройти этот курс. Попасть в этот график новичку просто не реально. Периодически у студента будут возникать потребность остановиться на какой-то теме и уделить ей чуть больше времени (от недели по пары месяцев, и это вполне нормально). Да, онлайн-школы предлагают дополнительный запас времени на прохождение курса: перевод на другой поток или изучение программы в своем темпе. Увы, в подавляющем большинстве случаев, эти методы работают крайне неэффективно и по своей сути направлены на максимальное отодвигание того момента, когда студент обратится к школе за возвратом денег за курс.
Студент с опытом или уже практикующий разработчик. С категорией "студент с опытом" все понятно: студент прочитал Липмана, написал свой калькулятор и не знает, что делать дальше. "Практикующий разработчик" категория очень объемлющая. Сюда бы я отнес, во-первых, джунов с 1-2 годами опыта и далее по списку:
- разрабы из научных институтов/заводов и прочих гос. учреждений;
- разрабы с опытом на другом ЯП;
- разрабы из маленьких кампаний, работающих на старом стеке и создающие простые или узкоспециализированные продукты.
Т.е. это те разрабы, которые по времени в профессии уже давно не джуны, но имеют либо объективно слабый уровень знаний С++, либо просто отстали от современного стека.
Этой категории студентов курсы будут действительно полезны, потому как за достаточно короткий срок они смогут прокачать свой уровень до актуального на рынке стека.
Middle+ и выше. В этой точке разработчик уже научился получать знания самостоятельно. Но у него по-прежнему будет возникать желание воспользоваться серебряной пулей и за пару месяцев качнуться до архитектора в хайлоаде и параллельно освоить Go. Увы, подавляющее большинство курсов не сможет дать разработчикам уровня middle+ и выше знания в том объеме и в том качестве, которые им нужны.
UPD:
Технические посты тут t.me/neverending_cpp