Обложка статьи «После 30 уже поздно, гениальность и математика: разрушаем мифы о программистах и программировании»

После 30 уже поздно, гениальность и математика: разрушаем мифы о программистах и программировании

Об IT-отрасли существует немало заблуждений — как среди людей, слабо знакомых с цифровыми технологиями, так и среди разработчиков. В этой статье развенчиваются 7 мифов, о которых, вероятно, слышали все.

Георгий Бабаян

Георгий Бабаян, CEO Elbrus Coding Bootcamp

Миф 1. Если вам 30, 40, 50 лет — учиться программированию уже поздно

На самом деле это не так. Учиться никогда не поздно, более того — многие новички в профессии делают успехи в зрелом возрасте. За доказательствами далеко ходить не нужно. Икона программирования, Дональд Кнут, разработал первый вариант системы TeX вовсе не в 20 лет. Он создал ее, когда ему исполнилось 40. Еще позже Кнут создал концепцию грамотного программирования.

Известнейший программист Андерс Хейлсберг начал разрабатывать C# уже после 30.

Да, конечно, оба эксперта начали учебу не в 30-40 лет, но ведь и второй C# создавать новичку далеко не обязательно. Геронтологи, кстати, утверждают, что в 40-50 лет наступает самый плодотворный возраст: у большинства уже есть семья и взрослые дети, а значит, заниматься любимым делом никто не помешает.

Миф 2. Для того, чтобы стать программистом, нужны глубокие знания математики

Главное, что должен знать программист — 4 арифметических операции, то есть сложение, вычитание, умножение и деление. При этом очень желательно иметь логическое мышление, которое есть у большинства людей. Знание математики не является гарантией того, что человек станет хорошим разработчиком. Так, на курсах некоторым выходцам из математических вузов приходится очень тяжело. В то же время, многие гуманитарии, любящие учиться новому отлично справляются с самыми сложными проектами.

Но, конечно, для обучения необходимо время. Так, один из наших студентов, с опытом в веб-программировании, рассказывал, что он хорошо знает PHP, и это было действительно так. Но ему, по его собственным словам, пришлось непросто в учебе. Приходилось учиться по вечерам, примерно до 10 часов и по выходным. В итоге курс был успешно пройден и студент выпустился с хорошей базой знаний и практическим опытом.

Повторюсь, главное здесь — логическое мышление и усидчивость — без этих качеств мало чего можно добиться. Если вы в свое время успешно справлялись с изучением языков, истории, юриспруденции, за короткое время осваивая огромное количество книг — то все получится и в программировании. Знание математики может помочь в определенных сферах, но в основном, оно ни на что не влияет.

Миф 3. Программирование — не для женщин

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

Согласно результатам опроса, каждый третий респондент-женщина в свое время сталкивалась с давлением из-за выбранной профессии. Наиболее значимые факторы давления — коллеги и руководство (38%) и родственники и знакомые (34%). Получается, что женщины не идут в IT из-за предрассудков. Гендерный баланс еще сильнее смещается в сторону мужчин, и этот факт используют, для того, чтобы заявить: «Смотрите, программистов-женщин всего 10%! Эта профессия — не для женщин».

Доказательством тому, что это не так, может служить исследование, авторы которого изучили более 3 млн предложений правок чужого кода на GitHub. Выяснилось, что код, который предлагают женщины и мужчины, одобряется примерно с равной вероятностью, причем у женщин этот показатель даже выше, чем у мужчин.

Еще один важный момент: когда программирование только зарождалось, в этой отрасли было очень много женщин. В России, например, в НИИ «Восход», программистов-женщин было немногим меньше, чем мужчин.

Миф 4. Для того, чтобы стать программистом, нужно быть очень умным

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

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

Программирование можно сравнить со строительством — и здесь, и там необходимы навыки. Если ты получил необходимый опыт и знания, их придется применять для решения задач, очень часто похожих друг на друга. Строители часто выполняют однотипные операции — то же справедливо и для программистов.

Большую часть реально новых технологий уже придумали, программисту необходимо лишь воспользоваться тем, что есть, для разработки прикладного ПО. Программистов можно назвать строителями XXI века.

Миф 5. Программисту обязательно необходимо высшее образование

Это примерно такой же распространенный миф, как и утверждение о том, что разработчик должен глубоко знать и понимать математику. Да, высшее образование не помешает, но очень часто оно ничем и не помогает, поскольку университеты отстают от потребностей реальной жизни, фундаментальное обучение никак не коррелирует с рынком.

Один из наших студентов рассказал, что до буткемпа занимался торговлей вместе с отцом. Он не хотел поступать в вуз, поскольку ему не нравилась классическая система образования. Опыта в программировании почти не было, не считая двух месяцев занятий на онлайн-курсах. Но в итоге он успешно отучился и в свои 19 лет работает frontend разработчиком в компании DCloud. Молодой человек занят сразу на двух проектах с одинаковым стеком: React, TypeScript, Apollo GraphQL.

Речь, повторюсь, лишь о значении высшего образования в программировании — мы сейчас не говорим о других сферах.

Если студент выбирает обычный вуз, где преподают программирование, то он получит лишь основы, профессионалом он не станет. Очень многие выпускники университетов по специальности «Программирование» не идут в разработку, поскольку понимают, что у них нет ни опыта, требуемого IT-компаниями, ни релевантных знаний. Они получают багаж знаний, устаревший лет 10 назад.

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

В целом, многие выпускники университетов не понимают, как сделать так, чтобы решить проблему бизнеса при помощи использования современных инструментов.

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

Миф 6. Учиться на программиста нужно много лет

На самом деле это не так. Да, конечно, сеньором через 3 месяца обучения на курсах человек стать не сможет, для этого нужно несколько лет разрабатывать сервисы или ПО, самосовершенствоваться и учиться чему-то новому.

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

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

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

Миф 7. Программист должен уметь все — и программу написать, и компьютер починить

Люди, далекие от IT, не понимают суть работы программистов. Поэтому «программистами» называют всех — от электронщиков до разработчиков нейросетей. В итоге знакомых представителей технических специальностей зовут помочь не только в IT-проектах, частенько к ним обращаются с просьбой «посмотреть ноутбук, который не работает».

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

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