Re[2]: Ищу удалёнку senior java или c++.
От: dimgel Россия https://github.com/dimgel
Дата: 21.04.24 19:21
Оценка:
Здравствуйте, diez_p, Вы писали:

_>А что с рынокм работы в принципе, как успехи?


Да никак. 20 отшили меня; ещё штук 100 либо молчат, либо дежурная отписка; 2 отшил я:

— у одних на скале, чистое ФП с монадным IO;
— другие подрядчики банка, который присылают разрабам свой ноут с предустановленной виндой (гы, иноагенты? ) и всем что мне как разрабу по их мнению может потребоваться (хрен бы с ней с виндой, но отвечать за чужое железо не хочу, да и поставить мне его особо некуда).
Re[7]: Ищу удалёнку senior java или c++.
От: elmal  
Дата: 21.04.24 21:24
Оценка: :))
Здравствуйте, dimgel, Вы писали:

D>Не хотелось бы тебя расстраивать, но ускорял твой говнокод именно я. Едва выйдя на работу, купив ipad, установив на него клиента, подключившись к общей тестовой базе (1-2GB), увидев этот лютый звездец, я сразу сказал менеджеру: развивай-не развивай, сколько фичей не накручивай, ТАКИМИ тормозами не будет пользоваться НИКТО. Поскольку оспаривать эту очевидную мысль может только клинический идиот, мы сразу договорились, что оптимизация -- это фича top priority.

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

D>Не помню точно исходной договорённости, возможно она была моей стандартной: рефакторим и делаем тикеты попеременно. Пытался что-то рефакторить я только первые 2 месяца, а потом сказал, что это -- только под нож. И мы договорились о переписывании и согласовали сроки, в которые я, как и написано в моём резюме, укладывался. Если для тебя 8 месяцев (или сколько там на самом деле было) -- до хрена, то это твои проблемы. Тот факт, что за 2 месяца до окончания СОГЛАСОВАННОГО срока с меня потребовали результат в течение недели -- не моя вина. Если из бабы на 7-м месяце попытаться силой вынуть ребёночка, получится трупик (это называется "аборт", на поздних сроках не рекомендуется).

Говорю ж — контора да, действительно была специфическая. На деле, как я потом узнал, у этого проекта была только одна судьба — смерть. Ибо изначально была неправильная постановка задачи и в таком виде, в котором его придумывали — он не был востребован. Там действительно объективно к высшему начальству есть некоторые вопросы, например относительно дробления конторы на 2, с уже формальными коммуникациями между конторами, а не как раньще — тупо звонок и быстрое решение иди консультация. Конкретно ты попал уже на процесс роста конторы, с совсем новым менеджментом конкретно у тебя. У меня были, как бы сказать, сомнения, относительно правильности пути и светлого будущего — но вот биг боссы рискнули. Риск не оправдался. Кто конкретно из высшего начальства принимал решения относительно дробления — я не знаю. Я от этого дробления тоже пострадал, мне блин ипотеку фиг одобрили, я типа мало в новой конторе работал (а я блин, для сведения, взял ипотеку и еще кредит на первоначальный взнос, месяца за 2 когда мне сказали что конторе кирдык). И мне было почти пофиг на увольнение если что, у меня было сразу же 5 офферов с ЗП 1.5 от той, с которой меня типо уволили по моему собственному желанию, а на деле по сокращению всех удаленщиков. Я потом саппортил это все еще параллельно с новой работой плюс там был у меня коллега с Орла, которому работу было найти не так легко, как мне. И мне еще бывшие коллеги работу предлагали, если что, неоднократно, хоть я и отказался.

D>Например, невозможно "отрефакторить" твой протокол инкрементальной выгрузки данных на клиенты (stateful, хранящий на сервере информацию кому что отдали -- charming :/ ) на REST. Между ними вообще ничего общего, и никакого другого решения кроме переписывания тут не может быть в принципе -- и структуры базы, и точек входа, и соответственно части кода клиентов. И вообще, "рефакторинг" -- это "изменение структуры кода без изменения его функциональности", так что даже формально -- мимо. То, что ускорение (за счёт выкидывания лишних sql) получилось всего 86/40=2.15 раза, меня несколько разочаровало, мне мечталось выйти в итоге на 100 раз а не 86 (люблю круглые числа), но с другой стороны, слухи о bottleneck-нусти sql-я несколько преувеличены (по крайней мере на однохостовых сервисах).

