Россия и Беларусь начали и продолжают войну против народа Украины!

7 этапов в жизни программиста

  Александр Булаев  | 

  Обновл. 4 Сен 2021  | 

 12076

 ǀ   1 

В этой статье мы рассмотрим 7 этапов в жизни каждого программиста и то, с чем он сталкивается на каждом из них.

Нулевой этап: Невежда

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

Этап №1: Охваченный благоговением


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

Этап №2: Неуклюжий

Он пишет свою первую программу. Может это будет «Hello, world!» на С++, может какой-то небольшой калькулятор на Basic, или, возможно, даже JavaScript окажется в цитадели темных искусств начинающего программиста. И сколько же открытых дорог перед нашим героем на этом этапе? 101010.

Этап №3: Открытие


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

Этап №4: Безумие

Он опьянен своей новой силой, кажется, что весь мир принадлежит ему и был просто создан для выполнения его команд и желаний. Каждый раз он все лучше понимает то, что в основе всего лежит код, и чувствует себя от этого безгранично мощным. Все задачи кажутся решаемыми и всё, так или иначе, можно запрограммировать. У нашего героя на вооружении некий «молот Кода», который пока еще ограничен в своих возможностях. Для него все задачи похожи на «Задачу о восьми ферзях».

Этап №5: Методологии


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

   Он может впасть в отчаяние, что равноценно «сдаться».

   Он может впасть в заблуждение.

   Он, наконец, обнаружит «методологию» и жадно начнет проглатывать об этом книги, попутно «программируя» на UML.

Этот этап опасен, так как методологический мир — это все равно, что мифологический, со своими русалками, драконами, горгонами и другими сказочными существами.

Этап №6: Прагматизм

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

Этап №7: Превосходство

Программист наконец осознает себя. Теперь он понимает, насколько всё это сложно, и способен распознавать масштабы поставленной задачи. Он чувствует границы своих знаний и опыта. Он также знает, какие усилия необходимо приложить, чтобы эти границы расширить. Он все еще с подозрением относится ко всему новому, но все же в его арсенале появилось место для этих новых вещей. Он в мире с самим собой, воспринимая хаос развития как нечто столь же элементарное и неизменное, как погода. Никакой царь/король/президент не сможет остановить приливы, и даже самый лучший программист не может не совершать ошибок.

Заключение

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

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

Примечание: Это адаптированный перевод статьи сайта cowboyprogramming.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (61 оценок, среднее: 4,85 из 5)
Загрузка...

Комментариев: 1

  1. Олег:

    Нету депрессии и запоя, так что неполная статья получается.

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *