Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Об верхнее образование инженеров-программистов в 2018 году

Типичным примером образовательного roadmap в программировании служат карты CyberBionic Systematics по обучению технологиям программирования (https://edu.cbsystematics.com/ru/education/roadmap), это типичная "схема метро", я люблю рисовать такие на своих тренингах. Вот одна из них, для .NET developer (но есть аналогичная схема и для Java и PHP):
metrocourses
Но, конечно, такой roadmap не должен быть деревом. Обычно это граф, из которого просто выдирают деревья "для удобства показа". То, что в оригинале приведено два разных дерева (для .Net варианта и для Java варианта) это хорошо показывает.

В плане образования тут непонятно: учат быдлокодеров, или инженеров-программистов. То, что дают знание технологий, это очевидно -- но знание только технологий как раз и отличает быдлокодеров от инженеров. Быдлокодеры знают только быстроменяющиеся технологии (вот матрица компетентности для Mobile Device-Developer из приведённой матрицы. Она в CyberBionic Systematics есть, 2013 года -- https://edu.cbsystematics.com/ru/education/matrix/mobiledeveloper. Ничего с тех пор не изменилось?! Прошло пять лет, как раз типичный срок изменения поколения технологий в IT. Но дело даже не в устаревании технологий, а в отсутствии дисциплин в программе подготовки).

Инженеры, в отличие от быдлокодеров знают и медленно меняющиеся дисциплины: как дисциплины computer science (алгоритмика, парадигмы программирования, формализмы работы с данными и т.п.), так и дисциплины системной инженерии (инженерии требований, включая практики типа JTBD https://medium.com/@buldakova/что-такое-jobs-to-be-done-и-job-stories-4c57c1dc84cf , инженерии системной архитектуры, включая практики типа DSM http://www.dsmweb.org/, и т.п.). А ещё у инженеров нормальное базовое образование: они получили необходимые фитнесы, от онтологики и системного мышления до беглого владения английским (мой заход на эту проблему я наметил тут: https://ailev.livejournal.com/1410541.html).

Вот сравните с тем roadmap верхнего образования инженеров-программистов, который я готовил в 2011 году, там как раз упор на базовое образование (уж как я его понимал 7 лет назад): https://ailev.livejournal.com/937201.html. С тех пор моё понимание сильно продвинулось, в том числе и в самом понимании предмета информатики (http://ailev.livejournal.com/1008054.html), плюс заход на системную информатику как в http://ailev.livejournal.com/1280626.html (и там внутри ссылки на другие тексты этой серии), плюс произошедшие изменения в связи с развитием embedded DSL (например, инженерное моделирование идёт по этой линии: https://ailev.livejournal.com/1366789.html и оно требует ещё и хорошего развития онтологики -- см. линию рассуждений https://ailev.livejournal.com/1265432.html), плюс понимание, что в самом предмете информатики всё больше начинают работать методы машинного обучения: жизнь крутейшим образом изменилась в связи с успехами машинного обучения в целом и deep learning в частности, исчезли традиционные представления о соотношении "программирования" (на формальных языках) и "моделирования" (на формальных языках, но и включая вероятностные языки программирования и коннективистские модели -- https://ailev.livejournal.com/1384180.html, https://ailev.livejournal.com/1310114.html).

Современная информатика стремительно выходит на моделирование мышления как таковое, фронтир сегодня -- методы синтеза символистских и коннективистских вычислений (пример -- $125млн., на этой неделе отданных на проект Alexandria, http://allenai.org/alexandria/, следующая инкарнация идей Cyc по созданию баз знаний здравого смысла/common sense, но в связке с машинным обучением). Знакомить ли инженеров-программистов с этой современной информатикой и инженерией на фронтире (state-of-the-art), заботиться ли их фитнесом в рамках программ личного развития, Java (вариант: .NET) в зубы и пусть веб-быдлокодят? Вот это основной вопрос, на который нужно ответить, строя программу образования для программистов.

И вдобавок ко всему программирование сегодня -- это просто набор компетенций, это нельзя считать "профессией", см. мой текст "Закат профессий": http://erazvitie.org/article/zakat_professij

Так что вполне можно думать о "факультете информатики" в рамках подхода из поста со схемой ближайшего развития курсов Школы https://ailev.livejournal.com/1410541.html и доклада "за пределами инженерии и менеджмента" (https://ailev.livejournal.com/1411106.html) с учётом того, что это всё не выходит за пределы инженерии. Но только думать. Увы, пока времени заняться этим направлением вплотную не получится.
* * *
Это просто я чуть более пространно ответил на заданный мне сегодня в комментах вопрос "появилось ли что нового в моих мыслях про верхнее образование инженеров-программистов по сравнению с постом 2011 года https://ailev.livejournal.com/937201.html".
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 8 comments