LINUX.ORG.RU
ФорумTalks

Почему решая литкод ты никогда не станешь архитектором (но на самом деле никогда не хотел им быть)

 , , , ,


7

1

Специальный выпуск для linux.org.ru.

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

Среди взрослых людей есть довольно ярко выраженная дихотомия в способе принятия решений: люди, которые знают решение, и люди, которые это решение всегда способны найти за достаточно продолжительное время; те, кто ни за что не признают ошибку, и те, кто ошибаются на регулярной основе даже если уже знают решение; те, чей максимальный интервал принятия решений составляет «между двумя глотками смузи» (ведь «моё время дорого стоит»), и те, кто тщательно выстраивает цельную картину проблемы и неспешно обсасывают ее со всех сторон.

Поскольку первых людей сильно больше, чем вторых (соответственно спросу), то массовый программист, как правило, оценивается по тому, как много решений он может выдать между двумя глотками смузи. Индустрии нужно зарабатывать деньги на массовом конвеерном фуфле, индустрии не нужны оригинальные решения. Как решить большую сложную задачу на подобном конвеере? Взять больше смузи и хлебать чаще, посадить дополнительных смузихлебов на тестирование этого дела. Самое страшное — когда в подобном духе начинает работать Boeing, и самолеты начинают падать. Можно радоваться тому, что упал не ваш самолет, а можно подумать о том, что завтра ваше авто с вами за рулем может внезапно оказаться не ваше, потому что его хакнет 7-летний китайский ребенок, и единственная реальная защита — это тот факт, что Илон Маск платит всем денеги только чтобы уязвимостями в автомобилях и инфраструктуре не пользовались злоумышленники.

Мне вспоминается старый-престарый эпизод моей жизни, как я еще будучи школьником выиграл олимпиаду по информатике. Задача была на поиск кратчайшего пути (пардон, точного условия уже не помню, это было давно и неправда). Грамотный программист быстро выдаст вам «правильное» решение O(N log N) по алгоритму Дейкстры. Но поскольку на тот момент я не знал алгоритма Дейкстры и не был грамотным программистом, то вместо «правильного» решения выдал асимптотику O(N), заэксплуатировав некоторые особенности конкретных условий той задачи.

И второй эпизод, современный. Меня выбесило одно из недавних моих собеседований: некая контора дала мне тестовую задачку, являющуюся также одной из фундаментальных задач, решаемых их продуктом. Мне просто забыли сказать, что «правильный» метод должен быть O(N^3), и я случайно потратил целый день на разработку метода O(N^2), который оказался настолько неожиданным для «сеньоров», что им понадобилась целая неделя для анализа моего решения на 500 строчек (inb4: фу-фу, лапшемес), а на собеседование со мной собрали всю верхушку — на минуту у меня сложилось ощущение, будто меня собеседуют в гугл, а не в местную помойку. Я не удивлюсь, если вся их шарашка уже работает над интеграцией моего метода, и в скором времени получит премию, мол «наш отдел провел тщательные исследования предметной области...», а тебе, мартыха, хрен с маслом. И это собравшееся начальство на собеседовании было серьезно намерено развести меня на решение еще одной важной для их помойки задачки. Большая часть их штата джуно-мидлов занимается обвязками-прокладками-интерфейсами-тестированием, короче говоря, теми задачами, под которые можно нанять горсть рабов с улицы хоть прям щас — но эти люди в жизни не смогут выдать оригинального решения, а только будут ждать команд сверху.

Вишенка на тортике — под конец мне дали задачку с литкода, которая была будто специально подобрана так, чтобы быстрое решение требовало от меня знание специфичных фич стандартной либы, которое я им изначально честно заявил как «слабое». Те функции выучиваются наизусть за пару дней, а аналитическое мышление развивается годами, но нет «ты слабоват, мы можем тебя взять, но на ЗП в два раза меньше». Вот так вот: «не подскажешь, как пройти к вокзалу?... А теперь встань раком и вези меня туда».

