Кодить это искусство или просто ремесло

Программист за работой

Привет всем заглянувшим на наш «Сайт о различных профессиях»! Ну, что, друзья, поговорим сегодня об IT? Конкретно – о тех, кто, собственно, и делает это самое IT: о разработчиках программного обеспечения. Или, как их ещё называют, «кодерах», «программистах», «инженерах». Вот это вот всё. Знаете, когда я только начинал, лет эдак… ой, да ладно, не будем о возрасте, в общем, давно это было. Мне казалось, что это какая-то магия. Сидишь такой, значит, пишешь буковки на экране, а потом – бац! – и вот тебе уже программа работает, кнопка нажимается, данные куда-то там летают. Прямо как волшебник, честное слово!

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

Погружаемся в биты и байты: что это за зверь такой?

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

Вот, например, я как-то раз работал над системой для небольшой логистической компании. Задача была – оптимизировать маршруты доставки. И вот ты сидишь, пишешь алгоритмы, тестируешь, а потом смотришь, как водители, которые раньше теряли часы, плутая по городу, теперь доставляют всё вовремя, без лишних нервов. И они такие: «Ого, как круто!». А ты такой, ну, да, это я, это я тут ночами не спал, чтобы вы кофе с утра пили спокойно. Мелочь, а приятно, да?

Плюсы, конечно, очевидны, да? Высокий спрос, зарплата, которая позволяет, ну, не думать о каждой копейке. Возможность работать удалённо, хоть с Бали, хоть с дачи под Рязанью. Постоянное обучение – это, кстати, и плюс, и минус, но об этом позже. Ты всегда в движении, всегда что-то новое, Python 3.9, React хуки, Kubernetes, вот это всё. Скучать точно не приходится. И, что немаловажно, ты чувствуешь себя частью чего-то большого, меняющего мир. Ну, или хотя бы улучшающего жизнь паре-тройке логистов.

Обратная сторона Луны: когда код не хочет работать, а кофе заканчивается

Но, как и у любой медали, тут есть и обратная сторона. Ох уж эти баги! Помню, как-то раз целый день искал ошибку в проекте. Она проявлялась только при определённых условиях, когда пользователь вводил в поле «Имя» что-то вроде «’ OR ‘1’=’1». Ну, вы понимаете, да? И вот сидишь ты, смотришь в экран, а там сотни строчек кода, и кажется, что глаза уже просто вытекают. А голова гудит, как старый трансформатор. И вот ты уже начинаешь тихонько разговаривать с компьютером, убеждая его, что «ну пожалуйста, ну покажись, где ты там спрятался, гадёныш!». В итоге оказалось, что это был какой-то мелкий опечаток в одной строчке старого доброго SQL запроса, который я скопировал откуда-то полгода назад. Когда нашёл, сначала хотелось плакать, потом смеяться, а потом пойти и купить себе самый большой кусок торта, который только есть в округе. Чувство, будто ты поймал неуловимого покемона, только покемон этот – ошибка в коде.

А ещё это вечное чувство, что ты чего-то не знаешь. Синдром самозванца, он, знаете ли, тут частый гость. Вроде бы, вот ты уже и сеньор, и проекты делаешь, а потом выходит новая технология, и ты такой: «Ой, а я что, ничего не умею?». И снова учиться, учиться, учиться. Это, конечно, круто для развития, но иногда, блин, просто хочется посидеть спокойно, попить чаю с ромашкой и не думать о том, что завтра выйдет новый фреймворк, который «революционизирует всё». А ещё, ну, сидишь много. Очень много. Спина, глаза – всё это, как бы, не в восторге. Надо бы зарядку делать, да… Но дедлайн, понимаете?

А есть ли смысл во всём этом?

Иногда задумываешься, а насколько то, что мы делаем, полезно для общества? Мы создаём приложения, сайты, системы. Но ведь, по сути, мы просто делаем так, чтобы люди быстрее получали информацию, удобнее заказывали пиццу, эффективнее работали. Вроде бы, не спасаем жизни напрямую, не строим мосты. Но потом вспоминаешь про те же медицинские системы, которые помогают врачам ставить диагнозы, про образовательные платформы, которые дают знания миллионам, про системы, которые мониторят климат или помогают учёным обрабатывать огромные массивы данных. И понимаешь, что наша работа, она как фундамент. Её не всегда видно, но без неё здание просто рухнет. Вот так, потихоньку, мы, ну, каждый в своей песочнице, как бы, делаем мир чуточку лучше, чуточку удобнее.

Моральный аспект? Ну, конечно. Мы же работаем с данными, с информацией. И от того, как мы её обрабатываем, храним, используем, зависит очень многое. Приватность, безопасность. Это как с молотком: можно гвоздь забить, а можно и палец отбить. Ответственность, она, безусловно, присутствует. И каждый раз, когда пишешь очередной кусок кода, надо помнить, что за ним стоят реальные люди, их данные, их ожидания.

Вот сижу я сейчас, дописываю эту статью, а за окном уже сумерки сгущаются, пахнет дождём и свежескошенной травой. И думаю: а ведь это здорово – создавать. Неважно, код это или текст. Главное – чтобы это было с душой. И чтобы работало, конечно! А если вдруг завтра я решу, что всё, хватит с меня этих «джаваскриптов» и «питонов», и пойду выращивать клубнику, то, ну, кто знает? Но пока что, кажется, я ещё не наигрался в эти «цифровые кубики».