Pull to refresh

Comments 129

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

Про кодовую базу: за 10+ лет коммерческой разработки повезло один раз, увидел эталонный проект, испытал кодерский кайф.

“”Ты должен играть по принятым правилам. Врать компаниям, врать на собеседовании, врать в резюме, врать самому себе. Иначе ты не получишь свой кэш””

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

Если все в курсе то зачем врать? Это ж все равно, что не врать?

Китаянка на Ютубе на не уверенном русском привела по этому поводу очень красивую аналогию.
Представь что в театре во время спектакля кто-то встал и стал смотреть спектакль стоя. Кричать и драться нельзя. Можно только сидеть и терпеть либо встать, чтобы тоже можно было смотреть спектакль дальше. Ситуация ухудшается, постепенно встают все. Сидеть оказывается глупо. Для того чтобы сесть, нужно всем договориться одновременно сесть. Но ситуация только ухудшается: тот коротышка, что встал первым опять ничего не видит. И он встаёт ногами на кресло, запуская новую волну. Прекратить это по прежнему можно, если все договорятся, но вместо этого кто-то уже тащит стремянку.

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

Преимущества нет. Сидя в кресле смотреть удобнее, чем стоя на стремянке. Все это понимают, но фундаментальная проблема вот в чём: цепную реакцию в сторону ухудшения может запускать один игрок, а чтобы откатиться назад все должны договориться и честно выполнить договорённость. Движение в одну сторону происходит проще и быстрее, чем в противоположную.

В реальности умнику просто бьют морду, и все продолжают сидеть дальше. Может это и есть решение

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

Был какой-то товарищ про полицию рассказывал. Если ловят на вранье сразу выгоняют и лишают пенсии.

Может и кенсел культура оттуда же.

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

В реальности умнику просто бьют морду

В реальности бывает сильно по разному. Есть тьма примеров, когда изначально небольшое ухудшение процесса подхватывается рынком и становится повсеместным, хотя все по отдельности его ненавидят и теряют на этом уйму времени, денег и других ресурсов. Например долгий запрет на использование мобильников в самолёте, да и весь театр безопасности в аэропортах со сниманием обуви и ремней после 2001-09-11. Или вот дурацкие требования к «стойкости» паролей с требованием экзотических символов.

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

Вы на вопрос так и не ответили. Зачем мне скручивать пробег, если покупатель и так знает что пробег скручен и не смотрит на него вообще. Допустим, я один перестану его скручивать как мне от этого будет хуже?

Покупатель будет думать, что пробег у вас ещё больше, но вы его скрутили.

Если некоторый предел в скручивании?

Извините, наверное непонятно спросил. Есть ли зависимость того, насколько я могу скрутить от реального пробега?

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

Я не спец по пробегам. Да и какая разница, пробег - лишь частный случай более общей проблемы.

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

Мне кажется, именно по этой причине депутаты всегда врут

Все гораздо хуже. Если человек ничего не сказал - он добавил к системе 0 бит информации. А если сказал неправду, то он внес шум в информационную ситему, тем самым понизив соотношение SnR, иными словами - забрал какое-то количество бит информации. По этому часто "молчать - лучше чем говорить".

Если не ошибаюсь у термина даже есть название "трагедия общин".

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

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

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

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

Знакомая обожала животных, выучилась на ветеринара, очень хорошего ветеринара, даже открыла свою клинику, а потом бросила всё и уехала в "деревню", так как "это совсем не то о чем я мечтала".

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

Дилемма "от каждого по способностям, каждому по потребностям" уже всем плешь проела, но в обозримом будущем решения пока не видно. Работайте за деньги, а для души - свободное после работы время.

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

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

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

И оказался на мой счет прав, вернулся я в бездушный,

В смысле снова в ынтерпрайз? А чем геймдев не понравился?

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

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

Удовлетворения лично для меня схожее.

Понятно. Но зато опыт получили))

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

Если не нашел - может ты не так хорош, как думаешь?

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

А вы, собственно, пробовали говорить правду? И что это за правду вы хотели бы донести?


Да, деньги для компании важнее чисто написанного кода. Но ведь и вы не готовы после рабочего дня бесплатно его очищать.


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

