(←) предыдущая запись ; следующая запись (→)

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

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

Как бы это ни было далеко от моих идеалов, мне приходится признать реальность: программист может не знать математику и вовсе не обязан получать высшее образование. И может при этом быть отличным программистом.

Но значит ли это, что высшее образование и/или математика бесполезны для программиста? Конечно нет!

———

Во-первых, компьютерные науки требуют много времени на изучение. Может показаться, будто в институте на учёбу тратится слишком много времени, и гораздо быстрее обучиться самостоятельно.
Ну-у-у… Нет!
Даже с учётом непрофильных курсов, всё равно нет.

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

Изучить всё то же самое систематически оказывается существенно быстрее и эффективнее.
Я выношу за скобки, что бо‌льшая часть университетского образования у нас лежит в руинах. Считайте, что речь про хорошие вузы (их мало, но они есть).

Человек может быть хорошим программистом, не зная, как устроена сеть, база данных, операционная система, не изучая алгоритмы и структуры данных или функциональное программирование. Но это ограничивает число доменов, в которых такой специалист сможет работать.

———

Во-вторых, «программист» и тем более «айтишник» — это собирательное название для очень разных видов деятельности. Где-то математика совсем не нужна, а где-то без неё шагу нельзя ступить.

Математическая грамотность и математический кругозор необходимы для многих доменов. Как и незнание Computer Sciences, отсутствие математического бэкграунда существенно уменьшает набор областей, в которых такой специалист сможет работать.

Изучив всего несколько базовых курсов вышмата, будущий программист уже значительно расширяет свои возможности по выбору проектов. Это хорошая инвестиция: расширение спектра доступных вакансий помогает выбрать более интересную и высокооплачиваемую работу. А области, где математика требуется, обычно интереснее остальных; ИМХО.

Вынужден оговориться: кого-то устраивает единожды выбрать область и в ней специализироваться всю жизнь. Я не из таких: мне нужно менять области, и этим обусловлено моё желание иметь больше опций для выбора: я хочу иметь возможность идти всеми возможными траекториями.
Но замечу, что и с чисто утилитарной точки зрения расширение выбора полезно экономически. И обеспечивает большую защищённость на рынке труда, где профессии
быстро появляются и исчезают.

———

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

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

(1/9; продолжение про высшее образование вообще (↓))

образование, программистское, размышления