Что мы всё про меня да про меня. С точки зрения массовой индустрии Дуглас Крокфорд — посредственный программист, и в недавнем треде большое число отписавшихся доходчиво пояснило, почему это так. Да, подумаешь, он создал какой-то там JSON, на котором работает половина индустрии, а еще создал JSLint, который ведь оказался так себе и был вытеснен ESLint-ом, и вообще «я могу сделать лучше, просто оно мне не надо». Но печальная истина в том, что тысячи смузихлебов писали на JS безо всякого линта, и, я уверен, при возникновении онного долго противились новой технологии. Проходит время, и вот уже каждый школьник считает своим долгом задействовать ESLint и JSON, а пишет, естественно, на ES2015, добрая половина фич которого была реализована при непосредственном участии Крокфорда (кстати, мало кто знает, что Object.keys/Object.values еще в ES5 было внесено по инициативе Крокфорда) — но этот школьник понятия не имеет, откуда взялись «мои любимые технологии».

Я хочу подчеркнуть, что это не одиночный пример мнения отдельной макаки — это закономерность, которую заметил не только я, и не только эту. Такие люди, как Крокфорд, могут бесконечно выдавать оригинальные идеи, но как исполнитель они так-себе, у них вечно шило в попе, толкающее на приключения, потенциально грозящие сорвать сдачу проекта (которая назначена на вчера, как обычно). Я задумался: а кому могут быть в самом деле нужны такие люди? Да, в силиконовой долине можно себе пригреть местечко — по этому пути успешно прошелся Крокфорд. А что делать, если я не хочу развивать силиконовую долину? Я в молодости отказался ехать туда, и сейчас не особо горю желанием (но и не предлагают уже). Вот такое вот я капризное животное.

Более того, если допустить, что Крокфорд выдал некое супер-пупер классное решение для вашей фирмы, то возникает проблема — кто его будет поддерживать/развивать? А также так называемый Bus factor — что делать, если Крокфорда убьют Крокфорд уйдет? Типовой сеньор-помидор, посмотрев на код Крокфорда, выпучит глаза и закричит «ты где такое видел? Кто так делает? У тебя своя голова на плечах есть?».

Всё ли так безнадежно, и есть ли более-менее прикладные задачи, которые не сможет решить сеньор-принципал-архитектор даже в обнимку с цистерной смузи, даже выдавая по два заученных решения литкода в секунду? А может быть и есть. Например, быстрой инкрементальной Agile Scrum Kanban Fast-shipping Test Driven методикой постепенной разработки невозможно реализовать распределенную отказоустойчивую БД со строгой согласованностью данных. Отказоустойчивость — это бинарное свойство, БД либо отказоустойчива, либо нет. Не бывает почти отказоустойчивой приблизительно распределенной БД которая чуть ли не сохраняет все подтвержденные транзакции (привет разработчикам MongoDB). Ну то есть она в таком случае не отказоустойчива и не дает гарантий.

Даже Clickhouse можно почти сделать при достаточном стратегическом запасе смузи (только для единственного хоста), но яндекс так и не осилил аналога ZooKeeper (кластер ClickHouse работает через ZooKeeper), поскольку никакое количество костылей, инкрементально разработанных в Яндексе ранее, так и не смогли заменить одного грамотно продуманного решения. Что мы по итогу видим сейчас? Вся инфраструктура Яндекса стоит на ZooKeeper, найди возможность положить ZooKeeper — весь Яндекс встанет колом. Тот же Facebook тоже полагается на ZooKeeper (хоть и меньше, они там саги любят). В Amazon вообще всё печально, и я не поверю, что с любым количеством денег Amazon способен создать аналог ZooKeeper, поскольку я читал статьи их отдела по исследованию распределенных систем, и уровень там совершенно никакущий. Достоверно мне известна ровно одна контора, способная разрабатывать распределенные СУБД с гарантиями согласованности — это Google. Она разработала самое первое подобное решение, Google Chubby, близкой копией которого позже стал ZooKeeper.

Но вот в чем проблема — ZooKeeper уже есть, а значит «ты нам не нужен». Что же еще требует глубокого вдумчивого погружения и нестандартной находчивости? Похожие требования есть у многопоточных приложений. Еще подобного рода мышление нужно при тяжелой глубокой отладке софтины, на отладку которой систематически забивали, предпочитая спринты и быстрые релизы. Правда, с распространением защищенных сред выполенния, вроде JVM, CLR, JS, и Python, неустранимая потребность в отладке сильно снизилось, потому что в крайнем случае можно просто перезапустить контейнер или иметь запасные контейнеры сразу. (Еще есть UI/UX, но про мертвых либо хорошо, либо ничего).

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

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