Да, деньги для компании важнее чисто написанного кода. Но ведь и вы не готовы после рабочего дня бесплатно его очищать.

Зависит. Я в своё время был готов. Перестал, когда это не понравилось некоторым моим коллегам.

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

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

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

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

Я пробовал, почти никто не готов эту правду слышать.

А что за правду вы хотели донести?

Рискну предположить, это было нечто вроде "Я д'Артаньян, а вы...."

Вот, одна из типичных реакций людей, когда им говоришь правду.

Да самую разную. Можете почитать мои статьи и отзывы читателей. Например, эту.

Там в самом начале вы ставите себя на позицию разрывателя шаблонов а оппонентов представляете дикарями которые слепо и поверхностно копируют то что не понимают.

Я бы назвал это Д'Артаньянством.

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

 вы ставите себя на позицию разрывателя шаблонов

Это ирония.

 оппонентов представляете дикарями которые слепо и поверхностно копируют то что не понимают

А это как раз правда. И далее идёт целая статья, это обосновывающая. Кстати, вы тут сильно гиперболизируете мои слова, чтобы была возможность добавить:

 тон подачи информации таков, что вставать на вашу точку зрения неудобно

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

Это ирония.

Тут против вас может сработать Закон По

Кстати, вы тут сильно гиперболизируете мои слова

Карго-культ ссылатся на образ дикарей. Я просто буквально расшифровываю образ, который вы используете

 и тогда можно не принимать его аргументы в расчёт.

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

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

  • Вы можете задаться вопросом правильные они или нет и что им можно, а что нельзя. Тут может бытьнесколько целей:

    • Вы можете захотеть их исправить, например, если имеете на них какой-то канал воздействия/убеждения

    • Вы можете призвать какого-то регулятора заставить их соответствовать правилам

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

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

P.S. В новостях, кстати, принесло новый язык для описания структурированных данных - https://kdl.dev/ - они не переизобретают синтаксис с нуля а делают что-то JSON like поэтому, у него шансов взлететь больше, кмк.

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

Умный человек увидит полезные мысли при любой подаче. Глупый не увидит ни при какой. 

Тут наш опыт расходится. Удачи вам в продвижении ваших идей.

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

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

Тогда удачи вам в делении. Заявленная же цель "поделиться"? Будем ждать пока дойдет до кого-то, кто воспримет и трансформирует ваши идеи в удобоваримую для широких народных масс форму.

Старая задача, выбор между быстро, вкусно и недорого.

UFO landed and left these words here
Первый компьютер я увидел лет, наверное, в пятнадцать. Мне тогда сказали, что есть exe, com и bat файлы. И по пути домой я повторял, что есть что, чтобы не забыть. Это я к чему — трепет можно по-разному вспоминать.

Остальное, простите, сводится к «есть работа, а есть — хобби». И кто бы что ни говорил, что работа должна приносить удовольствие, простите, не поверю. По крайней мере, в статистическом выражении.

ps. Программистом я не стал, и даже не мечтал.

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

А что должно быть главным источником?

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

В равной степени не получится — есть даже известная поговорка про зайцев.


Если что-то начинает вас очень сильно радовать, то вполне естественно, что другие области жизни деградируют. И мне, опять же, неочевидно, что это заведомо плохо.

Есть хорошая поговорка из книги: «Работать на себя» (Майкл Гербер): «Они задурманивают себя работой, чтобы не видеть как живут», Олдс Гаксли

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

Мне кажется ключевым источником недопонимания отождествление работы и программирования, тогда как это далеко не обязательно совпадающие вещи. Тут уже надо смотреть, считаете ли вы работой только оплачиваемое программирование для удовлетворения нужд других людей, или личные пет-проекты и just for fun для вас тоже работа.


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

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

Именно.


Поэтому, например, лично я принципиально даже не думаю о монетизации хобби (хотя это то же программирование).

Проблема: искать денежную выгоду. Здесь умирает творчество

я бы сказал что дело не в коммерческой выгоде, а в жестких метриках (KPI), сравним варианты:

1) когда есть з/п, и на этой работе вас не сильно заставляют следовать жестким KPI, т.е. дают сложные + нужные другим\бизнесу + не-рутинные задачи, не заставляют писать говнокод - это удовлетворение от работы - имхо отличный вариант, з/п это бонус, а не минус

2) почти как 1, но з/п НЕТ - у вас будет только часть удовлетворения, потому что з/п нет, и не стоит себе придумывать что этот вариант лучше чем 1й, чем же лучше? тем что никто не заставляет ничего делать? а как же польза другим и чувство общности? (так нужные мозгу и социальному человеку) - их нет в этом случае.. а получив за хорошо выполненную нужную сложную работу еще и з/п и перейдя в вариант 1 - получим только прогресс, имхо

3) когда есть з/п, и есть жесткие KPI, вроде "сделать 100 баг-фиксов в месяц" или "закрывать 100 тасков в месяц" - это уже доставляет проблем, например потому что нет сложных задач, или есть невыносимая рутина, или потому что мало самостоятельности изза авторитарного требования исполнения KPI и нежелания\невозможности выбрать по-меньше баг-фиксов или задач (но по-крупнее и\или полезней для проета\бизнеса\игры) (т.е или выберешь но недополучишь з/п, или не-выберешь но недополучишь удовлетворения умственных\соц потребностей)

4) когда НЕТ з/п, и есть жесткие KPI, вроде "сделать 100 фич в своем пет проекте в месяц" - вы точно также себя можете загнать глупыми целями (глупыми потому что можете не понять что этим не удовлетворите потребности мозга), и виновата будет не работа на дядю (для себя ведь делаете), и без особой монетизации (я уж не говорю про вариант когда вы пытаетесь на рынок выйти и перерабатываете, а просто - когда сами себе поставили жесткие цели по-неопытности), и выгореть (без отдыха) тоже легко

работать на кого то - это почти всегда идти на компромисс с самим собой

.. а то что при попытке монетизировать работу будет "компромисс" это не всегда так, вернее если удастся без особых навязываний KPI начать получать з/п за свою нужную сложную хорошо выполненную работу - это не компромисс вовсе а win-win.. в случае же навязывания слишком жестких требований - это будет компромиссом (вы на Х теряете свободу, однако получаете на Y нужность другим и чувство общности) - и то не всегда это можно считать абсолютным злом, да вы чтото теряете, но ведь и поулчаете чтото.. и только если вы мало что получаете взамен, а начинаете исполнять глупые KPI это будет lose-lose (и для вас т.к. вы недополучаете много потребностей, и для заказчика потому что он недополучает то что мог бы - убрав глупые KPI)

и кстати книгу вы спрашивали, мне очень понравилась, там по психологии и этим нашим обсуждениям тоже кое-что есть - пишу ее название здесь же - "Тайнан Сильвестр/ Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше", могу еще порекомендовать книгу про мозг "Дэвид Рок/ Мозг. Инструкция по применению" там есть про статус\чувство общности\дофамин и много чего еще, даже на примерах

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

Статистически да, феномен bullshit jobs и прочее там, но это же не обязательный порядок вещей, обществу это можно и нужно менять

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

только недавно читал упоминание этого эффекта в одной книге (не поверите, по гейм-дизайну), суть в следующем:

  • субъект делает работу хорошо и стремиться к совершенству

  • потом появляются метрики (кто-то другой начинает решать что есть хорошо) и з/п (награда)

  • далее субъект начинает делать только минимум (по метрикам, например писать N строк кода или получать свои 100 золотых монет)

    а) с одной стороны это сдвиг истинной мотивации (субъект думает "вот это хотелось сделать классно, но за это же не платят, так что буду делать минимум за который платят") и виноват как бы начальник

    б) с другой стороны субъект сам выбирает КАК ему делать свою работу (и об этом даже Кови писал, на примере уборщицы которой дают свободу творчества по выбору инструментов, ингредиентов и способа уборки, от чего она становится более счастливой и само-мотивированной), ну возьмите уже хотябы часть ответственности на себя (начальника вы же не поменяете, а себя можете) и придумайте способ как получать удовольствие от творчества даже на такой работе (или займитесь хобби в свободной от работы время, да это будет не за те метрики и не за ту з/п, но счастье от работы\профессии вы сможете получить)

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

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

ящики Скиннера

однако уже доказано что у человека есть внутреннее состояние (воля), и бехевиористы не оправдали надежд, так что не так то просто заставить \ мотивировать кого-либо (игрока делать Х или человека за з/п делать только Y), изза этой внутренней воли, внутреняя мотивация остается всегда у человека по его воле, и он вправе делать вопреки мотивации внешней

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

Даже камни можно таскать вдохновенно и с самоотдачей — но ровно до того момента, пока вы не обнаружите у себя за спиной надсмотрщика с кнутом.

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

реальность 1 - вы не работаете а делаете для себя\для души

вариант 1.А - вы делаете для себя столько сколько хотите (назовем Х часов)

вариант 1.Б - вы сами себя ограничиваете

реальность 2 - вы работаете на дядю с метриками

вариант 2.А - вы делаете для себя столько сколько хотите (назовем Х часов) + для дяди его минимум за з/п(назовем Z часов)

вариант 2.Б - вы для себя ничего не делаете (не оплачивается же) + для дяди его минимум за з/п (назовем Z часов)

допустим вы в реальности 1 и выбираете 1.А - вы счастливы делать что хотите (Х часов), а когда вы переходите в реальность 2 (устраиваетесь на дядю с метриками) вы можете выбрать вариант 2.А и точно также делать Х часов для себя без з/п, разумеется делая еще и Z т.к. именно за него вам платят, т.е. тут выбор ваш - делать ли Х бесплатно или не делать, в реальности 1 вы выбрали его и делаете, а в реальности 2 ктото почемуто выбирает 2.Б и не делает бесплатно этот Х, считая что виноват дядя с метриками (наверняка попадая в ловушку мышления вида "мне же платят за Z, а за Х не платят поэтмоу я Х не буду делать и виноват тот кто не платит")

Сделать как можно меньше, ровно сколько нужно чтоб тебя не уволили.

я объяснял именно почему такой вариант выбрал топик-стартер (и другие люди) и почему они это выбирают, другие ситуации мы не рассматриваем

кстати на самом деле есть и другое объяснение если ситуация совсем другая - а именно разделение на работу (минимум) + хобби (для души), это тоже хорошо, ктото выбирает такой путь, я же говорю что плохо только само-ограничение (не делать Х в примере выше, где Х т.е. и не часть работы основной и не стороннее хобби, т.е. не делать лишнего вообще никогда, только в этом случае срабатывает та ловушка чтобы не делать то за что не платят (потому что уже попробовал получатьт з/п и каково это когда платят за чтото, до получения з/п ловушки еще нет))

я думаю что вы не поняли суть эффекта
Скорее, я был не очень внимателен, и пропустил момент, когда вы объединили появление метрики и зарплаты. В более классическом варианте этой истории зарплата бывает сначала, а метрики появляются позже с приходом нового менеджера. Mea culpa: отвечая, я имел в виду именно этот вариант.

Пожалуйста, книгу в студию!

Можно и гораздо раньше!

Разработчик opensource-решения, в котором деньгами даже и не пахло решает ровно те же самые проблемы, что и разработчик коммеческого ПО. Миллион рутинных проблем (зависимости? любимая библиотека не хочет портироваться на новую версию, а старая перестала поддерживаться? грёбанные лишние пробелы рвут yaml?)

А мир пуризма - это computer science. Там можно фокусироваться на Главном и пропускать всё плебейское.

А мир пуризма — это computer science. Там можно фокусироваться на Главном и пропускать всё плебейское.

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


И, в отличие от пробелов в ямлах и библиотек, вам никто не поможет. Вообще.

Застопорились на фундированности?

Да, это (но это хоть как-то можно обойти, что я в итоге осилил сделать, пусть и не очень элегантно, мягко скажем). На самом деле основной проблемой там стало доказательство того, что если у нас есть два разных вывода утверждения Γ ⊢ε ⦂ τ, то эти выводы в некотором смысле эквивалентны — для стандартного декларативного изложения системы типов таких свидетелей будет бесконечно много (если у вас там сабтайпинг или β-эквивалентность), и это в общем случае неочевидно, а при алгоритмизации системы типов с сабтайпингом вещи вроде substitution lemma и preservation theorem перестают быть няшными и простыми вроде


  ε ↝ ε'
