пятница, 11 октября 2024 г.

[life.work] 30 лет профессионального программизма

Как же все-таки летит время. Вроде бы недавно публиковал аналогичный пост, но про 25 лет, а тут хоба! И уже 30.

Ну а так-то да, где-то в октябре 1994-го мне сделали трудовую книжку и я стал считаться профессиональным программистом. Писать программки начал пораньше, года с 1990-го, но именно за зарплату только с 1994-го.

Многое из того, что можно было бы сказать по этому поводу, уже было написано пять лет назад. Попробую добавить еще (не)много.


Начинает ощущаться, что каждый следующий год ложится все более тяжелым грузом. Что-то вроде накопленной усталости из-за однообразной рутины. Казалось бы, технологии не стоят на месте, программирование постоянно развивается и все время осваиваешь что-то новое.

Но пока что суть профессии не изменилась. По крайней мере там, где сижу я.

Пока что все тоже самое, что и тридцать лет назад: нужно проанализировать, придумать и сделать.

Да, что-то где-то как-то поменялось за это время, местами драматически сильно. Но придумывать, делать и доводить до ума приходится все так же. Возможно, ИИ в скором времени лишит нас работы. Но тогда будет другой пост, что-то вроде "Как я 30 лет был программистом, а потом компьютерные программы меня же без работы и оставили". Пока же можно поговорить о том, что есть.

А что же есть?


Есть, например, C++.

Как-то так получилось, что практически всю свою профессиональную карьеру я программирую на C++. Периоды использования других языков случались, но эпизодически и ненадолго.

Особого дискомфорта от такой специализации не испытываю. Возможно потому, что при необходимости смогу за короткое время изучить любой из более-менее мейнстримных языков и буду писать код не хуже, чем другие, а, скорее всего, и получше многих, уж простите мне эту самоуверенность. Конечно, какой-нибудь условный Haskell с Idris-ом или Agda-ой, могут вызвать серьезные проблемы, ну да и не страшно.

Не ухожу никуда с C++ не потому, что C++ мне так уж нравится. Как раз чем больше C++ развивается, тем больше ужасаюсь тому, во что он превращается.

Просто так уж получается, что интересных задач, которыми хочется заниматься, требуют C++, а не Ruby или Java с C#.


Еще есть необходимость писать код.

Платят мне именно за это. Так что я все еще действующий программист, хотя некоторое время назад таковым себя не считал.

Был у меня небольшой период менеджерства в карьере когда я вообще не программировал. Ну вот от слова совсем. Сложились бы обстоятельства иначе и останься я 10 лет назад в "Интервэйле", возможно, к программированию бы и не вернулся бы.

Вероятно, живи я в крупном городе с большим выбором продуктовых компаний, то уйдя с менеджерской позиции в "Интервэйле" на какую-то менеджерскую позицию бы и попытался бы устроиться. Но в небольшом Гомеле, из которого категорически пока не хочу никуда переезжать, особого выбора не было. Поэтому вернулся в программизм, с прицелом на организацию своей компании вокруг собственных же разработок.

Пока думаю, что это было правильно. Как по мне, так в сложные времена без менеджеров можно обойтись, тогда как без программистов... В общем, "какой я вам "менеджер"? у меня профессия есть" 😆

И тот факт, что мне уже за 50, за плечами 30 лет профессиональной карьеры, но все еще программирую, а не являюсь ТОП-менеджером или владельцем многомиллионного бизнеса, меня не беспокоит. Давно уже вывел для себя формулу, которая позволяет жить спокойно и не сравнивать себя с "более успешными" в плане карьеры людьми. Формула очень простая:

Представьте себе, что вам нужно полечить зуб. И не просто поставить пломбу, а разобраться с действительно сложным, не рядовым случаем.

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

Кого бы вы предпочли в качестве лечащего врача или оперирующего хирурга?

Человека, который занимается этим тридцать лет без перерыва, каждый день сталкиваясь с разнообразными случаями и ситуациями?

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

Так что если для кого-то успешный успех -- это высокие должности и многомиллионные доходы, то OK. Это трудный путь и итоговая награда заслужена. Но для кого-то этот самый успех именно в том, чтобы много лет совершенствоваться в своей профессии.


Есть еще одна неожиданная штука, которая занимает меня все больше и больше.

Это вопрос "А правильно ли я выбрал профессию много лет назад?"

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

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

Да, когда уже поступил и столкнулся с компьютерами программирование меня полностью поглотило, вытеснив все остальные увлечения, причем напрочь. И на много-много лет.

Зато теперь внутренний голос все чаще нашептывает "А вот не откажись ты от своей юношеской мечты..." 🤔

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


Коме того, что есть, хочется упомянуть одну вещь, которой нет. А именно: у меня нет какой-то прикладной специализации.

Очень часто слышу, что сейчас не платят за знания языков программирования, а платят за предметную область. Не важно что это -- высокочастотный трейдинг, распознавание образов в видеопотоках, управление беспилотными автомобилями, расчеты сложных физических процессов и т.д. Типа того, что важны фундаментальные знания в какой-то области, а уже к ним как-то прикладывается С++ или не C++, а условный Python.

Не берусь судить насколько эта точка зрения оправдана, потому что моя история как-то в это русло не укладывается.

Поэтому я себя иногда сравниваю с литературным редактором. Редактор же не придумывает историю и не рассказывает ее в виде повести или романа. Это делает автор. Именно у автора рождается замысел, идея, которая и воплощается затем в тексте.

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

Кто-то же должен привести все это в нормальный вид.

Вот и я, не имея конкретной прикладной специализации, как-то умудряюсь все эти годы приводить код в нормальный и работающий вид.

Хотя, возможно, я несколько грешу против истины. Одна специализация у меня таки есть -- это велосипедостроение. Какая специализация, что даже не разберешь, что это: пожизненный крест или грех, или же и то, и другое 😎


Пожалуй и все на этом. Спасибо всем, кто дочитал до этого места. Надеюсь, увидимся через пять лет в следующей статье этого цикла 😀

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