Получи случайную криптовалюту за регистрацию!

Понедельничное утро! Тут подвезли довольно неожиданное исслед | WTF_HR

Понедельничное утро!

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

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

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

Во всяком случае, так пишут в подзаголовках сенсационных статей.
На деле же все немного сложнее, потому что мерили сразу несколько вещей, среди которых была скорость изучения языка, точность выполнения задач по программированию и т.д.
На скорость изучения Питона действительно очень серьезно влияют способности к изучению естественных языков, но вот на качество выполнения разработческих задач уже больше всего влияет общая развитость когнитивных функций (которую можно также назвать «навыки решения проблем»).

Вдвоем эти две черты объясняют от 50% до 70% процентов того, как быстро и качественно (или, соответственно, медленно и плохо) человек учится программировать на Питоне.
Но главная новость не в этом – она в том, что математические способности при этом объясняют всего 2% разницы между тем, насколько хорошо или плохо студенты осваивали язык и программировали на нем.

Надо сказать, что подобные исследования проводятся десятки лет, и раньше способности к языку такого высокого влияния на изучение языков программирования не имели – видимо, потому что раньше языки программирования были дальше от человеческого языка.
Но интересно, что с появлением профессии промпт-инженера эта тенденция многократно усилится – и лучшими программистами окончательно станут не те, кто способен вычислить в уме интеграл, а те, кто способен грамотно сформулировать задачу и иметь даже некоторую «речевую интуицию» и простихосспади «эмпатию» в сторону ИИ (опять привет Филипп Дик и его андроиды с электроовцами).

Все это на самом деле не означает ни крах STEM-образования, ни даже отсутствие необходимости в математической подготовке, причем особенно в наших широтах. В силу вещей, в которые мы углубляться не будем, в России гуманитарное образование и способность решать проблемы (а именно она является основным предиктором качественного выполнения программистских задач) – это две большие разницы, или четыре маленьких.
А вот вводить спецкурсы по лингвистике на STEM-факультетах, а заодно учить математиков и физиков логике и философии – идея не просто хорошая. В ближайшем будущем она, вполне возможно, позволит им сохранить карьерные перспективы.

Хорошей недели!