→ Γ ⊢ ε ⦂ τ
→ Γ ⊢ ε' ⦂ τ

а вместо этого их вывод начинает выглядеть печальнее, вроде


  ε ↝ ε'
→ Γ ⊢ ε ⦂ τ
→ ∃[ τ' ] ((Γ ⊢ τ' <: τ) × (Γ ⊢ ε' ⦂ τ'))

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


И, опять же, фиг пойми, куда идти — то ли плеваться, но доказывать вещи с ∃, то ли строить что-то там с эквивалентностью (кто сказал «сетоиды»?), то ли я просто тупой и не вижу каких-то очевидных вещей.

Не думали написать про эту проблему статью простым языком?

Там ИМХО нужно слишком много не то чтобы распространённого бэкграунда, чтобы адекватно описать эту и другие проблемы.

Там попытки что-то алгоритмизовать лежат в бранче https://github.com/0xd34df00d/refinedt/tree/algorithmic, но когда я понял, что это получается геморройнее, чем я ожидал, то подзабил.


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


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

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

2. Не связываться с постоянкой. Проектная работа (или лучше решение отдельных задач) - как-то интересней. В общем, лучше не погрязать на много месяцев в одну работу. Как по мне, хорошо месяц-два работать и потом месяц-два отдыхать (то есть заниматься своими делами и пет-проектами).

Но кто-то должен тянуть лямку ответственности, иначе цивилизация развалится если в мире все будут такими временщиками как Вы.

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

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

