// Сразу скажу, эссе без цели и смысла, мне нужно было сдампить середину размышлений и наблюдений. Лучше пройдите мимо.

Есть заблуждение… даже набор, который крайне грубо можно сформулировать так: программист, технологический стек и задачи – три не особо пересекающихся во взаимном влиянии кривых. Одни считают, что на любом языке можно решить любую задачу. Другие считают, что после десяти лет бухгалтерского софта они напишут качественную игру. Третьи в принципе не вникают в область задач и требуют от менеджеров абстрагированных тикетов.

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

Не буду шлифовать формулировки, эссе о другом.

Обращали внимание на то, какой диаметрально разной бывает разработка? Вот невероятно разной буквально по всем параметрам.


Компания «GlobalWare» делает мелкие и средние сайты на заказ. Специализируется на визитках и витринах. Фишка компании: утром деньги, вечером сайт про стулья.

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

Условия эксплуатации продукции: оранжерейные.

Количество продукции: 100+ сайтов в год. Число почти с потолка, но надо же мозгу за что-нибудь зацепиться.

Средний срок жизни продукта: до года. За год большинство заказчиков проходит ребрендинг, банкротство, переосмысление, расширение (и потому визитки уже мало), смену руководства (с его новыми мётлами) и т.д.

Риски бизнеса: такие студии очень мобильны и реактивны – нет физического производства, развернуть рабочие места просто, долгосрочные контракты отсутствуют и т.д. В случае проблем на рынке можно оперативно открыть / закрыть.

Построение бренда: присутствует только у крупных игроков. Средние и мелочь могут играть во все эти игры, но у большинства нет ни долгой истории, ни далёкого будущего, нет какой-либо идеи, нет ничего, на что можно насадить бренд – «мы делаем сайты-визитки since прошлый понедельник», ага.

Что за люди и процессы будут в такой компании?

Во-первых, молодёжь первых лет работы – 20..25 лет. У большинства нет семьи, детей, уверенности, накоплений, самостоятельности и всего того, что мешает человеку сидеть в офисе 12..14 часов в сутки, ведь очень срочно надо очень важному заказчику запустить сайтик вот прям утром – директор так сказал.

Во-вторых, большая текучка – та же молодёжь набирается опыта, устаёт, выгорает, мечтает свалить от однообразной кодовыжималки подальше и поскорее.

В-третьих, низкая квалификация – ни уровень задач, ни условия работы, ни оклады не подразумевают штучный набор как сеньоров, так и миддлов.

В-четвёртых, при неглупом руководстве (на галерах это нередко костяк вниз до неплохо оплачиваемых лидов) тотальная автоматизация, выполняющая три задачи:

  • обеспечение работы конвейера CI/CD, снижающего риски при внезапной (ха) замене разрабов, админов и пр. – должно быть пофиг, кто нажимает кнопку выкатки, пусть хоть уборщица тётя Люся шваброй ткнёт;
  • максимальное сокращение времени выполнения заказа – на это влияет уйма мелочей от ввода в строй новых сотрудников до автоматического тестирования;
  • компенсация низкой квалификации персонала – чем меньше кнопок нажмёт Вася, тем меньше ошибок он совершит, потому в автоматизацию от Васи уходит всё-всё-всё, он даже вид трекера себе настроить не может, настройки спускаются сверху, а если кто из костяка за премию сваял генератор сайтов для типовых заказов, так и вообще хоть соседку-пенсионерку надомницей делай, пусть по чеклисту курсором машет.

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


Компания «Сарыньмехавтомат» делает двигатели для ВМФ, в том числе и на экспорт.

Ответственность: огромная. Чудящий или неработающий двигатель может стоить жизни 500..1000 человек (экипаж крейсера, например).

Условия эксплуатации продукции: агрессивная среда от плохо обученной команды до боя в штормящем океане.

Количество продукции: 5..10 двигателей в год. Тоже почти с потолка.

Средний срок жизни продукта: до 30 лет. На деле история ВМФ знает и дольше сроки, но пусть так. За эти годы, конечно, и ремонты, и замены, и частичная модернизация (если возможна), но основа остаётся.