Парадокс в том, что смузи-мастеры чуть ли не поголовно мечтают быть творцами. Какой смысл этого стремления? «Хорошо там, где нас нет»? «Полчаса побунтовал - и фатит»? Прежде чем окончательно и бесповоротно решить встать на этот путь, посмотрите на настоящих успешных творцов (не путать с клоунами вроде меня или Илона Маска). Такие люди не заработают заоблачных денег, их не расхватывают на рынке труда, им не так просто устроиться на обычную должность, а даже если устроятся — умрут со скуки, попутно занимаясь ремонтом того, что не ломалось, таким образом выведя из строя какой-нибудь старый добрый сервис на Cobol или MUMPS, написанный в 70-х годах «настоящими программистами, настоящими, не то что новое поколение».

Показательно, что работодатели идут навстречу этому стремлению, мол «пишешь конфиги для CI/CD? Ну ты же архитектор теперь». Аналитический склад ума нельзя поменять за месяц, его нельзя быстро приобрести или положить на полку на период отпуска. Wannabe-творец-на-выходные в лучшем создаст популярный клон существующего софта — даже не потому, что не способен ни на что другое, а потому, что понимает, что сообщество не примет ни одной значимой инновации серьезнее плагина к Emacs или очередных скрипт-костылей для сборки C++. Да и то, плагины к Emacs не нужны, поскольку уже есть настоящее проверенное решение в виде Vim и его аналогов.

И я не могу упрекать работодателей (как правильно заметил Kogrom по ссылке выше): им нужна взаимозаменяемость и предсказуемость, им нужно снижение рисков и издержек; им нужен посредственный сайт, который будет создавать иллюзию наличия этого сайта у компании — а больше и не нужно; заказчикам нужна иллюзия масштабирования и отказоустойчивости, с бессмысленными невыполнимыми требованиями к системы — выдайте ему микросервисную архитектуру со стоимостью и временем разработки в 3 раза больше грамотного монолита, также бонусом дайте ценные инструкции по масштабированию бигдата-серверов монги сверх 500 ГБ (на случай, если его бигдата размещается в кластере из айфонов). Можно упрекать разве что себя (мне — себя, а вам — себя, не меня). Например, много лет назад я имел возможность выбрать семью и карьеру, но я выбрал то, что выбрал — не иметь власти, но знать всё и ничего одновременно. В этом есть свой кайф и неудобство одновременно.

★★★

Мне вспоминается старый-пристарый эпизод

прЕстарый

Harald ★★★★★ ()

предлагаю монетизировать себя как пейсателя на околопрограммистские темы, раз тебе не лень такие портянки строчить :)

Harald ★★★★★ ()
Ответ на: комментарий от Harald

предлагаю монетизировать себя как пейсателя на околопрограммистские темы, раз тебе не лень такие портянки строчить

Монетизировать? Сколько на таких бесполезных тематиках можно намонетизировать? Монетизируют обычно на какой-то рекламе или впаривании — а я отвратительный продажник.

byko3y ★★★ ()

Ты зачем-то лезешь в ынтерпрайз, где так принято. Лезь в другое, где так не принято.

Во-вторых, кажется, твоя классификация из говноделов и мастеров меча не полна. В ней нет «хакеров». Хакеры занимаются этим из любви к искусству, а не с целью достичь какого-то конкретного производственного результата

stevejobs ★★★★☆ ()

Мне просто забыли сказать, что «правильный» метод должен быть O(N^3), и я случайно потратил целый день на разработку метода O(N^2), который оказался настолько неожиданным для «сеньоров», что им понадобилась целая неделя для анализа моего решения на 500 строчек

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

TDrive ★★★★★ ()
Ответ на: комментарий от stevejobs

Ты зачем-то лезешь в ынтерпрайз, где так принято. Лезь в другое, где так не принято

Да как-то выбора-то особо и нету. И что по-твоему энтерпрайз? Вот гугл — это энтерпрайз или нет?

