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

  • Даль: «ЛУЧШИЙ .. сравнит. и превосходная степень от хороший, .. более добротный, более красивый, годный; самый хороший; сравнительно с другим, высший по качеству».
  • Ожегов: «ЛУЧШИЙ .. Самого высокого качества, самого хорошего свойства».
  • Ушаков: «ЛУЧШИЙ .. Превосх. ст. к хороший; наилучший. Лучший из всех. Лучший сорт. В лучшем случае».

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

Остальным напомню ещё одно – нет речи о том, что в СССР / СНГ / РФ плохие программисты или их вовсе нет. Но есть:

  • наблюдение: миф о лучших программистах;
  • вопрос: на чём основан этот миф и какие данные скажут о том, что это не миф?

А это эссе будет… дополнением и наблюдением по следам реакции.


Во-первых, всё-таки про смысл слова. Есть первое место, есть второе, третье и остальные. На первом месте лучшие – показавшие лучший результат по какой-нибудь шкале. Этот дальше всех прыгнул, эта больше всех автомобилей продала, вон те ребята вообще запустили зонд к Меркурию, Перельман за пельменями вышел, а остальные не смогли. Тут ну никак не получается прыгнуть поближе, но считать, что ты чемпион. С этим к любимой бабушке, для неё внук всегда самый умный и лучший, пусть и сидит на зоне за то, что в ПТУ деталь слямзил.

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


Во-вторых, про количество контрпримеров. Абсолютно все без исключения оппоненты назвали мне фамилии одних и тех же людей (Дуровым и Сысоевым вообще плешь проели до шеи, блин, ну зазубрите вы другие две фамилии). Список из пары десятков человек. За последние 30 лет. Если бы мы обсуждали село Мухобойкино, эти люди (без иронии сильные программисты) однозначно свидетельствовали бы о том, что мухобойкинцы удивительно преуспели быть лучшими. Но давайте посмотрим на эту цитату 2015 года:

Расти будет и численность программистов – по данным рекрутинговой компании «АНКОР Высокие технологии», их количество увеличивается на 9-11% ежегодно. Сейчас, по оценкам «Руссофта», в России их 400 000 — 500 000 человек. Каждый год российские программисты увеличивают свою долю на мировом рынке на 0,1%.

Из свежих есть и такие данные:

Анна Кулашова, член совета директоров компании Microsoft, утверждает, что на настоящий момент в Российской Федерации трудятся примерно четыреста тысяч дипломированных программистов.

Ну т.е. число в 500К программистов можно принять за примерно верное и достаточно устойчивое. Вон на пять лет хватило.

Так вот. Точно не должно смущать, что на такую прорву рабочих рук и голов, за такое количество лет поднимания с колен вы называете одних и тех же чуваков «из телевизора» (удивительное пересечение списка с постоянными докладчиками Highload++, плюс пара-тройка исторических личностей, не знать про которых вообще вонизпрофессии)? Ау, в России 150М жителей, 500К программистов, а Сысоев почему-то один уже 15 лет как.

В другом (менее язвящем программистов контексте) такая малая выборка поставила бы вопрос о том, являются ли такие программисты системным явлением или всё же исключением?


В-третьих, давайте всё-таки не приводить примером компании, бизнес которых появился и вырос потому, что у нас импортозамещение, скоро уже и калькуляторы надо будет через пять кругов ФСТЭК России прогонять, вот где можно развернуться-то, а. На этой почве даже ничего придумывать не надо. Берёте санкционный или небезопасный зарубежный продукт, создаёте его копию с вариацией, продаёте тем, кому нельзя купить оригинал. Вопрос в том, сколько чуваков вы нагоните и какой у вас бюджет со сроками (примером похожего успеха считаю МойОфис – интересно, где бы они были, не будь закупок госорганами).

Давайте также не приводить примером компании, бизнес которых появился и вырос потому, что в каждой стране свои погремушки. Скажем, да, 1С сильный продукт, на нём вся Россия сидит, но он нафиг никому не нужен вне России (по очевидной причине), а насколько это успех программирования, а не бизнеса… Ну фиг знает. Проблема в том, что как тут шкалу построить? Наши программисты крутые потому, что для бухгалтерий России успели сделать бухгалтерский софт? Дык в каждой развитой стране такой софт есть.

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


