Зачем программисту высшее образование
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-09 09:04 am (UTC)Насчёт в/о - никогда не сомневалась, что оно у тебя качественное. Из тех же соображений до сих пор не могу понять необходимость журфаков. В разы больше помогает качественное образование в любой сфере + многолетняя практика. иначе выходит пустышка, пишущая о том, как за московскими дворниками следят спутники.
Ну и уже занудство. ВУЗ есть военное учебное заведение, высшее учебное заведение пишется как вуз. Хотя ряд справочников таки допускает писать аббревиатуру заглавными.
no subject
Date: 2011-02-09 09:07 am (UTC)no subject
Date: 2011-02-09 09:08 am (UTC)no subject
Date: 2011-02-09 12:59 pm (UTC)no subject
Date: 2011-02-09 01:09 pm (UTC)no subject
Date: 2011-02-09 09:59 am (UTC)no subject
Date: 2011-02-09 09:10 am (UTC)no subject
Date: 2011-02-09 10:03 am (UTC)no subject
Date: 2011-02-09 10:05 am (UTC)Та же самая работа с базами данных - то что сойдет для сайта-магазина с 15 категориями и 15000 позиций товаров, не сойдет для "Озона". То, что сойдет для "Озона", не сойдет для какого-нибудь побочного проекта Яндекса.
no subject
Date: 2011-02-09 10:13 am (UTC)Без практики думалка ноль, это факт. Но и практика без думалки тоже. А систему таки дают в вузе.
no subject
Date: 2011-02-09 09:13 am (UTC)no subject
Date: 2011-02-09 09:18 am (UTC)Особенно - с учетом того, сколько времени потрачено мной на ремесленно-некачественный код любимых коллег в разных лавках.
Хотя выкидывать нафиг мне доводилось именно грамотный с точки зрения "научной" объектно-ориентированный код. За неподдерживаемостью ремесленной.
no subject
Date: 2011-02-09 09:25 am (UTC)Поэтому нельзя научить человека рисовать изолинии, не заставив его предварительно побегать по этому самому рельефу с рейкой, нельзя научить классифицировать почвы, не научив предварительно их копать и не дав попробовать как втыкается лопата с одной стороны в иллювилаьный горизонт подзола, а с другой - в типичный солончак.
В программировании то же самое. Есть вещи, которые надо чувствовать на собственной шкуре. И только тогда и таким образом будет усвоена соответствующая абстракция.
no subject
Date: 2011-02-09 09:29 am (UTC)Собственно, я согласен с Ниной про высшее образование через пару лет практики. Только я бы это называл скорее курсами переподготовки или повышения квалификации.
no subject
Date: 2011-02-09 09:34 am (UTC)А с рейкой бегать на производстве можно первого попавшегося бича нанять. Даже трехмесячных секретарских курсов не понадобится. Главное чтобы знал с какой стороны у рейки верх. Но это в него той же рейкой вбивается в течение двух часов.
С программированием как раз большая проблема именно в том, что в нем есть потребность в людях с квалификацией ниже инженерной, ниже даже техникумовской, но выше общеобразовательной. Тут нужно что-то делать в области инструментальных средств, чтобы все задачи ради которых сейчас нанимают кодера, поделились на два класса - одну чтобы нечувствительно сделал сам пользователь, вторую - чтобы программист-инженер или хотя бы техник сделал быстрее, чем он сейчас это кодеру объясняет.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-02-09 09:25 pm (UTC)ВМиК МГУ (3 человека)
Мехмат МГУ (2 человека)
РК МВТУ им. Баумана (3 человека)
Факультет кибернетики МИФИ (1 человек - это скорее счастливое исключение, чем правило, и факультет теоретической и экспериментальной физики МИФИ (3 человека - это скорее правило, чем исключение).
ФУПМ МФТИ (1 человек) и ФАЛТ МФТИ (1 человек).
Но - увы, никак не техникум.
На самом деле, именно основам, которые позволяют освоить профессию и неплохо писать на C++, дают в любой приличной физматшколе (в порядке углубленности проф. подготовки программиста номера будут располагаться примерно так: 18-я, 179-я, 91-я, 2-я, 57-я).
Без чего принципиально невозможен действительно хороший программист?
Без следующих дисциплин:
Теория множеств
Дискретная математика и математическая логика
Алгебра и функциональный анализ
Теория вероятностей
Где-то третий курс ВМиК и Мехмата, соответственно. Основы (т.е. первые два курса Мехмата) - это любая приличная физматшкола. Лично мне из приличных больше всего нравится 179-я: у них широкий естественнонаучный кругозор, и они легче ориентируются в окружающем пространстве.
no subject
Date: 2011-02-10 07:00 am (UTC)МГУ - Мехмат 1, Географический 1. ВМК-шников убедительных не встречал.
Бауманка - 2
Неоконченное высшее - минимум 2
МИЭМ - 2, считая меня.
Понятно, что с Физтеха должно быть много, но в мои сети они не попадались вообще. МИФИ-сты то же самое.
А соответствующих техникумов просто нет, вот и не встречаются оттуда программисты :-)
Про набор предметов скорее согласен, хотя и с оговорками, но это все нам давалось не позднее 3-го курса. То есть по-любому должно хватать "неоконченного высшего"...
(no subject)
From:no subject
Date: 2011-02-10 11:50 am (UTC)Дискретка, видимо, включает графы?
Теория множеств - понимаю, РСУБД из нее растут. Логика - понимаю.
Остальное напрямую применяется только в специфичных областях (общая алгебра - в криптографии, линейная - в геймдизайне, матан ни разу не потребовался). Этот набор - для математической эрудиции или для чего? У меня сложилось впечатление, что связь математики и программирования сильно преувеличена.
(no subject)
From:no subject
Date: 2011-02-09 09:55 am (UTC)no subject
Date: 2011-02-09 10:02 am (UTC)no subject
Date: 2011-02-09 10:06 am (UTC)no subject
Date: 2011-02-09 10:27 am (UTC)Кстати. Между прочим, имеет смысл посмотреть на программы военных учебных заведений. Чему там учат будущих командиров рот и взводов, которым потом обучать солдат. Во всяком случае в теории у них все это на основании гораздо большего хронологически и гораздо дороже оплаченного кровью опыта.
no subject
Date: 2011-02-09 10:34 am (UTC)no subject
Date: 2011-02-09 10:36 am (UTC)no subject
Date: 2011-02-09 10:46 am (UTC)