Во-вторых, кажется, твоя классификация из говноделов и мастеров меча не полна

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

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

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

byko3y ★★★ ()

И по жадному энтерпрайзу проехался, и по смузихлебам с оловянными глазами, и по синьорам с волосами в ушах, и по беспомощным дизайнерам, и по упоротым олимпиадникам, и по душным дедам с коболом, и по убогой скриптухе (длинный, длинный был наброс, чего уж там!), и по узким специалистам, и по скользким продажникам, и по Маску, и по Цукербергу, и даже по виму с емаксом (да удлинится бесконечно его чейнджлог).

Но, наконец, наброс закончился и начался вопрос: что сказать-то хотел? %) Хоть бы краткое summary в конце состряпал, аудитория негодует.

Nervous ★★★★★ ()
Последнее исправление: Nervous (всего исправлений: 2)

Тема унылая, но пользуясь случаем:

изучал устройство процессоров и проектировал микроконтроллеры

Есть смысл дать разработчику вручную управлять кешем современного процессора? Грубо говоря в ЯП предоставить АПИ для самостоятельного размещения данных в кеше с возможность вытеснить другие данные текущего процесса. Или даже получить эксклюзивный доступ к кешу?

Просто увидел в спецификации зионов возможность получать сетевые пакеты напрямую в кеш процессора в обход оперативки. И прогресс эпиков: " EPYC Milan-X chips with up to 768MB of L3 cache ". Вот и загорелся такой идеей для массового рынка.

foror ★★★★ ()
Последнее исправление: foror (всего исправлений: 3)
Ответ на: комментарий от byko3y

Да как-то выбора-то особо и нету. И что по-твоему энтерпрайз? Вот гугл — это энтерпрайз или нет?

нуу… гугл гуглу рознь. Есть Google Ads - это чистый ынтерпрайз с написанием анскильных крудов в вебе. Но ведь есть какие-нибудь Google OpenAI или Google Automotive (self-driving cars).

есть геймдев. Не тот геймдев, который про написание мобильных «три в ряд» по три игры за неделю. А 3D движки всякие. Насколько понимаю, даже в России что-то подобное есть, у Mail Ru. Есть Unigine который работает на оборонку. Есть Epic и Unity.

есть CAD/CAM. Что там используют для разработки процессоров в Интеле? Точно помню, что там есть Intel FPGA Development Tools (которые раньше были Altera). В Autodesk есть Maya и 3d Max, и тому подобное

есть роботехника

есть здравохранение, всякие кардиоимпланты

есть космос

мир не состоит из запила анскильных крудов на нодежс

который похекал меня, а передо мной похекал еще кого-то

http://www.catb.org/jargon/html/meaning-of-hack.html

stevejobs ★★★★☆ ()
Ответ на: комментарий от Nervous

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

foror ★★★★ ()
Ответ на: комментарий от byko3y

Есть вот такое старое эссе Пола Грэма, of Hackers and Painters: http://www.paulgraham.com/hp.html

Можно думать о разработке как о написании картины. И применять к ней те же стереотипы, которые применимы к бедным художникам, делающим безумные куски арта

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

Если не зацикливаться на практической полезности, то можно увидеть много нового

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

В таких областях минимум докторскую от собеседуемого попросят. Кого попало туда не берут. Я уже не говорю о гражданстве - РФ гражданство токсично в таких областях.

foror ★★★★ ()
Последнее исправление: foror (всего исправлений: 1)

А не надо делать не оплачиваемые тестовые задания. Бесплатный труд никогда не ценят.

mono ★★★★★ ()

Очень многа букв.

Я не настоящий сварщик, мой интеллект меркнет в сравнении с интеллектом автора, но тут весь текст сквозит какой-то обидой на мироздание: «Я гений, а меня не признают! Миру нужны посредственности!»

Есть что-то инфантильное в такой позиции.

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

таким образом выведя из строя какой-нибудь старый добрый сервис на Cobol или MUMPS, написанный в 70-х годах «настоящими программистами, настоящими, не то что новое поколение».

