Как менялось моё отношение к про­грам­ми­ро­ва­нию

Опубликовано 25 июня 2021 г.

Избранное Программирование Соберись, тряпка

Первый код, который работал где-то за пределами моего компьютера, я написал году в 2004-м. Это был мой сайт. Там была не только кучка HTML-страничек, но ещё и гостевая книга на перле, которая через CGI подключалась к Apache. Не могу найти тот код, но там точно был вагон конкатенаций строчек вместо шаблонов и текстовый файлик по соседству со скриптом вместо БД. Чудо какое-то! Мне было 15 лет.

До этого я лет пять программировал всякую муру на бейсике, С и С++. Причём Си был моим любимым языком из-за своей простоты. Ничего серьёзного я на нём не написал (только кроссплатформенный Qt-проект на С++ много позже), но я бы, честно говоря, и сейчас писал бы какую-нибудь дрянь на чистом Си. Обожаю простые как сапог инструменты.

Поначалу мне нравилось ковыряться в низкоуровневых кишках, памяти руками выделить, пройтись дизассемблером по COM-файлу. Я ничего толком не понимал, но как-то даже заказал полный бесплатный мануал от Intel по x86 архитектуре. Мне пришло тогда 6 книжек, весом во столько же килограмм, прямо из США. Я обалдел — Кремниевая долина вторглась прямо в жизнь подростка из провинции.

Вообще я даже и не думал, что стану программистом — мне больше нравились железки, я читал "Библию Хакера", пытался установить разные линупсы (и юнипсы) на древние компы, писал какие-то скрипты для mIRC и "хакал" доисторические веб-чаты. Ещё мне как-то подарили шестизначную аську — признак крутости в те времена.

Спустя несколько лет я попал на первую работу, веб-разработчиком, и какое-то время не мог въехать во все эти PHP, серверы, БД и прочую клиент-серверную хрень. Разобрался с джаваскриптом, написав тетрис (этот код жив и по сей день), и плевался на его прототипное "неправильное" наследование. Мне по-прежнему хотелось делать что-то крутое — программировать микроконтроллеры или писать на С++.

Но тогда у меня появились деньги, и я пошёл за ними — сначал во фриланс, а потом и в крупные компании в Москве. Отношение с любопытства и интереса сменилось на более прагматичное.

Я долго трепыхался между программированием чего-то, что мне было не очень интересно (хотя интерес, как аппетит, приходил во время еды), и менеджментом. Мне захотелось управлять проектами, проектировать системы, а после и тимлидить. И вот именно тимлидство зашло намного лучше промышленного программирования. И большая часть моих профессиональных успехов случилась именно в качестве тимлида.

В какой-то момент, осознав себя в некоем профессиональном тупике, я решил, что стоит стать "лучшим в мире программистом". Ну то есть выучить весь computer science, сделать какие-то крутые штуки. Это хорошая идея, но, как оказалось, всё-таки не моя. Спустя пару лет я забил.

Сейчас, спустя уже полтора десятилетия с начала карьеры, я вернулся к прагматизму в отношении программирования.

Меня не сильно увлекают фреймворки, правильные решения сложных проблем — да и сложные проблемы в принципе, не очень интересно учить новые языки и технологии. Я, конечно, прочувствовал, насколько это может быть интересно — написать библиотеку с продуманным API, запилить эффективный алгоритм для замороченной "олимпиадной" задачки, разобраться в функциональщине. Но посвящать этому всю свою жизнь и внимание я точно не хочу.

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

В этом смысле я точно не профессиональный инженер-программист, а скорее стартапер-кулибин. Написать очередной велосипед или MVP на коленке — это моё. Ковыряться в кишках проприетарных библиотек какого-нибудь Фейсбука — не моё. Пилить годами продуктовые фичи тоже не очень интересно, хотя и может быть любопытно поначалу.

И это очень освобождающее осознание. Я рад, что наконец-то понял, что программирование для меня — всего лишь инструмент (в том числе, достижения собственных целей).

Читать дальше