6 мифов о программистах среди родителей и школьников
Миф 1. Программирование — скучное занятие
Если спросить далекого от IT человека, чем, по его мнению, занимается программист, скорее всего, он ответит: «пишет код». И действительно, большинство людей представляет программирование как непрерывное печатание некой абракадабры из непонятных символов со смесью высшей математики.
На самом деле все, конечно, не так: помимо кодинга, программисту приходится постоянно обсуждать детали задач с коллегами и заказчиками, читать документацию, искать баги (ошибки в чужом коде), изучать новые инструменты, заниматься тестированием. Бывает, что за целый день специалист не пишет ни строчки кода — потому что совещается с клиентом о том, как должна работать будущая программа. Или потому что код не работает — и приходится несколько часов искать, где у него закралась ошибка. Или нужно изучить, как устроена «начинка» интернет-магазина, чтобы добавить для покупателей возможность отфильтровать товары по цвету или цене.
В целом программирование — творческая деятельность. Чтобы добавить даже такую незначительную деталь, как фильтр по цене, нужно сначала придумать, как будет устроен код: будет это отдельный компонент или встроенный, на фронтенд-составляющей или на бэкенде. А еще хорошо бы сделать все так, чтобы через месяц на просьбу заказчика «а добавьте еще фильтр по бренду» вам нужно было лишь немного дополнить уже написанное, а не переделывать все полностью.
Хотя многие айтишники утверждают, что писать код — самая легкая и приятная часть в их работе. Не говоря уже о том, что сам код — это не просто строки непонятных символов: он всегда представляет собой «изнанку» чего-то конкретного. Это может быть мобильное приложение, компьютерная игра, социальная сеть, сайт о путешествиях, электронный кошелек. В геймдеве (game development, или разработка компьютерных игр) вы можете «написать» телепорт или орка, в веб-программировании — главную страницу сайта. Не случайно знаменитый подкастер Umputun сравнил программирование с сочинением поэмы: «...но в отличие от поэмы, это не просто напечатано на бумаге, а еще и что-то делает — и это какое-то чудо».
Миф 2. Программисты — замкнутые и необщительные фрики
Если программирование в представлении обычного человека — это преимущественно написание кода, то типичный образ программиста — гик в растянутом свитере, который сутками сидит за экраном в окружении пустых чашек из-под кофе и не умеет общаться с людьми.
Но в действительности не общаться у разработчика не получится: в работе ему приходится постоянно взаимодействовать по разным вопросам с другими айтишниками, а также менеджерами, тестировщиками, дизайнерами, заказчиками и другими людьми. Не случайно неотъемлемая часть жизни программистов — конф-коллы, встречи и чаты в мессенджерах. А поскольку IT-сообщество состоит в основном из молодых людей (средний возраст разработчиков — от 26 до 33 лет в зависимости от страны), в нем ходит очень много профессиональных шуток. Так что мем с Pikabu в чате разработчиков посреди рабочего дня — вполне обычное дело.
В реальности IT-среда вовсе не похожа на сообщество мизантропов-интровертов, оторванных от реальной жизни. Тем более, для программистов проводится множество отраслевых мероприятий: конференций, форумов, семинаров — где тоже много офлайнового неформального общения.
Миф 3. Чтобы стать программистом, нужно очень долго учиться
Если вы решите освоить программирование в вузе, вы потратите столько же времени, сколько и на любую другую профессию: от четырех до шести лет. Но при самостоятельном обучении сроки могут быть намного меньше. Так, курсы по программированию с нуля в среднем длятся от полугода до двух лет. Конечно, это не значит, что через несколько месяцев вы станете продвинутым разработчиком — но как минимум сможете выйти на рынок и создавать реальные продукты.
Базовые навыки кодинга можно получить быстрее, чем это кажется: так, собственную простую программу можно написать уже через неделю, создать несложное приложение — через пару месяцев. Причем чем лучше развито исследовательское мышление, тем легче будет даваться обучение. Работать над такими навыками можно с ранних лет: например, на курсе «Математика Плюс» для 1-4 классов ребята в игровом формате решают задачи, которые учат экспериментировать и находить свой путь решения, не привязанный к шаблонам.
Конечно, все это не значит, что программисту не нужно высшее образование: фундаментальные знания по информатике дают базу, которая будет помогать быстрее вникать в любые задачи и осваивать новые инструменты. Но так или иначе, закладывать на обучение много лет не нужно — хотя парадоксальным образом учиться придется всю жизнь. В сфере IT все меняется очень быстро: постоянно появляются новые инструменты, языки программирования, развиваются технологии и методики. Чтобы не отстать от рынка, нужно постоянно прокачивать свои навыки — но делать это можно, не отрываясь от работы.
Миф 4. В программировании нечего делать без высшей математики
Доля истины в этом есть: математика — действительно основа программирования. Но в большинстве случаев IT-специалистам достаточно основ алгебры, которые преподаются в ходе школьного курса. Вычислять интегралы, решать логарифмические уравнения и находить значение синуса необходимо лишь в отдельных областях разработки. Например, в геймдеве понадобится тригонометрия, в Data Science — математический анализ, в биоинформатике — дискретная математика. Однако с развитием технологий такие задачи все чаще решаются с помощью готовых инструментов — таких, как движки, библиотеки и плагины, которые выполняют все вычисления за специалиста.
Большинство же областей разработки с высшей математикой никак не пересекаются — особенно это касается frontend-разработки и верстки. Для их освоения важнее аналитические навыки и хорошая логика. Именно логика лежит в основе IT, поэтому мы в Учи.ру сделали для школьников олимпиаду по программированию — несмотря на то, что многие из них не знакомы с этой сферой. Для участия не нужны знания по предмету и специальная подготовка: ребятам понадобятся другие умения — систематизировать информацию, искать наиболее рациональные решения, раскладывать задание на элементы и так далее.
Миф 5. Программирование — неженское дело
Сегодня женщин в программировании действительно меньше, чем мужчин: так, в 2018 году женщины составляли только треть от всех IT-специалистов в мире. Но это не означает, что разработка легче дается мужчинам. Наглядное опровержение — такие успешные женщины-программисты, как Марисса Энн Майер — экс-президент и исполнительный директор «Yahoo!», Адель Голдберг – автор языка программирования Smalltalk, Катерина Фейк – соучредитель портала Flickr. И кстати, первым в мире программистом стала именно женщина: почти 200 лет назад английский математик Ада Лавлейс создала описание вычислительной машины и составила для нее первую программу.
Доля женщин-разработчиков сильно отличается в разных странах, но наиболее высока она в Индии, где девушки составляют 40% всех студентов, изучающих информатику и смежные дисциплины. Более того — в составе выпускников по STEM-специальностям (которые объединяют науку, технологии, инженерию и математику) Индия достигла гендерного равенства. Среди тех, кто уже работает в IT, доля женщин чуть ниже (34%), но многие компании постепенно сглаживают этот разрыв: так, в индийском представительстве Accenture 4 из 10 специалистов — женщины, а к 2025 году компания планирует довести этот показатель до 50%.
Миф 6. Чтобы хорошо программировать, нужен талант и незаурядный ум
Нет смысла спорить, что острый ум и врожденный талант — огромная поддержка абсолютно во всех сферах. Но чтобы стать хорошим разработчиком, вовсе не нужно быть гением с IQ под 200. Как известно, в основе любого успеха лежит 99% труда и только 1% таланта, и IT — не исключение. Чтобы на рынке вас отрывали с руками, прежде всего нужен большой опыт, упорство, желание постоянно прокачивать свои навыки, узнавать новое и применять это на практике.
Чем больше времени вы уделяете своему делу, чем более дотошно изучаете предмет и беретесь за новые задачи, тем лучше у вас будет получаться. Конечно, хороший программист должен обладать хорошим системным мышлением и способностью к аналитике — но эти навыки всегда можно натренировать.
Материал подготовлен Учи.ру
Сергей Шашков, преподаватель математики и информатики высшей категории, разработчик курсов и олимпиад по программированию платформы Учи.ру, развенчивает самые популярные из них.