Эти «старые-добрые сервисы на Cobol и MUMPS» используются в «благословенном граде на холме» из-за запредельной консервативности, и давно уже всем даже там опостылели. На них реализованы банки, отставшие от жизни на 40 лет, и даже от «зелёных» интерфейсов этой срани сходят с ума клерки, вынужденные работать с ними работать.

Зацепился глаз именно за это, потому что «имел счастье» увидеть это самым-самым краешком. Не приведи Господь!

emorozov ()
Последнее исправление: emorozov (всего исправлений: 1)

я не хочу развивать силиконовую долину?

И правильно, ну нафиг эту порно-индустрию. В кремниевую долину не пробовал устроиться?

greenman ★★★★★ ()
Ответ на: комментарий от TDrive

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

Ой чую зависть я, ой чую. Хотя я всё исходное сообщение пытался самообличиться и пояснить, что все в индустрии проблемы от таких, как я. Но, с другой стороны, без таких как я было бы скучно, с этими вашими надежными коболами и фортранами. Потому я и написал «настоящих успешных творцов (не путать с клоунами вроде меня...».

byko3y ★★★ ()
Ответ на: комментарий от Nervous

И по жадному энтерпрайзу проехался, и по смузихлебам с оловянными глазами, и по синьорам с волосами в ушах... и по Маску, и по Цукербергу, и даже по виму с емаксом (да удлинится бесконечно его чейнджлог)

Ну хоть кто-то оценил, насколько у меня широкий кругозор. Могу умирать спокойно.

Но, наконец, наброс закончился и начался вопрос: что сказать-то хотел? %) Хоть бы краткое summary в конце состряпал, аудитория негодует

«Но иногда я жалею, что не знал тогда того, что знаю сейчас — так и хочется написать тому юноше письмо из будущего, что я и намерен импровизировать в виде треда на LOR» — но тут решения готового нет, к сожалению, решать вам.

byko3y ★★★ ()
Ответ на: комментарий от byko3y

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

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

TDrive ★★★★★ ()
Ответ на: комментарий от foror

Есть смысл дать разработчику вручную управлять кешем современного процессора? Грубо говоря в ЯП предоставить АПИ для самостоятельного размещения данных в кеше с возможность вытеснить другие данные текущего процесса. Или даже получить эксклюзивный доступ к кешу?

Это изначально путь вникуда, мол «куда лучше кораблю тонуть — набок или вдоль?». Кэш изначально подразумевает пошаговую обработку, пусть этот «шаг» и состоит из большой череды команд, обрабатывающий кэш-линию (64 байта). В идеале ты должен читать-писать память линейно, гигабайт за гигабайтом — вот для чего оптимизирован кэш. Всё остальное — компромиссы в рамках мейнстримовой модели кэша.

Просто увидел в спецификации зионов возможность получать сетевые пакеты напрямую в кеш процессора в обход оперативки. И прогресс эпиков: " EPYC Milan-X chips with up to 768MB of L3 cache"

Я прежде всего хочу подчеркнуть, что это чиплеты, то есть, почти многопроцессорная система. Почему бы не сделать сразу L1 кэш на 500 МБ? Потому что он будет медленным! Наращивание кэша приводит к его замедлению. Этот L3 кэш зиона — это уже что-то среднее между оперативкой и кэшем, это не тот L3 кэш, который ты видишь на 4-ядерном процессоре. А тем временем доступ к оперативке в такой эпике еще медленнее. Я хочу подчеркнуть разницу между «шире канал» и «быстрее доступ». Канал-то на эпиках шире, но доступ медленнее. При той мощности, которую имеет EPYC, при том числе пакетов, которые он мог бы обрабатывать, классические подключения сети уже не вывозят нагрузку — нужно что-то делать, в любом случае, и вариантов решения больше одного. AMD посчитал, что удобнее будет сделать такой сетевой механизм.

У меня есть другой вопрос: кто покупает эпики? Для машинного обучения ЦП бесполезны.

byko3y ★★★ ()

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

Более того, и даже в реальной академии такие вздорные академики не нужны, и это тоже станет поводом для стенаний.

А корни же всей этой проблемы - совсем не в армии и не в академии, а в психиатрии.

vaddd ★☆ ()
Ответ на: комментарий от stevejobs

