Каково это - быть разработчиком в России, когда тебе 40 (часть 2)

Aug 07, 2020 10:57

Начало здесь.



Работа по специальности

2005 год. Москва была совсем другой! Лужковские законы отменили и можно было ходить в метро и по улицам спокойно, не боясь, что товарищ милиционер вдруг заинтересуется твоей личностью. У работодателей наблюдается кадровый голод и фирмы с удовольствием устраивали специалистов, не взирая на прописку. И трудоустройство, что удивительно, по КЗОТ! Съём жилья в Москве по-прежнему дорогое удовольствие, но шестикратный рост зарплаты делает это удовольствие позволительным.

Фирма, в которую я устроился, делала игры под Linux. Звучит невероятно? Кому нужны игры под Linux? Оказывается, нужны. Например, если это игровые автоматы с азартными играми. Сфера такого бизнеса называется буржуйским словом «геймблинг». Помните «столбики» и залы игровых автоматов на деньги? Вот это оно.

Для снижения издержек и чтобы не заморачиваться с лицензированием, фирма вела разработку на Linux. SDL, OpenGl, png для графики, ogg для звука. Фирма занималась полным циклом производства. Отдел разработки (куда я и устроился), отдел проектирования электроники (к PC-материнкам подключались свои платы защиты и контроллеры оборудования), отдел контроля качества, производство корпусов, сборка готовой продукции и прочие непроизводственные отделы. Когда я устроился в эту фирму, пик сверхдоходов уже прошёл. В воздухе летали слухи о запрете игровых автоматов. Поэтому фирма потихоньку переориентировалась на заказы из-за рубежа.

Я проработал в этой фирме год «на постоянке». Вывел в продакшн 2 проекта, которые делал практически «с нуля», но используя и дорабатывая фирменные библиотеки. Со мной, помимо C, C++ и Java программистов работали художники, аниматоры, музыканты, шрифтовики, тестеры. Мне это очень нравилось. Там действительно был коллектив и я в кои-то веки не был специалистом-одиночкой.

Исторически игры собирались из Си и Си++ кода, потихоньку перебираясь полностью на плюсы. Приходилось писать и низкоуровневые вещи, и фронтэнд на OpenGL, и финансово-денежную часть, и тесты математики. Внешне всё должно было выглядеть броско и красиво, целились на «верхний» сегмент. Трёхмерные объекты вылизывались до идеала: качественные текстуры, полутени, движущиеся блики, размытие для эмуляции быстрого движения, сплайны для мягкой анимации, etc. Я в работе использовал принципы написания кода «от НАСА»: единоразовое размещение объекта/ресурса в памяти при старте, никакой динамической работы с кучей в процессе выполнения программы. Это давало свои плоды: ничего не тормозило, всё работало плавно, так как все данные при старте были подготовлены и доступны. Конечно, без оптимизации самих данных это было бы невозможно. За счёт такого подхода, игры работали месяцами, не выключаясь. Были и другие методики: со мной работал студент, который писал для своих проектов свой собственный аллокатор с тройным уровнем указателей. На его код я смотрел с благоговейным страхом. Его проекты то работали, то сегфолтились, но он быстро всё исправлял. Когда он уволился, то код этого специалиста пришлось переписывать с нуля, так как никто не мог потянуть его сопровождение.

За все время работы я локализировал свои проекты под 12 стран: страны бывшего СССР, Европа и латино-американские страны. Для некоторых стран приходилось проходить сертификацию, чтобы пустили на рынок. Требования были нетривиальные. Больше всего извозился с Чехией и Перу - одной условной компиляцией было не отделаться. Но работать было интересно!

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

Удалённая работа - зеркало фриланса

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

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

Я решил, что только работа, опыт и проекты с применением новых технологий удержат меня от выпадения из индустрии. И OpenSource казался тогда хорошим выходом. У меня было несколько проектов, которые я мог выставить на всеобщее обозрение, после приведения кода в более-менее приличный вид. Я выбрал один из них, написанный на C++ с Qt, и параллельно с удалёнкой стал пилить проект для людей. Я очень рассчитывал, что появятся люди, которым проект интересен и сформируется хотя бы небольшой костяк команды разработчиков. Однако, чуда не произошло: периодически появлялись люди (и я им очень благодарен), которые точечно помогали, если я не мог с чем-нибудь разобраться, но «на постоянку» не нашлось никого. Я тянул проект один и продолжаю это делать сейчас. Соответственно, никакого обмена опыта в рамках команды я не получил, по причине отсутствия таковой.