Там на деле изначально вообще была мысль, что SQL там не нужен. SQL там блин прикручивался в сверхсрочном режиме (как обычно в этой конторе, тупо продали прототип и нужно чтоб работало), в результате чего действительно ради удовлетворения сроков (неделя или 2, а то и меньше недели, я уж не помню, помню что была очень одна романтичная ночка когда я срочно этот SQL срочно прикручивал возможно что в течение суток, более 10 лет блин прошло), пришлось срочно адаптироваться под новые требования. После чего я прекрасно понимал что есть техдолг, но я надеялся что его потом либо исправлю я, либо исправишь ты, учитывая, что уже там зарелизили и нужно фигачить миграции, что несколько все усложняло. Убедил менеджмент (новый) — молодец.

D>Или возьмём твою систему кеширования. Если вдруг забыл (хотя пишу это всё я ВООБЩЕ не для тебя), это был обыкновенный HashMap: ключ -- entity id, а значение -- нет, не entity, а container1(container2(container3(entity))). Все три контейнера одноэлементные, разных классов, и самый смак в том, что ЕМНИП 2-й из них был по совместительству прокси, т.е. вызывал методы хранимого объекта через рефлексию. Т.е. получение entity по id было схематически таким: hashMap.get(id).get().get().get(), при этом третий get() вызывался через рефлексию. Поздравляю тебя, Шарик, это успешная заявка на КМС по говнокодингу (т.е. топчик, т.к. "мастер спорта" в этой номинации не выдают). Лепить отмазки, что я это всё придумал и ничего такого не было, -- не надо: придумать ТАКОЕ я бы не смог, такое мне даже в кошмаре не приснится. Что я неправильно понял и что в этом был какой-то высший смысл -- тоже не надо: высшим смыслом оказалось этот твой кеш просто грохнуть.

Я очень рад, что у тебя такая крутая память, я как то за 10+ лет вообще не очень помню что там было, я собственно за год подобное забываю. Про третий гет через рефлексию — вот не помню такого, но допустим. Дальше что? Хоть десятый уровень! Ключевое — нужно чтоб скорость соответствовала требуемой. И если не соответствует — нужно чтоб можно было быстро (пару недель а то и меньше) это ускорить.

D>И грохнул я его как раз в первые два месяца. С некоторым опасением: не станет ли сильно медленнее. Если не сильно, то пофиг: скомпенсируем по мере дальнейшего упрощения кода, потому что рано или поздно я таки-доберусь до причины лютых тормозов. (Запускать профайлер сразу не было никакого смысла: ну покажет он узкое место, а как я туда доберсь через такое спагетти и что смогу сделать?) То, что в результате я получил ускорение в 40 раз, -- меня прямо скажем изумило. Но и вдохновило тоже, и возможно стало фактором, что я смог уболтать менеджера на переписывание: одно достиженьице в активе уже имелось.

Если б это можно достижением. Вот конкретно один из моих текущих проектов — мне вот требовалось ускорить более чем в 1000 раз. То, что выполняется секунды, ко мне были требования достичь 10 миллисекунд (максимум), плюс расчет на кластере. Иначе расчет будет год проходить, а требуется максимум пару дней на выходных. И я один, а легаси писали до меня годами большими командами. Это все было мной успещно выполнено, и вообще не считаю это супердостижением. И у меня нет ни малейшего повода критиковать тех, чей код пришлось оптимизировать (а там решения были лютейшие кабздецы, например некоторые товарищи додумались в базе хранить условие некоторого языка программирвания, с порядком тысячи переменных и условия, и вот мне кроме остального неморроя в эти 10 миллисекунд (а желательно 1 миллисекунду) было неодходимо проинтерпретировать этот язык программирования и уложиться в скорость )