Риски бизнеса: большие от срыва работ по политическим причинам до растаскивания предприятия на запчасти приватизаторами, от особенностей очень нишевого рынка до рисков отставания (кто с R&D на пару лет опоздал, тот на все двадцать опоздал). Мобильность никакая. Вы не можете легко даже за год развернуть такое производство.

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

Что за люди и процессы будут в такой компании?

Во-первых, нехилая доля людей 40+ лет жизни, иным и под 70 лет. Среди причин и невысокий уровень стартовых окладов (на галере вчерашний выпускник больше заработает), и стабильность (скажем, после 30+ лет тебе важнее думать, что завтра компания не развалится), и долгие многолетние проекты (как-то глупо увольняться через два-три года, не доведя пятилетний проект до релиза).

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

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

В-четвёртых, мало автоматизации. Точнее, её нет на привычных по галерам местах. И тут причин хватает. Часть специалистов привыкла без автоматизации всё руками делать. Часть процессов просто не автоматизировать в разумных рамках времени и бюджета (вы не просто билд выкатываете на сервер, но прошивку в двигатель, а также на всякое управляющее и мониторящее, например). Часть процессов настолько редки, что их проще и привычнее снова без автоматики сделать. Часть процессов вне автоматизации потому, что некому такое автоматизировать (молодые девопсы на галерах рубль косят), а пожилым оно нафиг надо.

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


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

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

Веб-гребец отформатирован под «срочно быстро наговнокодить всё равно послезавтра код выкидывать зато вот тебе деньги прямо сейчас да никто тебя не держит вали к Петровичу там такая же контора это вообще мой братан лол». У его кода нет метаценности – код лишь посредник для бабла между заказчиком и кодером.

Трухлявый дед закаменел под «лучше два года медленно и упорно писать сто страниц кода чем через десять лет узнать из новостей и гадать не твой ли код утопил мирный ракетный трактор в степях Монголии». У его кода есть метаценность – служение людям, спасение жизни, участие в цивилизации (от прогресса наукой до регресса бомбой).

Не значит, что кто-то тут плохой или хороший. В общем, все работают, все нужны, все на общее благо прямо или косвенно. Но блин. Насколько же они разные. Разный технологический стек (условно PHP vs C). Разные процессы (скорость vs качество). Разные сроки (однодневка vs многолетка). Разные мотивы (бабло vs крутость). Разные ценности (мобильность vs стабильность). Разная речь (баззворды vs ГОСТы). Разные команды (хорошие люди vs душные специалисты). Да даже политически часть группируются (навальные vs путины).

Меня во всём этом здорово цепляет и то, как меняются люди, долго (скажем, десять лет) работающие в условиях «GlobalWare» и «Сарыньмехавтомат». Хочешь или нет, а работа тебя формирует, становится частью скелета. И ты спустя эти годы уже перестаёшь видеть альтернативы. Тебе кажется, что [настоящая] разработка – она вот именно и только такая, что вокруг тебя. Веб-гребцы в упор ничего не признают вне своего WebЦифраНоль. Деды вообще не считают веб программированием, и всё это пройдёт, а двигатели крейсеров вечны.


И вот тут вернуться к началу. Любым программистом на любом языке любой задачи вы являетесь на самом старте карьеры. Вы ещё не выбрали таблетку, не проработали в разных компаниях (а они в вас). Вот на этом начальном этапе рабочей жизни всех программистов ещё можно обобщать в некоторое общество – программисты. Но вот вы делаете выбор и каждый следующий год работы лепит из вас уже не любого. Вот ещё год, и ещё…

И вот Вася уже Ultra Senior First Site Page Officer в каком-нибудь Амстердаме. Вершина лестницы по пути GlobalWare, дальше либо выгореть, окончательно потеряв смысл работы, либо склонировать GlobalWare и паразитировать на молодых Васях. Ему уже никогда не делать двигатели (да он и не хочет).

И вот Петя уже главный конструктор международной категории во всё том же Сарынь-Устюге. Живёт в той же однушке, в той же хрущёвке. Его двигатели помогли стране на сантиметр, а сам он превратился в брюзгливого сварливого деда со скверным характером. Ему уже никогда не заработать быстренько вёрсткой на фрилансе (да он и не хочет).

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