есть геймдев. Не тот геймдев, который про написание мобильных «три в ряд» по три игры за неделю. А 3D движки всякие. Насколько понимаю, даже в России что-то подобное есть, у Mail Ru. Есть Unigine который работает на оборонку. Есть Epic и Unity

Я не знаю про оборонку, но геймдев и VR довольно давно превратилось в такой же энтерпрайзный трешак. Как сказал один чел оттуда «я удивляюсь, как им вообще удается релизить работающий софт».

есть CAD/CAM

Рассматривал такую альтернативу.

есть роботехника
есть здравохранение, всякие кардиоимпланты

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

есть космос

А там теперь разве не гламурные планшетики и JS? Конечно, если это не околовоенка.

мир не состоит из запила анскильных крудов на нодежс

Да, еще есть круды на Go.

http://www.catb.org/jargon/html/meaning-of-hack.html

И чо?

byko3y ★★★ ()
Ответ на: комментарий от Nervous

Пост не читал, но ТС, как всегда, хотел сказать, что все вокруг тупые и не ценят, а он один умный, ему мама говорила

CaveRat ★★ ()
Ответ на: комментарий от TDrive

с индустрией все отлично

Тут планетка вразнос идёт, точка остановки по глобальному потеплению пройдена и теперь путь только в ад. А ты что-то там про индустрию задвигаешь, да в твоей индустрии вообще п….

foror ★★★★ ()
Ответ на: комментарий от stevejobs

Я не знаю, почему ты прицепился к этому моменту эссе. Я бы заметил вот что:

When Yahoo bought Viaweb, they asked me what I wanted to do. I had never liked the business side very much, and said that I just wanted to hack. When I got to Yahoo, I found that what hacking meant to them was implementing software, not designing it. Programmers were seen as technicians who translated the visions (if that is the word) of product managers into code.

This seems to be the default plan in big companies. They do it because it decreases the standard deviation of the outcome. Only a small percentage of hackers can actually design software, and it's hard for the people running a company to pick these out. So instead of entrusting the future of the software to one brilliant hacker, most companies set things up so that it is designed by committee, and the hackers merely implement the design.

If you want to make money at some point, remember this, because this is one of the reasons startups win. Big companies want to decrease the standard deviation of design outcomes because they want to avoid disasters. But when you damp oscillations, you lose the high points as well as the low. This is not a problem for big companies, because they don't win by making great products. Big companies win by sucking less than other big companies.

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

К слову о том, почему Valve с 400 сотрудниками является одной из самых прибыльных компаний в IT. И в ней применяется совершенно дичайший зоопарк технологий и инструментов.

Ну и то, о чем я и не только я тут давно писал:

The other problem with startups is that there is not much overlap between the kind of software that makes money and the kind that's interesting to write. Programming languages are interesting to write, and Microsoft's first product was one, in fact, but no one will pay for programming languages now. If you want to make money, you tend to be forced to work on problems that are too nasty for anyone to solve for free.

All makers face this problem. Prices are determined by supply and demand, and there is just not as much demand for things that are fun to work on as there is for things that solve the mundane problems of individual customers. Acting in off-Broadway plays just doesn't pay as well as wearing a gorilla suit in someone's booth at a trade show. Writing novels doesn't pay as well as writing ad copy for garbage disposals. And hacking programming languages doesn't pay as well as figuring out how to connect some company's legacy database to their Web server.
byko3y ★★★ ()
Ответ на: комментарий от mono

А не надо делать не оплачиваемые тестовые задания. Бесплатный труд никогда не ценят

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

byko3y ★★★ ()
Ответ на: комментарий от emorozov

тут весь текст сквозит какой-то обидой на мироздание: «Я гений, а меня не признают! Миру нужны посредственности!»

Пол Грэм в статье выше пишет то же самое, это можно перефразировать как «за приятную работу никто не платит. Платят за то, чтобы таскать мешки с говном». Я очень не хотел именно реакции «Я гений, а меня не признают» — хотя бы потому, что многим людям это очевидно и именно потому они предпочли быть не художниками, не поэтами, а таксистами. Я решил подался в художники — я получил абсолютно ожидаемый результат, а дальше обижайся или не обижайся, а результат будет тот же.

Есть что-то инфантильное в такой позиции