D>Но хотя этот твой кеш и был эталонным памятником идиотизму, всё-таки на 40-кратное замедление он никак не тянул. Только сильно позже до меня дошло в чём дело: я узнал, что тестовый сайт крутится на самом дешёвом хецнеровском VPS, и судя по всему из свопов вообще не вылезает. Естественно, ему любой кеш -- хоть твой, хоть нормальный -- был как серпом по и так забитой под завязку памяти. Можете зачесть это в мой непрофессионализм: за 10 предыдущих лет коммерческого кодинга, мне ни разу не попадались настолько тупорылые жлобы, неспособные посчитать, что на простое их сотрудников в ожидании отклика полуживого сервера, они теряют на порядки больше денег, чем потратили бы на аренду сносного dedicated; и я не мог даже предположить, что на поддерживаемом развиваемом проекте такая ситуация может считаться нормой, и никто из сотрудников не жужжит. (Впрочем, чего им жужжать: солдат спит -- служба идёт.)

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

D>Когда мы кодили новое REST API, ios- & android-программисты шли за нами след в след. То что якобы кто-то ещё ускорял этот проект, и я за несколько месяцев об этом не узнал, означает что либо они успевали на два фронта, либо этот второй вносил мелкие фиксы в старую, фактически замороженную ветку, чтобы поддерживать в рабочем состоянии хоть какую-то версию, пока я не закончу свою. Как называлась моя ветка -- "отдельная" или ещё какая -- не имеет значения, она была главной.

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

D>Начнём с нормальности работодателя. Для которого норма -- задерживать зарплату; а после увольнения я смог получить расчёт, только выждав все предусмотренные договором (и не только) сроки и выкатив претензию -- такую претензию, что не подкопается никто (чему читавшие её -- я это знаю -- сильно печалились). Для которого норма -- не подписывать договора и акты с хамской отпиской "вас много, я одна" (причём вторая часть этого утверждения -- общеизвестное враньё). У которого тыща пятниц на неделе, недееспособные болтуны-менеджеры, фавориты-говнокодеры, и соответствующий жизненный цикл проектов. Единственное осмысленное объяснение -- они просто пилили бабло (софт для госструктур же), а на проекты им было насрать.

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

D>1. Что ты, пользуясь знакомством с учредителями, сбрасываешь с себя ответственность за свои поделия -- это не моя формулировка. (Кто мне это рассказал -- не сказал бы, даже если бы помнил.) Но два примера такого скидывания ответственности у меня перед глазами.

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

D>2. Твоя назойливая фиксация на моей "провинциальности" -- дескать, "ты, замухрышка, должна быть счастлива уже от того, что столичный барин тебя отыметь изволил" -- это настолько убогие понты и такая лютая дичь, что даже не знаю, что ответить... А хотя знаю. В эту же кассу хвастовство, что работал в говноконторе под жёстким прессингом и прошёл там огонь, воду и медные трубы. Гордиться и хвастаться неконструктивщиной -- это удел никчёмностей, которым хвастаться больше нечем. Причём для этого психотипа характерна именно вдохновенность и высокопарность хвастовства. Как говорил один товарищ (книгу которого я упомяну по ссылке ниже), сделать не могут ничего, но презентовать и продать -- идеальны. Гы, например в твоём случае -- продать себя работодателю.

Тут просто факты, а не упор на провинциальность. Я сам, если что, из провинции, и свой трудовой путь начинал с провинции, и в провинции я повидал много чего ОЧЕНЬ веселого. Начиная с оплаты, и заканчивая разборками от противников внедрения системы, вставляющими палки в колеса.

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

И да, контора была не богатая. Но конкрено тебя взяли в тот момент, когда у тебя работы не было вообще, а не пообещав золотые горы и вынудив уволиться из Газпрома. Я вообще не в курсе какую тебе ЗП предложили, но предполагаю что не самую маленькую и ее тебе платили как минимум месяцев 5 и достаточно регулярно.

