Зачем программисту высшее образование
Feb. 9th, 2011 11:52 amВот тут
zabivator пишет о том, что надо бы читать в вузах для программистов. Я с этим категорически не согласен.
Оставим в стороне количество известных мне квалифицированных программистов без формального высшего образования. Вернемся к сути.
Вообще высшее образование предназначено для формирования у человека картины мира, более детальной в области дальнейшей специализации. На которой ему предстоит выращивать свои навыки, в том числе и трудовые. Еще одна задача высшего образования - умение работать с информацией (ага, на моей памяти три метода поиска помню, и не факт, что через пару лет не появится какой-нибудь новый).
Так вот, перечисленные Олегом вещи - это не куски картины мира. Навыки чтения и написания email - в чистом виде делопроизводство, уж простите. Курсы секретарей, 3 месяца без отрыва от труда. Task management - тоже где-то рядом на самом деле. Нужны не программистам, а каждому экземпляру офисного планктона. Да, способы работы с электронной почтой можно еще немного с психологией увязать, но тоже не в вузовском объеме.
А первые 2 пункта - про Release management и QA - более-менее IT-специфичные навыки. Но - проблема в том, что они не научные, а ремесленные. В лучшем случае - инженерные. Computer science там внутри тоже есть - в алгоритмах слияния изменений, например. Но этому учить надо явно не всех программистов. Как не всех надо учить лингвистике, но всех - правилам про жи-/ши.
На самом деле программирование - не отрасль математики. И не надо впустую тратить силы на подготовку программистов в ВУЗах. Готовить их (нас) по большей части надо в техникумах. Вбивая навыки ремесла: комментарии, автотесты, выравнивание кода, говорящие названия переменных - как вбивают технику безопасности работы на токарном станке.
Оставим в стороне количество известных мне квалифицированных программистов без формального высшего образования. Вернемся к сути.
Вообще высшее образование предназначено для формирования у человека картины мира, более детальной в области дальнейшей специализации. На которой ему предстоит выращивать свои навыки, в том числе и трудовые. Еще одна задача высшего образования - умение работать с информацией (ага, на моей памяти три метода поиска помню, и не факт, что через пару лет не появится какой-нибудь новый).
Так вот, перечисленные Олегом вещи - это не куски картины мира. Навыки чтения и написания email - в чистом виде делопроизводство, уж простите. Курсы секретарей, 3 месяца без отрыва от труда. Task management - тоже где-то рядом на самом деле. Нужны не программистам, а каждому экземпляру офисного планктона. Да, способы работы с электронной почтой можно еще немного с психологией увязать, но тоже не в вузовском объеме.
А первые 2 пункта - про Release management и QA - более-менее IT-специфичные навыки. Но - проблема в том, что они не научные, а ремесленные. В лучшем случае - инженерные. Computer science там внутри тоже есть - в алгоритмах слияния изменений, например. Но этому учить надо явно не всех программистов. Как не всех надо учить лингвистике, но всех - правилам про жи-/ши.
На самом деле программирование - не отрасль математики. И не надо впустую тратить силы на подготовку программистов в ВУЗах. Готовить их (нас) по большей части надо в техникумах. Вбивая навыки ремесла: комментарии, автотесты, выравнивание кода, говорящие названия переменных - как вбивают технику безопасности работы на токарном станке.
no subject
Date: 2011-02-10 11:50 am (UTC)Дискретка, видимо, включает графы?
Теория множеств - понимаю, РСУБД из нее растут. Логика - понимаю.
Остальное напрямую применяется только в специфичных областях (общая алгебра - в криптографии, линейная - в геймдизайне, матан ни разу не потребовался). Этот набор - для математической эрудиции или для чего? У меня сложилось впечатление, что связь математики и программирования сильно преувеличена.
no subject
Date: 2011-02-10 12:34 pm (UTC)Алгебра и функциональный анализ - вообще в теории алгоритмов, не только в криптографии. Криптография - частный случай.
Математический анализ - пожалуй, в применении к численному моделированию. Задачи распознавания/обработки изображений, например, без знания математического анализа просто не решаются.
У меня, кстати, не математический анализ в списке был указан, а функциональный анализ. Тоже используется в разных алгоритмах, и гораздо чаще, чем математический анализ.