Сколько мне нужно было раз написать про детскость в исходном сообщении, чтобы в ответах не было «о, тут есть какая-то инфантильность, автор что-то скрывает»? Я был бы очень рад бесплатному сеансу психоанализа на LOR, но, увы.

На них реализованы банки, отставшие от жизни на 40 лет, и даже от «зелёных» интерфейсов этой срани сходят с ума клерки, вынужденные работать с ними работать.
Зацепился глаз именно за это, потому что «имел счастье» увидеть это самым-самым краешком. Не приведи Господь!

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

byko3y ★★★ ()
Последнее исправление: byko3y (всего исправлений: 1)

который оказался настолько неожиданным для «сеньоров», что им понадобилась целая неделя для анализа моего решения на 500 строчек

если сеньорам нужна целая неделя для анализа тестового задания, то это не решение неожиданное, а код - дерьмо

впрочем, почему-то сомневаюсь, что они реально всем консилиумом сидели целую неделю, все 40 часов, разбирали что там очередной кандидат в джуны понаписал

next_time ★★★★★ ()
Ответ на: комментарий от next_time

Что ты такое говоришь, конечно же там вся компания сидела и неделю обсуждала гениальность ТСа, а потом они слили его на собесе потому что испугались конкуренции.

TDrive ★★★★★ ()
Ответ на: комментарий от TDrive

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

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

Есть бизнес который зарабатывает деньги, этому бизнесу нужны люди с вполне определенными навыками и финансовыми запросами

Рад поговорить, но ты сам идешь по очень поверхностным понятиям. Как правило, есть конечный бизнес заказчик, который крутит крупным объемами товаров, и ему пофигу, платить тебе $1000 или $8000 — лишь бы всё работало. Но есть тонкие социально-политические факторы, которые диктуют конкретную оплату в конкретном регионе по конкретным специальностям.

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

А ты не следишь за моей деятельностью на лоре, я смотрю. Проблемы мои я вполне явно озвучивал, и оферы у меня уже есть, но! Они унылые. Чем больше ставка, тем более унылые. Пол Грэм довольно красиво это описал, про day job и night job.

Если твои навыки не востребованы то это твоя проблема, какими бы крутыми эти навыки небыли

Я что, пытаюсь на кого-то эту проблему повесить?

byko3y ★★★ ()
Ответ на: комментарий от TDrive

каким образом ты из глобального потепления делаешь выводы о IT индустрии?

Я просто наблюдаю за людьми и делаю выводы. Могу тебя на википедию про 95% отправить, но и эта информация устарела. Я бы вел речь уже о 99.99999%

foror ★★★★ ()
Ответ на: комментарий от sin_a

Я ничего не понял, у тебя противоречие между фундаментальным и прикладным?

Коротко — хочется заниматься чем-то интересным и полезным кому-то, а этого интересного и полезного не видно. И дело тут даже не в фундаментальности, пофигу мне ваша фундаментальность.

byko3y ★★★ ()
Ответ на: комментарий от CaveRat

Пост не читал, но ТС, как всегда, хотел сказать, что все вокруг тупые и не ценят, а он один умный, ему мама говорила

Слово в слово так и говорила. Прям из могилы. У меня всё записано.

byko3y ★★★ ()
Ответ на: комментарий от byko3y

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

Например можно измерить твою пользу для бизнеса. Это будет объективной оценкой твоих навыков в определенном контексте.

Как правило, есть конечный бизнес заказчик, который крутит крупным объемами товаров, и ему пофигу, платить тебе $1000 или $8000 — лишь бы всё работало. Но есть тонкие социально-политические факторы, которые диктуют конкретную оплату в конкретном регионе по конкретным специальностям.

Ну конечно, особенно в IT на удаленке… Тогда поменяй локацию и все.

Я что, пытаюсь на кого-то эту проблему повесить?

Ты называешь это проблемами в индустрии.

TDrive ★★★★★ ()
Ответ на: комментарий от byko3y

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

Короче, никто и ничто не гарантирует, что все получат по заслугам (как хорошим, так и плохим). Это вопрос везения (в большей мере) и упорства (в меньшей мере).