D>2.a. Причём в твоём случае всё даже хуже: я тут вспомнил, что в тестовом задании корректно обрабатывал какие-то хитрые случаи (что-то типа возможного разрыва пакета, подсовывал используемой либе починенные данные) и вообще пришёл на собеседование до ужоса довольный собой -- production quality запилил; но на собеседовании ты докапывался до такой ерунды (даже не помню, толи форматирование кода, то ли ещё что-то в этом же духе), что я в полной растерянности даже ответить ничего не смог, промямлил что-то невразумительное. Тут на кывте ни для кого не секрет, что докапываются до каждой запятой чтобы сбить зарплату и/или посамоутверждаться за чужой счёт. Потому что для никчемности, посамоутвержлаться для чужой счёт -- самый хлеб.

Тестовое задание, если что, придумывал не я. Повторяю, тебя вообще должны были брать на другой проект совершенно. Конкретно то тестовое задание совсем не мое, я давал в свое время тестовое задание на час времени. Но то, что тебя вообще взяли — да, я виноват, и виноват исключительно я. Виноват как изначальный инициатор твоей кандидатуры, так и как тот, кто убедил начальство что тебя стоит брать. Знал бы во что это выльется — естественно не стал бы идти против начальства. Нафиг мне вообще эти все разботки. Для сведения. В твоем резюме стоит что ты там был тим лид — вот ни фига подобного. Ты был обычный разработчик, с претензией на сеньеристость. И я был тоже совсем не тим лид, у нас такой блин должности то не было, если что, я тоже был формально обычный разработчик. Хоть и де факто ключевой разработчик.

Если есть претензии ко мне как к инициатору твоей кандидатуры — ну твое право. Я даже могу официально извиниться что посчитал тебя достаточно подходящим для той работы. И если ты думаешь что я от того, что тебя здесь нашел и вопреки советам начальства порекомендовал, что то поимел — ты сильно ошибаешься, лично я поимел некоторый геморрой (минимальный, лет 8 назад ввиду твоих опусов меня некоторые коллеги подкалывали, начальство даже подкалывать не стало, наоборот меня сильнее зауважало) только и разочарование в людях.
Re[3]: Ищу удалёнку senior java или c++.
От: m2user  
Дата: 22.04.24 19:11
Оценка:
D>- другие подрядчики банка, который присылают разрабам свой ноут с предустановленной виндой (гы, иноагенты? ) и всем что мне как разрабу по их мнению может потребоваться (хрен бы с ней с виндой, но отвечать за чужое железо не хочу, да и поставить мне его особо некуда).

Они как-то обязывают использовать их оборудование и только его?
Re[4]: Ищу удалёнку senior java или c++.
От: dimgel Россия https://github.com/dimgel
Дата: 22.04.24 20:21
Оценка:
Здравствуйте, m2user, Вы писали:

M>Они как-то обязывают использовать их оборудование и только его?


Насчёт "только его" -- не уверен: разговора о том, что у меня на время работы отнимут мой ноут и телефон, не было. Но в целом по ощущениям мне вся эта затея показалась гниловатой.
Отредактировано 22.04.2024 20:22 dimgel . Предыдущая версия . Еще …
Отредактировано 22.04.2024 20:22 dimgel . Предыдущая версия .
Re[2]: Ищу удалёнку senior java или c++.
От: alpha21264 СССР  
Дата: 23.04.24 13:35
Оценка:
Здравствуйте, Doom100500, Вы писали:

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


Это ты не видел какое резюме я в Яндекс написал. Позвонили через пол-часа.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Ищу удалёнку senior java или c++.
От: CEMb  
Дата: 26.04.24 16:53
Оценка: 5 (1)
Здравствуйте, dimgel, Вы писали:

_>>А что с рынокм работы в принципе, как успехи?


D>Да никак. 20 отшили меня; ещё штук 100 либо молчат, либо дежурная отписка; 2 отшил я:


120!!! Вот это мощный арт обстрел!
я обычно отправляю в 1-2 места и грущу потом, что мне не все ответили, а оно вон как

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


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