В-четвёртых, давайте всё-таки различать следующие кейсы:

  • в России кто-то делает такой же продукт, какой сделан (и не раз) не в России;
  • в России кто-то делает уникальный сложный продукт, популярный не только в России.

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

Второй же кейс именно про лучших. Здесь всё намного сложнее, примеров из этой категории вы почти и не смогли привести. Здесь всё те же Сысоев (Nginx) и Миловидов (ClickHouse). Уникальны не только результатом, но и тем, какими малыми силами (к слову, если и искать отличительную черту отечественного программирования, так это то, как удивительно небольшие команды делают то, чем на Западе занимаются батальоны) достигнут впечатляющий результат. Сюда бы я с предыдущей поправкой в скобках отнёс бы Лапшина (Erlyvideo – субъективно восхищаюсь их историей, стеком и тем, что делают) и Подольного (Физприбор – ну молодцы же), например. Также после размышлений (в одной дискуссии дали контраргументом, я сначала отверг, а сейчас думаю, что таки пример и хороший, пусть и не про программистов) можно упомянуть Rock Flow Dynamics – уникальный, мирового класса, высокие технологии, know how, приносит много денег.

Вот примеры второго кейса и рулят. Только их мало. Очень. Даже сто было бы мало. В США на 330M жителей вот такое:

According to CompTIA, there are more than 525,000 software and IT services companies in the United States (approximately 40,500 tech startups were established in 2018 alone). This total includes software publishers, suppliers of custom computer programming services, computer systems design firms, and facilities management companies

Кек. У них IT-контор больше, чем у нас программистов, да. Забавно. Ладно, дальше.


В-пятых, про шкалу. Интуитивно казалось понятным (и by default подразумевалось в эссе), что лучшие и крутые программисты – те, что показали результат при решении сложных задач программирования. Если вы нагоните 100 разработчиков, за год каждый напишет складской модуль к какому-нибудь SAP, вы заработаете мешок денег – это успешный бизнес. Считать ли эту сотню модулеписателей лучшими программистами на основе успешности бизнеса? Мне кажется, нет. Это разные шкалы.

Традиционно сложные задачи программирования – создание операционных систем, языков программирования, компиляторов, баз данных, софт для суперкомпьютеров и т.д. Иными словами, задачи, для которых от программиста требуется напряжение знаний (и опыта) железа, computer science, инструментов, языков и ещё стопки всего. Это высший пилотаж программирования. Преуспевшие на этом поприще люди висят на досках ACM, IEEE и Wikipedia (простигосподи).

В одной дискуссии оппонент назвал такую шкалу экстремумом (и отмахнулся от неё, очень удобно). Но… у других же получилось. Почему для российских программистов надо снижать планку и считать, что это… ну не знаю, завышенные ожидания? Почему-то для Юкихиро Мацумото оказалось нормальным создать Ruby, а для Хосе Валима создать Elixir. Swift’ом рулит Крис Латтнер. Над Go трясут стариной Роберт Гризмер, Роб Пайк и Кен Томпсон. Это какие-то неправильные программисты? Что не так было с Гордоном Беллом и Дэном Доджем, ещё студентами заложившими QNX?

В общем, мне думается, убирать эти Эвересты со шкалы очень удобно, но как-то кхм. Честнее таки признать, что в России (не СССР) за все годы смогли в Kotlin и 1С, пока за границей смогли многократно больше, да и жить с этим дальше.


В-шестых, вашего знакомого позвали в известную компанию XYZ, потому этот знакомый крутой и программисты России лучшие. Да, такая аргументация тоже прозвучала. Ну… Как по мне, это означает, что ваш знакомый достаточного уровня, чтобы работать наравне с теми тысячами других программистов (большая часть которых не из России), что отвечают стандартам нанимающей компании. Исключение – люди вроде Бабаяна и Пентковского, но это совсем другая история.