Если что-то в этом мире не работает так, как тебе хочется, то возможны три варианта:

  1. Жаловаться, как всё плохо, и кроме этого ничего не делать.
  2. Попытаться что-то сделать, доказать делом, переубедить, что я «стою».
  3. Забыть про амбиции, принять «несправедливость» как данность, и таскать мешки с говном, как все (не самый плохой вариант, ибо 100% населения быть гениальными творцами очевидно не могут, и мешки с говном кто-то должен таскать, чтобы оно всех по горло не затопило)

Из этих трёх вариантов, первый — самый худший, потому что ведёт только в пропасть и психушку.

emorozov ()
Ответ на: комментарий от wandrien

Пешы еще. Интересно

Проблема в том, что собирать такой объем материала нифига не просто и не быстро. А по итогу тебе пишут «вали отсюда, нытик ссаный». Я прекрасно осознаю, что это нельзя постить на каком-нибудь хабре, потому что половина посетителей меня заминусуют, а другая половина побежит резать вены, потому что все-таки доля депрессивности и безвыходности «мы все умрем» присутствует весьма солидная — я душнила еще тот.

byko3y ★★★ ()
Ответ на: комментарий от next_time

впрочем, почему-то сомневаюсь, что они реально всем консилиумом сидели целую неделю, все 40 часов, разбирали что там очередной кандидат в джуны понаписал

Ну они в общих чертах разобрались в коде. Моя ставка — тянули время, типа «мы очень занятые люди. нам некогда».

byko3y ★★★ ()
Ответ на: комментарий от emorozov

Короче, никто и ничто не гарантирует, что все получат по заслугам (как хорошим, так и плохим). Это вопрос везения (в большей мере) и упорства (в меньшей мере).

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

Это та же самая ситуация как с яжематерями, только в нашем случае яжепрограммист.

TDrive ★★★★★ ()
Ответ на: комментарий от foror

Я просто наблюдаю за людьми и делаю выводы. Могу тебя на википедию про 95% отправить, но и эта информация устарела. Я бы вел речь уже о 99.99999%

Ай-я-яй, как страшно жыть! Я, кстати, уже немножко старенький, и помню как ещё в 1989 году писали, что не позднее 1990 мы все расплавимся. С тех пор всё жду и жду…

emorozov ()
Последнее исправление: emorozov (всего исправлений: 2)

решение требовало от меня знание специфичных фич

"...для хорошо подготовленного профессионала рутиной является абсолютно всё..." )

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

То ли дело эникейщики - сегодня провода прокладываешь, завтра бэкапы перестраиваешь, послезавтра пишешь запрос PostgreSQL на оконных функциях, потом конторский сайтик поправляешь, а сразу после сканер штрих-кодов настраиваешь и ККА.

Давай к нам ) Тут хотя бы пользу людям от себя иногда ощущаешь )

Toxo2 ★★ ()
Ответ на: комментарий от byko3y

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

Вам вот это надо послушать

tiinn ★★★★ ()
Ответ на: удаленный комментарий
  1. Если ты знал о том, что тимлиды сливают людей с которыми придется конкурировать (допустим) то тебе стоило применить эти знания на практике и вовремя заткнуться.

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

TDrive ★★★★★ ()
Ответ на: комментарий от TDrive

Например можно измерить твою пользу для бизнеса. Это будет объективной оценкой твоих навыков в определенном контексте

Ты станешь миллиардером, если научишься делать эту оценку. Конечно, если «бизнес» не заключается в том, чтобы получить деньги с убежать с ними — тут оценка проста: чем больше получилось ухватить, тем больше «пользы».

Ну конечно, особенно в IT на удаленке… Тогда поменяй локацию и все

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

Ты называешь это проблемами в индустрии

Где называю? Процитируй, пожалуйста.

byko3y ★★★ ()
Ответ на: комментарий от TDrive

только в нашем случае яжепрограммист

Уникальный случай. Программисты обычно омежки, которые с возрастом становятся буддистами. А тут нарцисс, вот дела. Да, тяжела доля артиста-программиста, ведь его выкаблуки никто не видит. Это тебе не художник какой-нибудь, который квадратных людей членом нарисует и все ахают – талант! Хотя… ухо всё ещё можно отрезать @byko3y, бери на заметку.

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от byko3y

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

sin_a ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)