Новички окружены стереотипами, и из-за этого им бывает сложно начать карьеру в сфере IT и, в частности, в области создания ПО. Чтобы им было легче, я собрал самые распространенные мифы о программировании, мешающие развиваться.
Давайте попробуем разобраться, где правда, а где ложь. И развеем популярные мифы!
Надо быть очень умным
Это самый распространенный миф, который удерживает новичков от написания своих программ.
Некоторые считают себя недостаточно умными, чтобы стать программистами. Да и самих программистов нередко наделяют способностями не то роботов, не то гениев.
Но научиться программировать не так сложно, как кажется на первый взгляд. А программисты — это обычные люди, которые испытывают страсть к созданию компьютерных программ, игр и приложений.
Чтобы писать код не нужно быть гением: достаточно иметь мотивацию, интерес и дисциплину. Если вы открыты новому и готовы применять приобретенные навыки на практике, то программирование станет для вас не только полезным опытом, но и приятным времяпрепровождением. Конечно, есть по-настоящему сложные задачи, которые способны решить только люди с очень большим опытом, но это скорее исключение, а не правило.
Нужно хорошо знать математику
Успех в программировании не зависит напрямую от математических способностей, а на начальных порах хватит и школьных знаний алгебры.
Формально программирование — это написание подробных инструкций компьютеру для выполнения определенных задач. Это как создание рецепта для приготовления торта. Нужно уметь взвешивать, считать калории, отличать круглую форму от прямоугольной, описывать последовательность действий. Никакой высшей математики, никаких интегралов и сложных формул!
С другой стороны, есть области, в которых математика играет большую роль. Например, для создания игр нужно владеть тригонометрией, уметь решать дифференциальные уравнения и работать с матрицами.
Но опять же: лишь фундаментальные знания. Более того, для решения многих задач можно использовать сторонние библиотеки и плагины. Если вам понадобится дополнительные знания по математике или физике, вы сможете пройти дополнительное обучение, почитать книги или найти интересующую информацию в интернете.
Программирование — не для творческих людей
Хотя многие люди не подозревают об этом, программирование — это своего рода искусство.
Программисты погружаются в создание сайтов, игр и приложений, как писатели погружаются в написание романов, эссе и рассказов.
Программирование позволяет выразить свою творческую идею, мысль, акцентировать внимание на интересных вещах, подобно живописи или музыке. К тому же, технические навыки позволяют творческим людям расширить собственные возможности. Так, профессиональный дизайнер Антон Любушкин, уставший от несовершенства Photoshop, создал для него линейку расширений на языке JavaScript, которые сделали его работу более эффективной.
Программирование — для «ботаников»
В фильмах можно увидеть множество стереотипов о программистах: белый мужчина в очках с растрепанными волосами, который обитает в подвальном помещении с множеством мониторов и питается заварной лапшой.
Многие люди опасаются, что станут такими же, если начнут программировать. Особенно этот страх распространен среди женщин, которым трудно найти образец для подражания в технических областях. Но мужчина-«ботаник» — это стереотип.
Программисты необязательно ведут затворнический образ жизни: они бывают общительны и имеют увлечения, не связанные с программированием. Среди них есть музыканты, танцоры и спортсмены, так что нет оснований полагать, что программисты чем-то отличаются от работников других профессий.
Нужно иметь особый талант
Чтобы стать программистом, нужно родиться с особым талантом, который заложен в геноме человека. Но за миллионы лет эволюции не было ничего подобного программированию. «Гену программирования» просто неоткуда появиться. Способность человека к созданию эффективных программ — это результат приложенных усилий, как спортивные достижения — результат упорных тренировок.
Программирование — это скучно
Впечатление от занятия чем-либо зависит от отношения к делу. Люди, увлеченные программированием, не считают его скучным, иначе зачем бы они им занимались? Это касается любого занятия: человек сам определяет, что ему скучно, а что интересно.
Сфера создания ПО дает выбор области, в которой человек хочет работать: программист может писать мобильные приложения, создавать сайты и веб-приложения, а может писать ПО для космических машин, самолетов и автомобилей. Навыки программирования позволяют работать в самых разнообразных отраслях: от сельского хозяйства до ракетостроения.
Разве это может быть скучно?
Вы перестанете общаться с людьми
Распространен миф, что программисты — это одинокие волки, которые проводят половину жизни за компьютером, от всех отгородившись. Программирование действительно требует сосредоточенной работы, но не более, чем любая другая серьезная деятельность.
Но между рабочими сессиями разработчики много общаются внутри своих команд, а также с коллегами из других отделов: сплоченность команды положительно сказывается на качестве конечного продукта. Программисты посещают множество конференций, организовывают клубы по интересам и любят веселые компании.
Нужно много запоминать
Язык программирования — не иностранный язык, в котором для понимания базовых вещей нужно помнить минимум 2000 слов. Большинство языков программирования имеют похожий синтаксис, содержащий около 50 управляющих конструкций, которые при частой практике не требуют целенаправленного заучивания. То, что вы не можете запомнить, вы всегда можете найти в интернете или в официальных руководствах.
Помнить все не только необязательно, но и нерационально: некоторые знания будут забываться или искажаться в памяти. Даже известные программисты признаются в том, что не всегда могут вспомнить простейший алгоритм. Кроме того, современные интегрированные среды разработки имеют всплывающие подсказки, помогающие вспомнить те или иные инструкции.
Нужно знать все алгоритмы
Алгоритмы — основа программирования. Некоторые из них простые, другие для понимания требуют особых знаний. Тем не менее, вы не должны знать их наизусть.
Когда я учился программированию, я мог записать алгоритм сортировки пятью-шестью способами и указать различия, преимущества и недостатки каждого.
Сегодня я вспомню только названия алгоритмов сортировки и принцип работы некоторых из них, не говоря уже о реализации, но это не значит, что я буду хуже программировать: без практики материал быстро забывается.
В реальной работе от программиста не требуется уметь писать пузырьковую сортировку, потому что фундаментальные алгоритмы уже реализованы и отлажены так, что имеют хорошие показатели производительности и надежности.
Эти алгоритмы могут поставляться как модули, подключаемые к исходному коду, либо как часть самого языка программирования. Современное программирование уменьшило число рутинных операций в процессе создания ПО, что освободило программисту время для решения действительно полезных задач.
Но разбираться в алгоритмах все-таки стоит.
Мне не хватит усидчивости, чтобы писать столько кода
Профессиональные программы содержат десятки тысяч строк кода, что пугает джуниоров. Тем не менее, для написания программ разработчики используют одни и те же языковые конструкции.
Это как в иностранном языке: для понимания 80% происходящего, достаточно знать 2000 слов (а не 50 000, которые есть в языке). Комбинируя различные слова и фразы, вы сможете разговаривать с любым человеком. В программировании похожий принцип, поэтому программы, будучи составленными из одного множества управляющих конструкций, могут решать широкий класс задач.
Конечно, на первых порах написать большую программу, работающую как часы, будет задачей невыполнимой, но развивая свои навыки, вы можете добиться эффективности в несколько сотен строк кода в день, потом — в час и т.д. Как только вы освоите на практике основные инструкции и приемы, 10 000 строк кода покажутся детской игрой. Хотя, с другой стороны, умение решить задачу минимальным числом инструкций никогда не было лишним.
Мне нужен мощный компьютер
Многие джуны считают, что для программирования нужен мощный компьютер и пять мониторов. Это не так. Получить начальные навыки программирования можно и на обычном компьютере, которым вы располагаете, а если на нем можно запустить игры, то и для программирования он подойдет.
Компьютерные игры или браузер требует больше ресурсов, чем программы для запуска исходного кода, такие как компилятор и интерпретатор. Они так же не требуют большого экранного пространства, поэтому N мониторов вам ни к чему.
Компьютерный код слишком сложный для понимания
На первый взгляд компьютерные программы кажутся слишком сложными и непонятными. Окей, тогда взгляните на китайские иероглифы. Неподготовленный человек увидит в них лишь набор каракуль, тем не менее, около 1,3 млрд жителей планеты могут спокойно читать, писать и понимать китайское письмо. Компьютерный код гораздо проще иероглифов или других естественных языков. Его не нужно произносить или понимать на слух, а набор базовых инструкций составляет 50-100 для одного языка программирования.
Программисты все пишут с нуля
Если бы программисты писали весь код с нуля, то мы бы не увидели столько разнообразных и полезных программ. Современная программа состоит из сотен тысяч строк кода, и большая его часть уже была написана ранее другими разработчиками.
Программисты часто используют сторонние библиотеки, а также код, который они написали сами для других проектов. Это сильно упрощает и ускоряет создание крупных программ, в том числе игр и операционных систем.
В своих следующих статьях я разберу и разрушу мифы об обучении программированию, возможностях разработчика и его инструментах, а также популярные мифы о карьере айтишника.
Stay tuned!
Читайте также: Миф о суперпрограммисте: каких разработчиков считают крутыми, а какие на самом деле круты
Это текст из личного блога, опубликованный с разрешения автора.
Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: