Нужен ли программисту диплом вуза или достаточно курсов? Мнение директора IT-компании

Места хватит всем Начать следует с факта: программированием сегодня занимаются люди с самым разным образованием. Помимо дипломированных специалистов, здесь благополучно работают те, у кого за спиной технический колледж или другая профессия. Некоторые из них ходили на курсы, но много и тех, кто освоил все сам. На рынке труда им совсем не тесно. IT-сфера испытывает жесткий кадровый голод, поэтому все, кто способен хорошо писать код, находят себе работу. Но это не значит, что выпускники вузов и самоучки равны. У них есть как минимум три различия: сложность задач, размер зарплаты, особенности профессионального роста. Главное, что программисту дает обучение в профильном вузе, это база фундаментальных знаний. На IT-специальностях в институтах изучают высшую математику, алгоритмы, теорию вероятностей, математическую статистику и многое другое, что нужно для решения наиболее сложных задач в программировании. А чем сложнее задачи, тем выше заработная плата. Более того, если у человека есть фундаментальные знания, он быстрее осваивает новые технологии. Несмотря на их стремительное развитие, базовые принципы программирования во многом остаются прежними, и дипломированный программист может достаточно быстро восстановить свой уровень даже после пятилетнего перерыва в работе. Занятия в академии MediaSoft. Фото: архив компании Самоучкам в этом плане намного труднее. Они вынуждены идти не от общих принципов к частным выводам, а наоборот – на практике нащупывать многие связи и закономерности. Бывает, что разработчик-самоучка не знает, что такое интеграл, не говоря о более сложных вещах. Это ограничивает круг задач, которые он способен решать, ему будут недоступны многие сложные проекты, например, из сферы machine learning. Но в программировании очень много задач, которые не требуют специальных знаний, поэтому многие самоучки вполне успешно работают. Специалисты с темным прошлым и светлым будущим Среди сотни разработчиков, работающих у нас в компании, есть люди с классическим вузовским образованием, есть сотрудники с неоконченным высшим, есть выпускники технических колледжей, а есть более нестандартные случаи — как раз те самые самоучки. Например, Алексей — один из наших самых продвинутых фулстек-разработчиков, работающий в компании уже шесть лет. В свое время он выучился в колледже на автомеханика, потом закончил педагогический институт, стал дипломированным учителем физики, но в школу работать не пошел — начал увлекаться программированием. Поработал какое-то время в небольшой компании, а потом попал к нам. Сейчас у него непререкаемый авторитет в компании, ему не раз предлагали руководящую должность, но он неизменно отказывается, потому что ему не интересно. Он хочет писать код, решать сложные задачи. Другой наш разработчик, Андрей, учился в вузе на технической специальности, но был отчислен после первого семестра. Сменил несколько работ, даже «Газель» одно время водил. Потом друг показал ему программирование, и его затянуло. Из образования у него по факту только школа, и ему иногда бывает сложно без специализированных знаний, например, без высшей математики. Но помогает характер — любознательный, въедливый, усидчивый, последовательный. После семинара в офисе MediaSoft. Фото: архив компании Однажды к нам пришла довольно нетривиальная задача — сделать веб-сервис, который бы взаимодействовал с пользователями в реальном времени, поддерживая сотни тысяч подключений одновременно. Клиент предлагал реализовать проект на языке PHP, но Андрей почувствовал, что здесь нужна другая технология, и не побоялся этим заняться. Быстро изучил лучшие практики для задач этого типа, развернул несколько тестовых образцов и в итоге выбрал язык Erlang. Время показало, что это был правильный выбор, заказчик оценил нашу рекомендацию. Вот такими бывают разработчики без высшего образования, а есть масса антипримеров среди программистов, закончивших университет. Я знал неплохого специалиста с дипломом, который променял программирование на строительную сферу, где в тот момент были очень большие деньги. Вообще далеко не все выпускники вузов способны к работе по специальности, и это справедливо не только для IT. В каждом институте, на каждом курсе есть так называемые «пассажиры», которые учатся средне и к профессии большого интереса не испытывают. Когда я учился (Ульяновский государственный технический университет, кафедра «Вычислительная техника»), на нашем потоке таких было около 30%. Учиться на программиста они идут по разным причинам: некоторых привлекает престиж профессии, других заставляют родители, но даже красный диплом не сделает человека первоклассным разработчиком, если он сам этого не хочет. Быть, а не казаться На примере самоучек хорошо видно, что для развития в профессии большое значение имеют природные склонности. Я бы выделил четыре основных качества, которые должны быть у человека, желающего стать разработчиком, и которые ему следует развивать с самого начала и в течение всей жизни. Абстрактное мышление Программист постоянно имеет дело с абстракциями — отвлеченными понятиями, не имеющими прямых аналогов в реальном мире. Построение правильных логических структур, сложная классификация объектов — все это требует хорошо развитого абстрактного мышления. Признаки того, что у вас больше развито абстрактное, а не конкретное мышление: вы чаще думаете об идеях и допущениях, чем о реально существующих вещах и данностях; узнавая новые факты, вы задумываетесь об их скрытом смысле и взаимосвязях с другими фактами; вам проще и интереснее запоминать шаблоны и взаимосвязи, чем разрозненные конкретные факты. Алгоритмическое мышление Это способность планировать свои действия на несколько шагов вперед, предвидеть результаты и декомпозировать большие задачи на отдельные стадии. Это качество хорошо развивают шахматы и другие виды деятельности, требующие построения стратегий. Чемпион мира по шахматам Анатолий Карпов в MediaSoft. Фото: архив компании Коммуникабельность Даже небольшие проекты, как правило, не делаются в одиночку, поэтому разработчику необходимо уметь работать в команде: учитывать не только свои, но и чужие действия, объективно оценивать и принимать чужие идеи, не бояться попросить помощи. Есть мнение, что большинство программистов — интроверты, замкнутые и погруженные в себя люди, которые не любят общаться. На самом деле, это не так. Мы предпочитаем формировать команду из интровертов и на практике убеждаемся, что люди этого типа умеют общаться крайне эффективно: максимально точно формулируют вопросы, в ответах избегают двусмысленностей и лишней информации. Описывая суть вопроса, интроверты как бы ставят себя на место другого человека, чтобы он точно понял, о чем ему говорят. Это позволяет потом долго не общаться, отчего производственный процесс всегда очень выигрывает. Усидчивость Квалификация разработчика зависит не только от знаний, но и от внимательности, аккуратности, умения доводить дело до конца. Неряшливый код, даже если он работает, влечет за собой более дорогие и сложные процессы поддержки и контроля. Чтобы компенсировать невнимательность разработчиков, компании вынуждены проводить обширное тестирование, код-ревью, усложнять организацию рабочих процессов. Почему курсы не заменят высшее образование По своему смыслу и результату курсы сильно отличаются от вузов. Образовательных стандартов здесь как таковых нет, и учебные программы разрабатываются исходя из востребованности у аудитории. Это справедливо как для платных, так и для бесплатных курсов. Здесь обучают максимально прикладным вещам, которые можно быстро монетизировать. Именно поэтому на рынке так много курсов «Как научиться делать типовые сайты за один день» и нет курсов, например, про теорию графов и другие фундаментальные вещи — на них просто никто не придет, потому что они не позволяют сразу начать зарабатывать. Относительно курсов я бы дал три совета. Начинать свой путь в программировании с курсов — не лучшая идея Если вы только начинаете осваивать специальность, сначала лучше найти учебник или видеоуроки и разобраться в основах программирования самостоятельно. В процессе придет понимание очень многих вещей: действительно ли вам это интересно, какие области по-настоящему привлекают. После этого уже можно попробовать подобрать себе более узконаправленные и прикладные курсы. Разработчики на новогоднем корпоративе. Фото: архив компании Выбирать курсы нужно не по вывеске, а по содержанию Качество курсов сильно зависит от уровня преподавателей, поэтому лучше идти туда, где преподают программисты-практики — люди, которые 90% времени работают непосредственно в той предметной области, о которой рассказывают, и имеют актуальные кейсы. Вуз все-таки предпочтительнее Если есть возможность пойти в вуз на ИТ-специальность, а не на курсы, лучше выбрать вуз. В будущем это обеспечит более высокую заработную плату (за счет способности решать более сложные задачи, конечно, а не по факту самого диплома) и более легкое освоение нового материала. Уже работающим программистам — и с дипломом, и без — для повышения квалификации можно посоветовать посещение профильных мероприятий, где разбирают практические кейсы: DevConf, конференцию разработчиков высоконагруженных систем HighLoad++ и некоторые другие. *** Таким образом, диплом ИТ-вуза для программиста сегодня не обязателен, но все же желателен. Это открывает более широкие карьерные и зарплатные перспективы, облегчает профессиональное развитие и позволяет усиливать компетенции коллег по работе фундаментальными знаниями. Обращают ли работодатели внимание на уровень образования соискателя? Несомненно. Но не для того чтобы указать программисту без диплома на дверь, а для того, чтобы дать ему подходящие задачи. Мы поступаем именно так: подбираем тестовое задание в соответствии с уровнем кандидата, а потом просим подробно рассказать, как он его выполнял. Это позволяет увидеть главное: тип мышления, внимательность, степень вовлеченности в профессию. Спасибо за внимание и успехов в карьере! Материалы по теме: «Если я не сдам ЕГЭ, мир не перевернется». История школьницы, которая совмещает учебу и хакатоны Бизнес-идея: P2P-курсы по программированию 20 выражений из IT-сленга, которые вам нужно знать Что бесит разработчиков в одном из самых популярных языков программирования Почему программирование должны учить не только программисты Фото на обложке: Unsplash

Нужен ли программисту диплом вуза или достаточно курсов? Мнение директора IT-компании
© RB.ru