Да, я знаю это такие банальности, что вызывают чувство оскомины и хочется их цинично высмеять :(

Как по мне, хорошо месяц-два работать и потом месяц-два отдыхать

Поддерживаю. Только не многие это поймут. Т.е. так, чтобы договориться с постоянным работодателем, что работать будете периодически, месяц через месяц — многие осудят и не поймут. А искать каждый раз новый проект, каждый раз вникать с нуля и предупреждать что через 1-2 мес. уйдешь — тоже не много вариантов.

Всё зависит от того, базируется ли бизнес компании на информационных технологиях или нет. Если да (компания типа Яндекса), то всё у них хорошо в разработке, говнокода нет.

Если да (компания типа Яндекса), то всё у них хорошо в разработке, говнокода нет.

Лучшая шутка на этой неделе.

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

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

UFO landed and left these words here

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

UFO landed and left these words here
  • Редактор документов на 100+ страниц.

  • Табличный процессор на 100к+ формул.

  • Бесконфликтное слияние изменений.

  • Отображение графиков по куче данных в реальном времени.

  • Эффективный предметно ориентированный язык с тайпчеком.

UFO landed and left these words here

В общем виде эти задачи нерешаемы.

Решаемы. Но сложностей полно, конечно.

Добавляете слой кэширования рендеринга.

Там особо нечего кешировать, ибо раскладка меняется чуть ли не на каждое нажатие клавиши. Кешировать имеет смысл разве что картинки.

Там нет алгоритмической сложности для которой бы не хватило типовых алгоритмов.

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

Отлаженные алгоритмы мержа существуют уже не один десяток лет.

Это далеко не так.

Опять же, вы просто выбираете чем жертвовать.

А можно не жертвовать, если немного подумать.

у каждого создателя такого языка свое представление об эффективности

Бенчмарки - вполне объективная штука.

Если ответ - нет, то убедитесь что задача не из разряда NP-полных.

Описанные мною задачи не NP-полные. Но 90% программистов за них даже не решатся взяться.

UFO landed and left these words here

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

Хороший редактор таких вольностей не позволяет.

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

А это кривой дизайн. Разные вещи должны выглядеть по разному. А всё, что выглядит одинаково должно быть одинаковым. Это один из важнейших принципов - не обманывать пользователя.

Речь шла про рендеринг формул.

Рендеринг формул ничем принципиально не отличается от всего остального рендеринга.

вы выбираете чем жертвовать и полируете определенные пользовательские сценарии.

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

Я говорил про обычный текстовый мердж, который используется в VCS

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

Для сложных структур данных в текстовом процессоре мердж невозможен

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

алгоритм должен понимать ЧТО перед ним, а это уже ИИ

С семантическим слиянием и ЕИ-то не всегда справляется. Но обычно к алгоритмам слияния нет требования соединять смыслы. Но есть требование соединять внесённые изменения с минимумом потерь.

А можно не думать над аргументом, а просто предлагать собеседнику подумать.

Я не предлагаю вам думать над этой задачей, я утверждаю, что задача решаемая, если над ней подумать. Аргумент простой: я над ней уже подумал.

 Но есть же еще упомянутая вами "предметная ориентированность" для которой нет бенчмарков

К эффективности это не относится.

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

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

  1. VS Code написан на typescript, обернут в electron

  2. Игры на WebGL (или тот же 2gis с рендерингом высоты и фактуры зданий)

  3. MS Office полностью переписан на JS

  4. Такие проекты с одновременным редактированием как Miro, Figma

UFO landed and left these words here

А я задам странный вопрос: а у вас есть свободные деньги чтобы 6 месяцев не работать и не изменить своего стиля жизни? Похоже что нет. А мне это очень помогло. Ты просто всегда можешь говорить всё что считаешь важным аболютно свободно. Я десятый год работаю в одной компании, начинаю уже четвёртый большой проект и каждый день готов уйти если мне придётся идти против своих убеждений. И скоро отмечу 10 лет. Это что-то сродни сображения что меч нужно носить с собой всю жизнь, даже если он потребуется лишь раз. Когда я свободен и у меня есть тыл, я могу выступать открыто и уверенно по любому вопросу, который посчитаю важным. И люди меня слышат. Переговоры двух уверенных свободных людей, каждый из которых действует в своих интересах, это наиболее продуктивная форма общения. И она невозможна если один из них не может сказать правду. Ищите и обящите, такие работодатели есть, не отступайте от своих идеалов.

+1 (к сожалению, не могу "лайкать").
Есть адекватные места, и разговор на равных (а не с позиции ребенка или эксплуатируемого пролетария) очень помогает.

Может вы еще и все налоги платите?

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

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

А в чём по сути заключался ваш вопрос? А то я его и воспринял как провокацию и ответил также слегка провокационно?

Вопрос в том, установлен ли в вашей жизни порядок и гармония в основных сферах?

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

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

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

Я не попадал в такие ситуации, но, насколько мне известно, алименты платятся не "предавшему вас человеку" а вашему ребёнку. Есть много тонкостей в том, что предавший вас человек имеет на них влияние, но тем не менее. А на тему организации финансов когда жопа, так я думаю что могу говорить и за это, я начинал с коммуналки где вместо горячей воды штуцер с батареи, а потом с зарплаты в 400 USD из которых 200 сразу уходили на комнату в квартире снимаемой на двоих. И уже тогда организовывал себе бекап. И размер бекапа растёт сообразно имеющегося дохода. Я не совершал ошибок? Совершал. Иногда на сотни тысяч USD. Это никак не меняло моего подхода к жизни. Иногда я даже рисковал вкладывая часть бекапа в выгодное дело, но не весь бекап, и бекап восполняется максимально быстро. Сколько бы у меня не было денег, с момента как я начал этим заниматься, я никогда не попадал в ситуацию которая бы выбила из под ног опору. Вы определяете влияние внешних обстоятельств на себя, а не они на вас. Зная это как постулат можно идти сквозь проблемы.

алименты платятся не «предавшему вас человеку» а вашему ребёнку

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

И размер бекапа растёт сообразно имеющегося дохода.

Все равно нужно время на то, пока бекап достигнет нужного уровня. К примеру, если откладывать по 15% с дохода, то полную зарплату вы накопите только через пол года. Чтобы не менять уровень жизни 6 мес. — нужно минимум 3 года. Эти 3 года вы не будете иметь свободы действий, т.к. бекапа еще нет. Так же любая жизненная неурядица, в т.ч. болезнь, может обнулить ваш бекап.
Это никак не меняло моего подхода к жизни.

Заставляет задуматься. В чем-то, возможно, вы правы.

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

Ведь все желания для нас уже расписаны наперед, на почти пол жизни хватит. Это и жилье и обновлять авто (хотя бы раз в 5-7 лет), и ремонты, и образование детям. А еще и непредвиденные вещи, такие как болезни и поломки. Бекап так и наровит выскользнуть как вода сквозь пальцы.

Ну вот машины у меня нет и я только-только подхожу к тому что могу себе позволить хороший подержаный относительно современный внедорожник, ибо лес меня привлекает давно(~ 2 млн рублей). Я могу прямо сейчас пойти и купить его, но нет, на самом деле пока я на него не заработал.

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

Но не всегда срабатывает… У меня, к примеру, часто наличие фундамента отбивает желание работать — начинаю заниматься вещами трансцендентными, ибо в привычных ценностях вижу мало смысла.

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

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

Думаю если устроиться писать какие-нибудь системные вещи в Майкрософт (ядро Windows NT или .Net виртуальную машину развивать) или там в Oracle делать тоже самое но Java или VirtualBox, или в Adobe делать Фотошоп, то думаю там хоть и чистая коммерция но чистота кода, чистота архитектуры - на высоком уровне.

Вторая лучшая шутка на этой неделе :D

После института я устроился на работу в НИИ. Зарплату, официальную, копеечную, задерживали на 3-4 месяца, а коммерческую, которую обещали - не платили вовсе.

Я никогда не был таким свободным как эти 9 месяцев - я читал книги на работе, изучал новые технологии, общался с интересными людьми и хорошими специалистами, мутил с ними разные стартапы. Нас, конечно ругали, угрожали лишением премии (которую не платили все равно, ахахах), а когда начальство начинало нас особо жестко прессовать, что мы не работаем - то его посылали на хрен (более опытные сотрудники, не я, я тогда еще не был таким борзым). А если совсем уж доставали, я угрожал, что напишу заявление на увольнение, и от меня отставали сразу.

Я приходил на работу к 10-30, уходил в 14-30, в пятницу вообще не ходил. По утрам ходил в качалку, по вечерам тусили с девчонками из бухгалтерии. Если бы мне тогда кто-нибудь рассказал о том, что на работе можно выгореть - я бы только посмеялся.

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

Мысль верная, но причём тут разработка, это можно расширить на любую деятельность, промышленный дизайн, промышленное 3d моделирование, промышленная звукорежиссура, съёмка однотипных мыльных опер. Когда бизнесу нужен какой-то продукт, то полёт мысли и творчество отходят на второй план и это нормально, так работает бизнес.

Но я всей душой ненавижу коммерческую разработку.

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

Я бы лучше не смог сказать! Ровно та же фигня )))
Ушел из профессиональных программистов лет 10 назад, по той же причине — начало тошнить от одинаковости задач, котороые вроде бы разные.
Сейчас дежурным электриком на подстанции, сутки через трое — уйма свободного времени! Для себя, или по интересным просьбам знакомых — писать, конечно, продолжаю. Видимо, бывших программёров не бывает )))
UFO landed and left these words here

Полагаю, что он ушел не на задачи, а на свободное время.

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

А про время: я в этом году смог сесть на машину и поехать из Москвы в Хабаровск, а потом через полтора месяца обратно. Где надо было поработать: безлимитной 4G симки хватало. Как мне кажется, мало какая профессия позволяет свободно так парамещаться (хоть конечно же есть, как те же писатели, дизайнеры и т.п.).

В общем, лично я не стал бы уходить из IT ради большего свободного времени, если я все же чего-то достиг в IT.

Совершенно верно )) Особенно это актуально летом — кататься на велике по полям и лесам, купаться в реке и пруду, малина, грибы и прочее — и всё это в будние дни, когда на природе минимум людей. Такая свобода — по моему мнению, конечно — вполне стоит втрое меньшей зарплаты ))
Ну и над душой никто не стоит, никаких дедлайнов и «надо было вчера» — сделал обход, выполнил за пару-тройку часов необходимые дела — а дальше включаю ноут, и занимаюсь своими делами.

Пожалуй стоит указать, что это выдержка из книги «Идеальный программист. Как стать профессионалом разработки ПО»

Интересная книга которая повествует о становлении программиста ненавязчивым слогом

Only those users with full accounts are able to leave comments. Log in, please.