Нет, правда, это какая-то занятная черта в людях – кого-то взяли / позвали в XYZ! Ого! Да блин, ау, там тысячи сотрудников, адовая ротация кадров, в них работали, работают и успеют поработать десятки, если не сотни тысяч человек. Ваш знакомый будет сидеть рядом с пятью европейцами, тремя бангалорцами, двумя китайцами и нигерийцем. Что это значит? Да ничего, кроме того, что рабочую силу в современном мире гребут со всей планеты, лишь бы выгодно было.


В-седьмых, в России ужасный менеджмент, 90-е, война и разруха – так бы мы показали всем мать Кузьмы. Пожалуй, самый весомый аргумент, с которым глупо спорить (более того, я сам им часто защищаю российскую разработку). Есть одна проблема с ним. Видите сверху фамилии создателей Elixir и Ruby? Если в Kotlin потребовалось вложить $30M..$35M (как понимаю, это в немалой части не сама разработка языка, но также построение экосистемы в целом, расходы на мероприятия и т.п.), что может служить как «последние десятилетия разработка языка – это очень дорого, а у нас денег нет», то вон же примеры обратного. Студенты, создающие будущие популярные операционные системы. Одиночки, создающие будущие популярные языки.

Что, снова отвернёмся от множества примеров того, как хороший активный программист безо всякой поддержки (разве что со стороны мамы и папы) делает что-то, что потом захватывает мир? Ведь если не отворачиваться, возникнет всё тот же вопрос: почему в стране лучших программистов не создали Linux, Elixir, QNX, Ruby?


В-восьмых, у меня регалии, автор вообще не в теме, в кулуарах говорят, ссылок не дам. Сборный портрет определённого класса оппонентов. Даже не знаю, что отвечать. Ну и ок. Ну и ладно. С таким же успехом, мне думается, можно уверять, что Земля плоская. Ссылок не дам. Но я академик РАЕН. У нас все в курилках говорят, что плоская. Даже дочь офицера по большому секрету поделилась фотографией страницы секретного отчёта американского спутника, там-то эксперты сидят, просто так болтать не будут.


Если таким макаром всё же резать фильтры, то почему бы не признать, что у нас лучшие автомобилестроители? Судите сами:

  • международные профессиональные награды и премии нам не нужны, потому и фиг с ними; да, эта смешная бесполезная Формула-1 тоже нафиг;
  • заводов в стране хватает (20+);
  • сотрудничество с зарубежными партнёрами налажено (Hyundai, Nissan, Renault и т.д.);
  • продукция идёт в том числе и на экспорт;
  • есть интересные уникальные решения (от армейских Тигров до полярных вездеходов);
  • продажи вроде норм (вон Лады по 330К штук в год продаются!);
  • кто не слышал про КАМАЗ? весь мир слышал!

Хм. А и в самом деле. Ведь так круто всё получается.


И снова повторю (с программистами иначе нельзя): речь не о том, что у нас плохие программисты. Да нет, конечно же. У нас хватает полярных вездеходов интересных сильных разработок (мне в последнее время нравится изучать деятельность ИСП РАН и ждать, когда же на массовый рынок выйдут изделия софта и железа МЦСТ). У нас (ну, в той мере, в какой можно считать JetBrains российской разработкой) появился Kotlin (вообще молодцы, правда, очень крепко взяли Java-мир за подчерёвок).

Но хватает ли этого, чтобы быть лучшими? Хорошо, Россия уже продолбала мировые рынки массового продукта (спасибо концу 1960-х, спасибо 1990-м), туда если и выйдешь, то на кровавых соплях и на бочках с миллиардами, да и то невидимая рука рынка вмешается демпингом цен, сухогрузом дорогих сертификаций и санкциями. Тем, кто не понимает, что такое мировой рынок, один из примеров: «There are now 1.2 billion Office users and 60 million Office 365 commercial customers». Если для вас продажа 100..1000 лицензий в месяц планка счастья и крутизны российской разработки, ну… ну блин. Вы либо считайте невдолбенным успехом продажи в Кукуевке (и тогда не говорите про мир), либо таки продавайте миллионы лицензий того, что напишут ваши лучшие программисты (и оно таки должно в лучшую сторону отличаться от того, что пишут просто программисты, а не падать раз в сутки, накапливать в трекерах сотни bug-тикетов, творить периодически неведомую хренотень и вообще вести себя как самый обычный продукт самой обычной разработки).

Как-то так.