9000 » from archive
«…[B]ought into the silly “availability of programmers” argument… If a guy came telling me that he wanted to program only in, say, Java because that’s what he knows best and that he doesn’t really feel prepared or interested in learning and using, say, Clojure (or any other language, really), i wouldn’t hire him in a million years» - http://jao.io/blog/2013/06/19/where-my-mouth-is/
He doesn't really refute the availability argument, does he? Willingness to learn is one thing, having an unmaintainable codebase in a language that turned out to be a passing fad is another. ‎- Lviv and let die
There is, after all, such a thing as a language that was cool and then ceased to be cool, not getting any traction at all between these two points. I'm not afraid to be thrown fæces at, so I'll name Groovy at once. ‎- Lviv and let die
There is also a strong vicious circle here, as most resume-honing professionals out there refuse to spend their limited lifetime on anything perceived as "marginalised", which of course only further perpetuates the availability argument. ‎- Lviv and let die
Ну и вспоминается, как у коллег в конторе один увлечённый товарищ во время отпуска СТО по-быстрому нафигачил очередного робота на Эрланге just for the fuck of it. ‎- Lviv and let die
Поскольку товарищ составлял согласно известной шутке самую большую команду разработчиков на Эрланге в Питере, после его ухода контора наняла чувака с большим мозгом, который был готов разобраться в Эрланге — и задачу ему поставили перепереть всё на C++. :-) ‎- Lviv and let die
Если эрланг у нас "очередной fad", то чувак по ссылке выходит кругом прав. Кстати, я неплохо помню времена, когда ява была подозрительной новой технологией. ‎- 9000
Не, Эрланг не то чтобы fad, но маргинальное очень явление. ‎- Lviv and let die
И я позволю себе повернуть availability argument на совсем уже неприличный угол — сейчас что в Штатах, что в России очень непросто найти квалифицированного человека, готового заниматься поддержкой и развитем legacy системы на VB6. :-) ‎- Lviv and let die
Просто availability argument, он совершенно валидный и имеет под собой реальную экономическую основу, причём с обеих сторон рынка труда. А автор текста по ссылке эстет. ‎- Lviv and let die
А про Джаву как новую подозрительную технологию в одной фразе с Эрлангом писал нам незабвенный товарищ А.А. Зиновьев: "Всё старое и отжившее мы будем душить в зародыше!" Эрланг же не новое подозрительное, а <s>market failure</s> жертва аборта. Он даже не успел стать fad'ом, как скатился в global irrelevance. ‎- Lviv and let die
Да BS это во многом, мне кажется. Просто для того, чтобы начать писать код для гугла, мне пришлось изучить навскидку штук 5 фреймворков и один несложный язык. Или когда мне предложили в середине проекта переключиться с языка X на язык Y, я не испыьал затруднений. Ну ладно, гугл выпендрёжная контора, в других поменьше приходится, но, мне кажется, это неизбежно. ‎- 9000
Про VB6 — отличный пример того, как желание оставаться на старых, проверенных технологиях может выйти боком. Ладно VB6, его, наверное, полуавтоматически можно превратить в VB.NET. А вот с legacy C++ кодом человечество ещё намучается. ‎- 9000
Так вопрос не в том, может или не может инженер выучить сто фреймворков и пять языков. Проблема в том, стремление выучить что-нибудь этакое это одно, а стремление сформировать резюме с целью максимизации своих ожидаемых будущих доходов это другое. Я кстати тоже не люблю людей с голой меркантильной мотивацией, но их в мире много, они умеют делать хорошую работу и с этим надо считаться. P.S. И они кстати тоже умеют все эти окамлы для души учить. :-) ‎- Lviv and let die
Я как-нибудь отдельно расскажу, что бывает после полуавтоматической конвертации VB6 в VB.NET. :-) ‎- Lviv and let die
А Эрланг как раз "старая и проверенная" кстати. Солидная шведская инженерная школа, тридцати- уже что ли -летняя история, все дела. ‎- Lviv and let die
Т.е. availability — это валидный аргумент, но не в области "мы используем только языки с историей 10+ лет повсеместного применения". Разумеется, язык версии 0.95beta2 можно применять только на свой страх и риск (и не только в области доступности разработчиков). Но, условно говоря, я не верю в недостаток на рынке в обозримое время людей, знающих Scala или Go, по ср. с людьми, знающими яву и плюсы. А преимущества в как раз maintainability кода довольно очевидны. ‎- 9000
Спрос и предложение рулят. Ты зря не веришь в недостаток гошников кстати, а скалисты в товарных количествах стали появляться только последние пару лет. ‎- Lviv and let die
Кстати о VB6 (и, возможно, эрланге, перле, пыхе, надеюсь, и плюсах): если очень дого держаться за "проверенный инструмент" и не замечать движения снаружи, можно легко оказаться с безнадёжно устаревшей code base. Надо не бояться вовремя сменит технологию. Твиттер вон не побоялся. И амазон (первая версия которого была на лиспе) тоже не побоялся — думаю, не потому, то знающих лисп было мало вокруг. ‎- 9000
Твиттер не побоялся по слухам потому, что ruby didn't scale гггггг. ‎- Lviv and let die
И не в проверенности дело. Проверенность это про правую часть кривой Роджерса, а я достаточно видывал CTO/CIO из вполне себе левой части, которые принимали осознанное решение идти с Джавой по причинам, совершенно отличным от проверенности. Гугль же тоже, насколько я знаю, ограничивает выбор языков для реализации в большинстве случаев, нет? ‎- Lviv and let die
Что до Go — нормальный человек его способен выучить за неделю (мне хватили примерно 4 дней, 2 из которых ушли на the tour of go). Не надо нанимать "разработчика на конкретном языке", это как нанимать кавалериста для езды на вороном коне. Нормальный кавалерист сумеет и на гнедой кобыле гарцевать, поучившись пару недель. ‎- 9000
Гугль ограничивает, да. Хотя всё время расширяет (в т.ч. разработанными внутри), но скалу, например, ещё не включил в одобренный список "годных для всего" языков. ‎- 9000
Что до твиттера, не в руби дело. У гитхаба руби масштабируется, потому что они нормальные люди. А твиттер писали пионеры (нормальные люди пришли потом). ‎- 9000
Мне как-то лениво спорить начиная с нормального кавалериста. Ну и я не в позиции кагбе видимо, потому что код за деньги не писал уже девять лет. Я достаточно слышу от коллег, в инженерную компетентность которых верю очень сильно, про случаи вида "система писалась людьми, которые язык/фреймворк XYZ учили в процессе её проектирования и написания, и которая поэтому имеет архитектурные дефекты, несовместимые с жизнью, и требует пару месяцев на рефакторинг". ‎- Lviv and let die
Не, я вовсе не глух к дововдам с твоей стороны. ‎- 9000
А вообще автор текста по ссылке, как я понимаю, стартапер, поэтому в его мире availability argument конечно не действует. У него нет сотен сложно и прихотливо интегрированных систем и он может позволить себе нанимать людей за любые деньги — пока первые раунды не потрачены. :-) ‎- Lviv and let die
Ну и что такое вот эти вот "пионеры", как не энтузиасты, учившие руби в процессе? И кстати, у нас есть какие-то метрики, позволяющие сравнивать твиттер и гитхаб (нет, я не хочу обосрать руби, мне просто интересно)? ‎- Lviv and let die
Речь, мне кажется, не о ситуации "мы услышали о новой технологии X, давайте начнём проект на ней и выучим в процессе". А скорее "мы все тут имеем некоторый опыт использования X в игрушечных проектах. Давайте попробуем сделать на ней не-игрушечный, поскольку преимущества-то больно уж заманчивы." Но тут да, нужна некоторая критическая масса попробовавших (в свободное время, на свой страх и риск). ‎- 9000
Метрики? Ну, напр. число инженеров на одного пользователя, число ощутимых для большинства пользователей сбоев в месяц / год. Время загрузки страницы :) ‎- 9000
С третьей стороны, я, конечно, могу повспоминать тупиковые вундер-технологии вроде ColdFusion или там лебедевского парсера. Но не могу припомнить случая, когда эта технология была бы выбрана именно инженерами (мне в жизни незаслуженно везёт, я в курсе). ‎- 9000
Я что-то опять ушёл в дискуссию о сложности мира. :-( А пойнт был в том, что есть в мире контексты, где availability argument работает, и что они обусловлены в том числе и предпочтениями инженеров. ‎- Lviv and let die
О, только вчера вечером с коллегой вспоминали ColdFusion. :-) Не скажи, его бывало выбирали именно инженеры как вундервафлю. ‎- Lviv and let die
В общем, спасибо за оппонирование, картинка заиграла объёмом. ‎- 9000
А вспоминали как раз кейз, когда один очень известный и ultimately успешный стартап (не будем показывать пальцем) исходная команда гениальных инженеров во главе с гениальным СТО написала на ColdFusion, а потом продала злым инвесторам. Инвесторы первые года два отлаживали логистику и бизнес-процессы, а потом из чисто бизнес-соображений потратили N человеко-лет на переписывание на чём-то более приемлемом (кажется, ламповом, но я не уверен). ‎- Lviv and let die
Да, тут ещё right tool for the job. В стартапе всё надо быстро и дёшево, а масштабно обычно ещё не надо, поэтому всё, что можно, делается из изоленты и пластилина (у гугла 1998 года была знаменитая стойка для дисков из лего). Ибо ещё 3 раза переделывать же под реакцию публики. А потом, *если* будет успех, надо постепенно менять пластилин на титан и углеволокно, как у больших. Пионеры, написавшие твиттер на рубиновых рельсах, несомненно, более правы, чем те, кто не написал, или написал, но не раскрутил. ‎- 9000