Зачем люди становятся программистами
В последнее время программирование стремительно становится популярным. Все больше молодых (и немолодых) людей выбирают его как свою профессию или хобби. Так как я сам профессиональный программист, я хотел бы поделиться своими мыслями касательно этой специфической профессии и постараться объяснить растущую притягательность программирования.
Преодолевая трудности
Если вы думаете что программисты на работе занимаются тем, что механически наращивают на программы дополнительный функционал, вы далеки от истины. Большую часть времени программиста находится в состоянии “да почему же оно не работает!”. Дело в том, что программирование - это постоянное решение проблем. Почему после ввода нового функционала сломался старый, почему так много запросов посылается на сервер, почему библиотека не работает как надо, почему пользователи ходят такие недовольные - все эти проблемы ложатся на уставшие плечи программистов. Зато какое чувство удовлетворения наступает когда удается успешно написать сложный алгоритм или выловить плавающий баг. Помню, когда я только начинал программировать, мне не сразу удалось понял как работать с ArrayList в Java. Я много времени потратил на то, чтобы выяснить как использовать это класс, но когда у меня все получилось, я был готов просто прыгать от радости. Думаю, именно за это большинство и любят программирование - за постоянный челлендж, за чувство преодоления собственного невежества.
Архитектор воздушных замков
Каждый раз когда я смотрю на нефтеперерабатывающий завод, меня переполняет восхищение перед людьми, которые сумели спроектировать и сконструировать такую сложную механическую систему. Систему, в которой каждый узел и элемент выполняет свою четко прописанную функцию, а их слаженная совместная работа воплощает в жизнь выверенный технологический процесс.То же самое можно сказать и в отношении программирования. Программист, прежде чем приступить к написанию кода, должен спроектировать в голове рабочую систему будь то алгоритм, архитектура или же сценарий межмодульного взаимодействия. И только когда этот “воздушный замок” в голове будет построен можно приступать непосредственно к программированию. Это непередаваемое чувство, когда алгоритм, который был только в твоей голове, воплощается в программе и работает как надо. Поэтому мне как программисту доставляет большое удовольствие заниматься проектированием сложных систем (“замков“) и их реализацией.
“Творческая” профессия.
Многие профессиональные программисты рассмеются вам в лицо, если скажете им что их профессия оказывается творческая. Кому как не им знать что программисту творчески самовыражаться через написание код - это все равно что ракетному конструктору использовать воображение для расчета подъемной тяги. Программный продукт должен соответствовать заложенной в него функциональности. Идеально написанная программа схожа с часовым механизмом, поэтому в ней не остается места для творческих потуг. Однако, если программный код должен оставаться практичным и функциональным, что же делает профессию программиста творческой? Творческой ее делает возможность воплощать любые идеи. Например, разработчик компьютерной игры имеет полный контроль над тем, что, в конечном счете, будет представлять собой механика этой игры. Будет ли игра легкой, сложной, многоуровневой, интересной или нет - разработчик может контролировать это так же как и художник может контролировать композицию своего рисунка. Таким образом, креативность в программировании выражается не в том как программист кодирует, а что он кодирует.
На острие прогресса.
Программирование сейчас наверное самая быстро развивающаяся индустрия в мире. Здесь я имею в виду не только программирование, но и все что называют Computer Science. Буквально каждый день я слышу либо об очередном техническом прорыве, либо об изобретении нового, еще более эффективного подхода к разработке. На самом деле, это действительно может привлекать некоторых амбициозных людей, которые хотят связать свою жизнь с технологическим авангардом.
В этом посте я лишь поверхностно прошелся по причинам почему люди решают связать свою жизнь с программированием. Вышеописанное относится скорее не к тому, почему люди становятся программистами, а к тому почему они программистами остаются. Напоследок я хотел бы обратиться к людям, которые рассматривают в данный момент вариант заняться IT. Если вас привлекают те составляющие профессии, что я описал выше, попытайте свои силы в программировании. Вполне возможно вы как и я попадете в тот процент людей, чья работа им по душе.