Что касается основной работы по удалёнке, то спустя 5 лет произошло то, что и должно было произойти. В современном мире жизненный цикл разработки ПО примерно 5-6 лет в самом оптимистичном случае. Далее, без кардинального внедрения новых технологий (что ведёт за собой кардинальную переделку всего проекта), проект будет постепенно распадаться, пока не загниёт окончательно. На фирме это понимали и затеяли переезд всей инфраструктуры на новые рельсы. Участвовать в такой крупной переделке удалённо не представлялось никакой возможности. Требовалось либо личное присутствие, либо нужно было увольняться. Я только-только обзавелся жильём и затевать новый переезд, причём на этот раз не одному, а с семьёй, не было ни возможности, ни желания.

Просто работа

2011 год. Ну что же, вот я и приплыл. Теперь вариантов немного: либо фриланс, либо веб-студия, либо местное производственное предприятие.

1. Фриланс в области разработки - это очень специфичная вещь. Я периодически делал несколько заказов в режиме фриланса и знаю, что это жуткий вынос мозга. Обычно, всё происходит по одному и тому же сценарию: пытаясь сэкономить, заказчик находит каких-то мутных исполнителей, которые что-то пилят примерно до момента «что-то начинает работать». Исполнители получают какие-то деньги и исчезают по самым фантасмагорическим причинам. Заказчик до последнего пытается добиться от исполнителей завершения проекта, но нет. В результате все сроки вышли, бюджета нет, и заказчик начинает судорожно искать кого-нибудь на фриланс-биржах или по знакомым, кто разберётся в том, что было сделано, и «немного допишет», ведь, по его мнению, гигантская часть работы уже выполнена и уже «почти всё работает». Или другой вечный сюжет: сделайте мне аналог VK за месяц, плачу 8 тысяч рублей. В общем, об этом можно долго говорить, но, по моему опыту, найти адекватного заказчика в России очень сложно. Самое лучшее, на что можно рассчитывать - это выполнение кучи мелких заказов за небольшие деньги. Адекватности в них больше, но их количество, обычно, ограничено. Как временный заработок такая работа может быть и имеет право на жизнь, но постоянно такими вещами заниматься - несерьёзно.

2. Веб-студия, по моему мнению, - это путь в никуда. Можно прокачать свои скиллы в нескольких CMS, разобраться с парой веб-фреймверков. Заточиться на PHP, присматриваясь к Питону и Ноде. Ну и дальше что? Бесконечное клепание сайтов, постоянный поиск заказчиков, ибо работа разовая. В нашем городе есть ровно одна веб-студия с приходящим веб-программистом. Есть пара предпринимателей-фрилансеров, работающих за еду. Кто-то скажет, что Интернет большой. Да, так и есть, но смотри пункт первый про фриланс. Кроме того, коммерческими сайтами заниматься весьма скучно.

В общем, никаких перспектив в мире разработки для меня не осталось. Да, я очень, очень хотел развиваться как разработчик, но разработчики в моем окружении никому не нужны. По факту, они нужны в нескольких крупных городах: Москва, Питер, Новосибирск. А если посмотрим на более другие поселения, то там уже всё гораздо грустнее. Вот, например, Пермь, 2016 г. (страшно подумать, какие зарплаты были в 2011 г.):



Эти зарплаты - не насмешка, это всё на полном серьёзе. Но в вышеприведенном объявлении хотя бы есть работа. В поисках предложений я прошерстил hh.ru с фильтром по региону. Ближайшая работа разработчиком - через 250 км. При всех прикидках вырисовывалась следующая картина, которую мозг постоянно отпихивал как неприемлемую: хочешь быть разработчиком - уезжай в большой город или меняй страну. Не хочешь уезжать - ломай себя и меняй сферу интересов. Непривлекательная альтернатива.

Я сидел, думал, и решил мыслить шире. Хорошо, с разработкой не сложилось. Но мы должны уважать себя, и не выбрасывать свои знания, а попытаться их трансформировать для других вещей. Желательно, чтобы эти вещи двигали человечество вперёд, тогда в моей деятельности появится хоть какой-то смысл. Есть ли у нас в стране такие направления? То, что мы умеем делать на мировом уровне в промышленных масштабах, и составляем хоть какую-то конкуренцию на мировой арене? Похоже, что есть. Авиация, космос и атомная энергетика. Сейчас ни одна из таких сфер деятельности не может обойтись без ИТ-технологий. Если я пойду в такую сферу, то сделаю свой вклад, каким бы он ни был. Что для меня более реально? Атомная энергетика. В городе есть предприятия атомной отрасли. А космодромов и авиазаводов не наблюдается. Значит, выбора не остаётся...

Продолжение следует




#историижизни

личные финансы, #историижизни, предпринимательство, ностальгия, программист, экономика, компьютер, цитата, it, предпринимательская способность, Россия

Previous post Next post
Up