Пытаюсь найти алгоритм выхода из стандартной ситуации.
Дано: есть дружный коллектив говнокодеров. Ой, нетолерантненько как-то. Назовём их калифицированными специалистами. Что я подразумеваю под этим термином.
1. Основной паттерн программирования -- копирование и вставка. Получается быстро и без претензий -- в случае чего всегда можно перевести стрелки на автора оригинала и развести бесконечную рекурсию.
2. Мышление исключительно в рамках Agile-задачки, мысли о возможности переиспользования кода не посещают.
3. Слово "рефакторинг" либо приводит в ужас, либо это самоцель, а в терминальной стадии "всё сломать и переделать".
4. Выбор средств разработки осуществляется по двум критериям: новое и модное. Сами инструменты используются криво и по минимуму возможностей.
5. Бинарное мышление: либо хорошо, либо плохо. Градации и варианты отсутствуют. Существует только 2 точки зрения -- собственная и неправильная.
6. Речь напичкана английскими вордами, левел нолиджа которых вызывает рвотный рефлекс (проблема не в уровне знаний, а в подобном способе самоутверждения). С родным русским ещё хуже, правописание на уровне средней школы для умственно отсталых.
7. Тот, кто по прочтении вышенаписанного чувствует непреодолимый позыв сфокусироваться на личности автора, ведь имеет значение не то, что говорят, а кто это делает. Спешу сообщить, что от обсирания меня ваш собственный уровень ну никак не изменится, разве что в собственных глазах.
Так вот, говнокодеры крайне болезненно просыпаются на собственных лаврах. Нет, не когда их как-то там обзывают, а когда, например, они видят, что код может занимать на порядок меньше места и быть производительнее на пару порядков. И вот тут начинается спектакль, у меня все ходы записаны.
Часть первая, демагогическая.
1. Объясните, что делает этот код (такая вот перегрузка equals() для "я не понимаю, не желаю и неспособен").
2. Это неправильно (т. к. решения и авторитеты существуют только свои и неправильные).
3. Подзываются единомышленники, ибо научные споры решаются голосованием.
Часть вторая, патетическая.
1. То есть вместо того, чтобы заниматься %bug_fixing% %flea_catching%, ты потратил <придыхание>ресурсы компании</придыхание> на вот это???!!! (В скобках: это заявляет не владелец, не начальник, а такой же винтик.)
2. Даже если это и в рамках задачи и отведённого времени, почему ты не посоветовался? Ведь тогда бы ты узнал, что мы уже так пробовали и густо обосрались нас облили холодной водой из шланга.
Часть третья, подковёрная.
1. Поиск компромата, обычно докопаться не получается -- тупые-с.
2. Тогда нечто объявляется некошерным, и с этим идут к начальству. А тому что? Лишь бы не было войны. Руководство вызывает на ламинат и в мягкой форме просит обмазаться говном и таким образом не выделяться.
3. После этого в замке у шефа начинается подготовка к аборту.
Часть четвёртая, сюрреалистическая.
После корпоративной смерти сотрудника, его душа пребывает на грешной территории ещё некоторое время и наблюдает, как наследники присваивают себе и внедряют его решения.
Занавес по собственному желанию.
И вот как выпутаться из подобной ситуации? Смена места работы не поможет -- везде костяк команды составляют... э-э-э имбециозные разработчики с горящими очками, разбавленные стойловым планктоном. Могут заметить, что не надо выделываться, ведь денег больше не дадут. То есть других мотиваций и не предполагается, кроме как самоутверждения за счёт других и рубки бабла. И нет, это не шило в жопе пассионарность, гордыня или перфекционизм. Просто сидит внутри желание делать своё дело хорошо (подробнее см. "Атлант расправил плечи", там кратенько, на 800-х страницах, описано такое вот генетическое отклонение).
В "Атланте" есть и решение: сбежать в горы и ждать, пока говноделы доведут мир до цугундера. Можно, конечно, укрыться в стране Гитхабии и вот там... Но время кустарей прошло, в общем, не люблю художественной самодеятельности. Можно замутить "свой бизнес" (TM), а кого нанимать? Даже резюме не могут написать без ошибок, как с такими руками они будут намолачивать код? Да и заказчикам нужно не разумное качество, а продукт вторичный, подешевле и повонючее помедийнее, и с точки зрения доходности модель SaEPaM (Software as Eternal Patching and Milking) является идеальной.
Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
Особенно не высовываться, улучшать что-то только когда попросят. Лет через 5 вырастет авторитет, и вот тогда можно начинать самому продвигать свои решения.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, mgu, Вы писали:
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
А не нужно выживать. Пути следующие:
1) При выборе работы искать места, где реально будут востребованы твои сильные места. Где, например, не любят копипаст. На собеседовании жто крайне просто узнать;
2) Скорее всего будет несколько групп. Одни хотят одного, другие другого. В худшем случае будет 50 на 50, тогда будет полный атас. Если ты в явном меньшинстве — значит плохо справился с первым пунктом, не распознал бардак, не сказал о себе на собеседовании то, что следовало бы знать. Например если ты сторонник анемичной модели данных, а там все фигачат на богатой — ну на хрена мучиться подстраиваться, лучше сразу идти к единомышленникам. Соответственно далее завоевываешь авторитет, твоя если твоя группа побеждает, остальные сами рано или поздно уволятся. Если победила другая группа — просто неспешно ищешь другую работу, говнокодишь как им нравится. Главное не сначала увольняться, а потом работу искать — в этом случае будешь сильно ограничен в выборе и к тебе будет худшее отношение.
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
Прямо какой-то юношеский максимализм: делать все лучше, чем требуется. Все вокруг..., один я — Д'Артаньян.
Это все от недостатка работы в промышленной разработке с постоянно меняющимися требованиями.
Копи-пест: часто задача стоит в виде 'сделать похоже, но все иначе'. Здесь проще скопировать и переделать маленький кусочек, чем позже рефакторить кривую архитектуру.
Рефакторинг — очень опасная штука, особенно с чужим кодом, да без документации и комментариев в коде.
Здравствуйте, mgu, Вы писали:
mgu>Пытаюсь найти алгоритм выхода из стандартной ситуации.
работу вы уже нашли , теперь ищете алгоритм ))
многабукав ниасилил дальше "основной паттерн разработки — копипаста". Такого за X лет в Y конторах в Z странах не видел даже у самых стремных. Дальнейший материал доверия не вызывает.
Здравствуйте, mgu, Вы писали:
mgu> э-э-э имбециозные разработчики с горящими очками, разбавленные стойловым планктоном. Могут заметить, что не надо выделываться, ведь денег больше не дадут. То есть других мотиваций и не предполагается, кроме как самоутверждения за счёт других и рубки бабла.
Все так и есть, качество человеческого материала, оставшегося после 14 года описано достаточно точно.
Качество конкретного продукта и результат вообще никого не интересует, поскольку никто ни за что не отвечает. Руководство интересует только успешность продажи компании, а рядовых кодотехников успешность получения зарплаты и чпокания цып из hr-состава. Задуматься о цели наличия там этих цып способны не только лишь все.
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
Лично я купил себе сварочный аппарат и потихоньку осваиваю аргоно-дуговую.
Здравствуйте, mgu, Вы писали:
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
есть. Во-первых, паттерн описан очень точно. Называется он "оверквалифайед в стране слепых". Фактически вы описали типичную треш-контору с "молодыми-амбициозными", но по факту инвалидами умственного труда. Лучший совет — не попадать в такие конторы. Ну а если попали — быстро искать новую работу, потому что молодые и амбициозные хоть в техническом плане и близки к нулю, но жопой чувствуют свою некомпетентность и попытаются всеми правдами и неправдами перед начальством оправдать свою значимость, при этом не гнушаясь прямым саботированием вашей деятельности. Маловероятный, но выход — идите напрямую к начальству, и прямо говорите, так и так, у вас тут треш угар и содомия, я предлагаю сделать это и это, это повысит надои в нцать раз. Прошу вывести меня из под управления господина Г, и дать мне максимум технических полномочий. В случае негативной реакции срочно искать новую работу.
Здравствуйте, mgu, Вы писали:
mgu>Пытаюсь найти алгоритм выхода из стандартной ситуации.
Есть такой небольшой рынок труда: спасение проектов, утонувших в говнокоде, которые должны заработать вчера, но похоже, сами по себе и через год не заработают.
Этот рынок маленький, попасть туда нелегко, но там хорошо платят.
Типичная проблема заказчика: писали три года, инвестиции подошли к концу, на завтра назначена встреча с представителем компании, которая готова закупиться на 100500 миллионов, ему сказано, что все давно сделано, он просит показать живьем, а у нас даже на проекторе не работает.
Или другой вариант, заказчик производит железки и делает сам прошивки к ним. На очередной модификации железки прошивка в принципе работает, только в 1000 раз медленнее, чем имело бы практический смысл. А через 3 месяца, к рождественским распродажам, железка должна уже быть в магазине. И там 100500 строк кода, в которой каждая функция реализована в 5-и несовместимых вариантах, и неизвестно, в какой сборке чего используется, в общем, за 3 месяца 10-и человекам со скрамами и митингами не починить.
В общем, на говнокоде можно и зарабатывать даже. Если выдержишь запах, который от этого кода стоит...
Здравствуйте, mgu, Вы писали:
mgu>Пытаюсь найти алгоритм выхода из стандартной ситуации.
mgu>Дано: есть дружный коллектив говнокодеров. Ой, нетолерантненько как-то. Назовём их калифицированными специалистами. mgu>Так вот, говнокодеры крайне болезненно просыпаются на собственных лаврах. Нет, не когда их как-то там обзывают, а когда, например, они видят, что код может занимать на порядок меньше места и быть производительнее на пару порядков.
И в чем проблема? Пишешь код, который занимает на порядок меньше места и быстрее работает и никаких вопросов не возникает.
Или у тебя способ самоутверждения такой — доказать что другие делают говно, независимо от того что сам делаешь?
Здравствуйте, gandjustas, Вы писали:
G>И в чем проблема? Пишешь код, который занимает на порядок меньше места и быстрее работает и никаких вопросов не возникает. G>Или у тебя способ самоутверждения такой — доказать что другие делают говно, независимо от того что сам делаешь?
Вы, вроде бы, специалист по шарепоинту. Скажите, вам не кажется, что ваши задачи и задачи топикстартера могут немного отличаться?
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, gandjustas, Вы писали:
G>>И в чем проблема? Пишешь код, который занимает на порядок меньше места и быстрее работает и никаких вопросов не возникает. G>>Или у тебя способ самоутверждения такой — доказать что другие делают говно, независимо от того что сам делаешь?
С>Вы, вроде бы, специалист по шарепоинту. Скажите, вам не кажется, что ваши задачи и задачи топикстартера могут немного отличаться?
Как связаны задачи топикстартера, то что я специалист по шарепоинту и тема обсуждения?
Здравствуйте, gandjustas, Вы писали:
С>>Вы, вроде бы, специалист по шарепоинту. Скажите, вам не кажется, что ваши задачи и задачи топикстартера могут немного отличаться? G>Как связаны задачи топикстартера, то что я специалист по шарепоинту и тема обсуждения?
Так, что у вас разное окружение, и его опыт может быть нерелевантным вашему. Вы пришли в тему и с ходу отыграли диалог:
(а) — У меня всё хреново.
(б) — А у меня всё хорошо!
И какова же польза этого диалога, кроме того, что вы еще раз заявили о вашей успешности?
Здравствуйте, mgu, Вы писали:
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
Есть конечно же конторы, в которых не так, как описано. Я не могу утверждать, но почему-то уверен, что их большинство.
Алгоритм простой — увольняться и работать в других конторах.
Утверждение, что так везде, читается как: "вы все больные и не лечитесь, одна я в белом пальто стою красивая".
Здравствуйте, Слава, Вы писали:
С>И какова же польза этого диалога, кроме того, что вы еще раз заявили о вашей успешности?
Интересно откуда получился такой вывод?
ТС утверждает что в компании пишут плохой код, можно писать меньше и работать будет быстрее. При этом сам ТС не пишет код меньше и быстрее, а пытается в чем-то упрекать других.
О чьей-либо успешности я не заявлял.
A>корреляции ноль. Сейчас любой рак может нагуглить "сложные вопросы" в интернете.
контора в значительной степени должна состоять из тех, кто ответил
под вопросами имеются ввиду тестовые задания, конечно — код пишем, а не слова говорим.
Здравствуйте, koenig, Вы писали:
K>под вопросами имеются ввиду тестовые задания, конечно — код пишем, а не слова говорим.
тестовые задания в принципе отсеивают вменяемых людей, Процент опытных людей, соглашающихся на тестовое задание, на порядок ( порядки ) ниже процента неопытных, которым с тестовым заданием поможет друг, фрилансер, коллега. Теорема Байеса в действии.
K>>под вопросами имеются ввиду тестовые задания, конечно — код пишем, а не слова говорим.
A>тестовые задания в принципе отсеивают вменяемых людей, Процент опытных людей, соглашающихся на тестовое задание, на порядок ( порядки ) ниже процента неопытных, которым с тестовым заданием поможет друг, фрилансер, коллега. Теорема Байеса в действии.
Тестовое только в офисе. На дом давать — свинство по отношению к соискателю.
Да, будет дофига false negatives. Но для топик-стартера — это прогресс, у него вокруг одни false positives.
Здравствуйте, koenig, Вы писали:
K>Тестовое только в офисе. На дом давать — свинство по отношению к соискателю.
Мы платим за успешно сделанное тестовое задание.
Здравствуйте, sr_dev, Вы писали:
_>многабукав ниасилил дальше "основной паттерн разработки — копипаста". Такого за X лет в Y конторах в Z странах не видел даже у самых стремных. Дальнейший материал доверия не вызывает.
Копипаст бывает разный. Например знаю одну контору. Они разрабатывали корпоративные приложения на заказ. Они поняли, что все то, что они делают — это постоянно делают одно и тоже. И они соответственно сделали свою платформу, которая позволяет максимально быстро делать рутинные операции и сосредоточиться на различиях. Более того, сначала этой платформой пользовались сами, а затем вообще ее стали продавать. Вот этот подход близок к отсутствию копипаста.
Если же брать типичную разработку проекта на заказ, то обычно никто не заморачивается с автоматизацией рутинных операций. Есть какой то высокоуровневый модный фреймворк — это и будет самым высоким уровнем. Вынести общую логику в библиотеки зачастую тупо не дадут. Зачастую будут именно требовать везде генерить иквался и хешкоды везде где нужно и не нужно, и писать на это юнит тесты. По существу это и есть копипаста. Также большинство разработчиков в случае работы с потоками будут копипастить решения в лучшем случае из Java Concurrency In Practice. Даже не копипастить, а наизусть с нуля постоянно писать, ибо это востребовано, а то они на скорость не пройдут собеседование в другое место. И тому подобные. Сделать высокоуровневые удобные библиотеки, заточенные под предметную область — такая идея придет единицам. И зачастую будет встречена огнем критики.
Многие вещи в большинстве контор будут под запретом. Ибо действительно другие пытались, потратили полгода, и ни черта не смогли сделать. В принципе помогает, когда ты через определенное время смог один сделать то, с чем облажались предыдущие. Когда говорили что это невозможно и дико трудоемко, потому от тебя ожидается копипаста одних и тех же решений. Рано или поздно авторитет зарабатывается и к тебе вынуждены будут прислушиваться. Но проходит зачастую много времени, зачастую больше, чем в среднем работает сотрудник на одном месте.
И самое главное — очень многие пытаются сделать хорошо, писать одновременно и кратко и понятно. Но большинство не в состоянии это делать в приемлемые сроки. Зачастую потратят впустую полгода и не сделают ни черта. И потом сами мысли о подобных предложениях будет под запретом. Ибо как же так — это невозможно реализовать, сам мега 23 летний сеньер это пытался, он на собеседовании вообще задачки на гномиков идеально решал и такие детали используемых фреймворков рассказывал, что вообще все собеседующие себя идиотами чувствовали — даже он не смог. А тут какой то олдфаг, который собеседовался средненько, были вопросы в которых плавал, и рыпается над глобальными задачами. Если 23 летний сеньер не смог — то 50 летний то "миддл" точно не справится.
K>>Тестовое только в офисе. На дом давать — свинство по отношению к соискателю. G>Мы платим за успешно сделанное тестовое задание.
это, конечно, вызывает уважение, но наверняка по сети бродит дофига людей, которые считают вас оч. нехорошими людьми, потому что ваши оценки — сделано ли — разошлись.
Здравствуйте, koenig, Вы писали:
K>>>Тестовое только в офисе. На дом давать — свинство по отношению к соискателю. G>>Мы платим за успешно сделанное тестовое задание.
K>это, конечно, вызывает уважение, но наверняка по сети бродит дофига людей, которые считают вас оч. нехорошими людьми, потому что ваши оценки — сделано ли — разошлись.
Нет, обычно из 8-10 кандидатов только один делает и его берем. Остальные просто не смогли или не захотели.
K>>это, конечно, вызывает уважение, но наверняка по сети бродит дофига людей, которые считают вас оч. нехорошими людьми, потому что ваши оценки — сделано ли — разошлись. G>Нет, обычно из 8-10 кандидатов только один делает и его берем. Остальные просто не смогли или не захотели.
Здравствуйте, koenig, Вы писали:
K>>>это, конечно, вызывает уважение, но наверняка по сети бродит дофига людей, которые считают вас оч. нехорошими людьми, потому что ваши оценки — сделано ли — разошлись. G>>Нет, обычно из 8-10 кандидатов только один делает и его берем. Остальные просто не смогли или не захотели.
K>т.е. остальные просто не отправляют вам решение?
Последний раз было так:
10 кандидатов, 6 прошли устное собеседование и получили тестовое задание, 4 слились так и не начав выполнять, один делал вид что что-то делает, но ничего не показал, один честно выполнил и получил работу.
Тестовое задание было на полдня от силы, но если не разбираться в теме требовалось бы еще день разобраться. Всем был дан срок в одну неделю, тот кто справился выполнил через две. Он честно сказал что на первой неделе ему не хватило знаний чтобы задание выполнить.
Здравствуйте, gandjustas, Вы писали:
G>Тестовое задание было на полдня от силы, но если не разбираться в теме требовалось бы еще день разобраться. Всем был дан срок в одну неделю, тот кто справился выполнил через две. Он честно сказал что на первой неделе ему не хватило знаний чтобы задание выполнить.
А выложите, пожалуйста, это задание сюда. Или в личку, в крайнем случае. Интересно, что же вы такое спрашиваете, что недели не хватает.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, gandjustas, Вы писали:
G>>Тестовое задание было на полдня от силы, но если не разбираться в теме требовалось бы еще день разобраться. Всем был дан срок в одну неделю, тот кто справился выполнил через две. Он честно сказал что на первой неделе ему не хватило знаний чтобы задание выполнить.
С>А выложите, пожалуйста, это задание сюда. Или в личку, в крайнем случае. Интересно, что же вы такое спрашиваете, что недели не хватает.
У нас SharePoint, поэтому недели не хватает.
Задание было такое:
Нужно согласовывать запросы на доступ к системам 1С, CRM, ERP
У каждой системы свой набор ролей. У каждой роли свой согласующий.
В SharePoint надо создать
1. Список систем (только название)
2. Список ролей (Название, ссылка на систему, согласующий)
3. Список запросов на доступ (ссылка на систему, ссылка на роль, кто согласовал, статус)
Для запросов на доступ должна быть кастомная форма на AngularJS, в которой автор запроса
1. Выберет систему
2. Выберет роль в системе (каскадные dropdown)
3. Отправит запрос на согласование
После отправки запроса на согласование должен запуститься workflow, который
1. Отберет у всех права на изменение
2. Даст права на изменение согласующему выбранной роли
3. Создаст задачу согласующему с двумя возможными результатами — согласовано и отклонено
4. После выполнения задачи скопирует результат задачи в запрос в поле статус
5. Отберет права на изменение у согласующего
6. Оповещает инициатора о результатах процесса
Дополнительная задача — сделать так, чтобы согласующий мог прямо из письма одним кликом согласовать или отклонить запрос.
Решение должно распространяться в виде .pnp пакета (+powershell скрипт если необходимо), должно работать в Office 365 и SharePoint on premise версии 2013 и выше. Для разработки использовать только код на TypeScript, JSOM и workflow 2013.
В результате должны быть: исходники решения, краткая инструкция по сборке пакета и краткая инструкция по установке.
И в дополнение куча ссылок на примеры по каждому пункту.
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Здравствуйте, mgu, Вы писали:
mgu>И вот как выпутаться из подобной ситуации?
Прокачать soft skills хотя бы до минимального уровня и постараться не выпячивать так активно свой ЧСВ.
mgu> Смена места работы не поможет -- везде костяк команды составляют... э-э-э имбециозные разработчики
У меня сложилось впечатление, что в спектре специализаций контор, в которых работают программисты, есть более говнистые и менее говнистые секторы.
Например, понятие "энтерпрайз" (по-русски — копрокорпоративные информационные системы) для меня — синоним того самого анекдотического колодца, выныривая из которого, матёрый гуру изрекает, обращаясь к падавану — "учись, а то так и будешь всю жизнь ключи подносить!"
(Увы, но уровень финансового благополучия конторы и, соответственно, уровень материальной компенсации для её работников скорее прямо пропорциональны её говнистости, чем наоборот. В наличии явной закономерности, впрочем, не уверен.)
Внутри этих специализаций, в свою очередь, есть более говнистые (поддержка и доработка, длящиеся годами и десятилетиями) и менее говнистые (разработка новых проектов с нуля) участки.
Степень отчужденности конторы от производимого ей продукта и его пользователей (пишут для себя / на заказ / продают тиражами / аутсорс / аутстафф) тоже влияет на этого продукта ароматность (перечислено в порядке её возрастания в моём понимании, но порядок не строгий).
Так что мой "алгоритм" в том, чтобы двигаться в направлениях либо большей наукоёмкости (скажем так) специализации очередной конторы, либо большей свежести проектов и более частой их смены. (По "степени отчужденности" всегда оставался в рамках первых трёх категорий, пробовать две оставшиеся совсем не хочется.)
Подобное движение пока, увы, происходило у меня только вместе со сменой работодателя.
Здравствуйте, s_aa, Вы писали:
_>Особенно не высовываться, улучшать что-то только когда попросят. Лет через 5 вырастет авторитет, и вот тогда можно начинать самому продвигать свои решения.
Я нигде не мотал таких сроков, всегда выходил раньше по амнистии. Коллеги менялись ещё быстрее.
Здравствуйте, elmal, Вы писали:
E>1) При выборе работы искать места, где реально будут востребованы твои сильные места. Где, например, не любят копипаст. На собеседовании жто крайне просто узнать;
Как? Прямо в лоб и спросить?
E>2) Скорее всего будет несколько групп. Одни хотят одного, другие другого.
Это нормально, надо просто обмозговать и выбрать наиболее подходящий вариант.
E>В худшем случае будет 50 на 50, тогда будет полный атас. Если ты в явном меньшинстве — значит плохо справился с первым пунктом, не распознал бардак, не сказал о себе на собеседовании то, что следовало бы знать. Например если ты сторонник анемичной модели данных, а там все фигачат на богатой — ну на хрена мучиться подстраиваться, лучше сразу идти к единомышленникам.
Я сторонник не каких-то моделей, а их уместного использования.
E>Соответственно далее завоевываешь авторитет, твоя если твоя группа побеждает, остальные сами рано или поздно уволятся.
Так вот нет цели, чтобы кто-то увольнялся.
E>Если победила другая группа — просто неспешно ищешь другую работу, говнокодишь как им нравится. Главное не сначала увольняться, а потом работу искать — в этом случае будешь сильно ограничен в выборе и к тебе будет худшее отношение.
Здравствуйте, namespace, Вы писали:
N>Прямо какой-то юношеский максимализм: делать все лучше, чем требуется. Все вокруг..., один я — Д'Артаньян.
Никогда не замечал у юношей стремления к качеству, это приходит с годами.
N>Это все от недостатка работы в промышленной разработке с постоянно меняющимися требованиями. N>Копи-пест: часто задача стоит в виде 'сделать похоже, но все иначе'. Здесь проще скопировать и переделать маленький кусочек, чем позже рефакторить кривую архитектуру. N>Рефакторинг — очень опасная штука, особенно с чужим кодом, да без документации и комментариев в коде.
Странно, что обо мне сложилось такое впечатление. Семь пятниц на неделе у заказчика и рефакторинг на скаку -- это мои будни.
Здравствуйте, sr_dev, Вы писали:
mgu>>Пытаюсь найти алгоритм выхода из стандартной ситуации.
_>работу вы уже нашли , теперь ищете алгоритм ))
Так Agile же на дворе, проблемы решаются последовательно.
_>многабукав ниасилил дальше "основной паттерн разработки — копипаста". Такого за X лет в Y конторах в Z странах не видел даже у самых стремных. Дальнейший материал доверия не вызывает.
В жизни всегда есть место новому. А какой основной паттерн разработки вы видели?
Здравствуйте, StandAlone, Вы писали:
SA>Все так и есть, качество человеческого материала, оставшегося после 14 года описано достаточно точно. SA>Качество конкретного продукта и результат вообще никого не интересует, поскольку никто ни за что не отвечает. Руководство интересует только успешность продажи компании, а рядовых кодотехников успешность получения зарплаты и чпокания цып из hr-состава. Задуматься о цели наличия там этих цып способны не только лишь все.
А я думал, что цып пердолит руководство.
mgu>>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
SA>Лично я купил себе сварочный аппарат и потихоньку осваиваю аргоно-дуговую.
Здравствуйте, antropolog, Вы писали:
A>есть. Во-первых, паттерн описан очень точно. Называется он "оверквалифайед в стране слепых". Фактически вы описали типичную треш-контору с "молодыми-амбициозными", но по факту инвалидами умственного труда. Лучший совет — не попадать в такие конторы. Ну а если попали — быстро искать новую работу, потому что молодые и амбициозные хоть в техническом плане и близки к нулю, но жопой чувствуют свою некомпетентность и попытаются всеми правдами и неправдами перед начальством оправдать свою значимость, при этом не гнушаясь прямым саботированием вашей деятельности. Маловероятный, но выход — идите напрямую к начальству, и прямо говорите, так и так, у вас тут треш угар и содомия, я предлагаю сделать это и это, это повысит надои в нцать раз. Прошу вывести меня из под управления господина Г, и дать мне максимум технических полномочий. В случае негативной реакции срочно искать новую работу.
Начну с конца: искать новую работу весьма непросто -- возраст. В последние лет 10 я и так самый старый в конторах, мои бывшие коллеги-ровесники прозябают на своей Delphi, а то и на стройке работают. Во время интервью техническими инквизиторами являются в основном имбециозные, которые попросту не понимают моих ответов. Кстати, старые программисты тоже не сахар и тоже не стремятся брать в команду конкурента.
Треш во все времена превалировал во всех областях человеческой деятельности, так что найти достойную контору весьма непросто.
"оверквалифайед в стране слепых" -- вот-вот, "не мечите бисер...", "глас вопиющего в пустыне..."
К начальству подходил, но ему надои не нужны, главное -- как бы чего не вышло.
Здравствуйте, Pzz, Вы писали:
Pzz>Есть такой небольшой рынок труда: спасение проектов, утонувших в говнокоде, которые должны заработать вчера, но похоже, сами по себе и через год не заработают.
Pzz>В общем, на говнокоде можно и зарабатывать даже. Если выдержишь запах, который от этого кода стоит...
О! Это мне подходит. К запаху я давно принюхался, где такой рынок найти?
Да, и что случается с ассенизатором после превращения кода в конфетку? Выкидывают на мороз? Ведь самый цимес говнокода в этой самой job security.
Здравствуйте, Submitter, Вы писали:
SA>>Все так и есть, качество человеческого материала, оставшегося после 14 года описано достаточно точно.
S>А что было в 14-ом году?
Здравствуйте, gandjustas, Вы писали:
G>И в чем проблема? Пишешь код, который занимает на порядок меньше места и быстрее работает и никаких вопросов не возникает.
Вот как раз в этот момент всё и начинается.
G>Или у тебя способ самоутверждения такой — доказать что другие делают говно, независимо от того что сам делаешь?
Здравствуйте, Слава, Вы писали:
С>Вы, вроде бы, специалист по шарепоинту. Скажите, вам не кажется, что ваши задачи и задачи топикстартера могут немного отличаться?
Проблема не в задачах, а люди одинаковы везде.
Кстати, у коллеги в подписи лычка от Майкрософта... На 4 слова 3 орфографические ошибки.
Здравствуйте, Слава, Вы писали:
С>Так, что у вас разное окружение, и его опыт может быть нерелевантным вашему. Вы пришли в тему и с ходу отыграли диалог:
С>(а) — У меня всё хреново. С>(б) — А у меня всё хорошо!
С>И какова же польза этого диалога, кроме того, что вы еще раз заявили о вашей успешности?
Мы подбираемся к моменту истины, мои диалоги обычно такие:
(а) — У меня всё хорошо, работает на порядок быстрее.
(б) — (Тогда у меня всё хреново.) Ну ничего, я пошлю донос начальству, где укажу, что это неправильный подход.
Здравствуйте, Рома Мик, Вы писали:
РМ>Есть конечно же конторы, в которых не так, как описано. Я не могу утверждать, но почему-то уверен, что их большинство.
Да, хороших людей большинство, но плохие более заметны. Кроме того, логика подсказывает, что нанимают активнее всего там, откуда бегут.
РМ>Алгоритм простой — увольняться и работать в других конторах. РМ>Утверждение, что так везде, читается как: "вы все больные и не лечитесь, одна я в белом пальто стою красивая".
За это Ильиничну все и любили. И сравним с Раисой Максимовной, у которой было не пальто, а прикид покруче.
Здравствуйте, gandjustas, Вы писали:
G>Интересно откуда получился такой вывод? G>ТС утверждает что в компании пишут плохой код, можно писать меньше и работать будет быстрее. При этом сам ТС не пишет код меньше и быстрее
Здравствуйте, koenig, Вы писали:
A>>корреляции ноль. Сейчас любой рак может нагуглить "сложные вопросы" в интернете.
K>контора в значительной степени должна состоять из тех, кто ответил K>под вопросами имеются ввиду тестовые задания, конечно — код пишем, а не слова говорим.
Позвольте вам задать вопросы, логические.
1. Меня спрашивают: "Сколько будет дважды два?" -- "Четыре". -- "Неверно, пять. Мы вам позвоним". Справедливо?
2. Меня спрашивают: "Сколько будет дважды два?" -- "Четыре". -- "Правильно. Мы вам позвоним". И не звонят. ЧЯДНТ?
3. Меня спрашивают: "Сколько будет дважды два?" -- "Четыре". -- "Правильно. Когда сможете приступить?". -- "Минутку, а сколько будет трижды три?" -- "Э-э... шесть!" -- "Неверно, вот калькулятор". Должен ли интервьюер немедленно уволиться?
Здравствуйте, gandjustas, Вы писали:
G>Тестовое задание было на полдня от силы, но если не разбираться в теме требовалось бы еще день разобраться. Всем был дан срок в одну неделю, тот кто справился выполнил через две.
Здравствуйте, mgu, Вы писали:
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
Гораздо проще изменить себя (поступиться своими принципами), чем мир вокруг.
Для нового тебя все вышеописанное уже не будет такой проблемой.
Почему не хочешь пойти по этому пути?
Ты борешься с говнокодом, как Дон Кихот с ветряными мельницами, по тем же причинам что и он, или у тебя более приземленные мотивы?
в множестве ветряных мельниц Дон Кихот видел «чудовищных великанов», с которыми он намерен непременно вступить в бой и «перебить их всех до единого».
И в этом сражении он видит свой святой долг «стереть дурное семя с лица земли».
Здравствуйте, L_G, Вы писали:
L_G>Степень отчужденности конторы от производимого ей продукта и его пользователей (пишут для себя / на заказ / продают тиражами / аутсорс / аутстафф) тоже влияет на этого продукта ароматность (перечислено в порядке её возрастания в моём понимании, но порядок не строгий).
В основном специализируюсь по №2 и №4, какой-то разницы не заметил.
L_G>Подобное движение пока, увы, происходило у меня только вместе со сменой работодателя.
Внутри одного работодателя сорта тоже могут различаться. Но, повторюсь, проблема в людях, в уровне их квалификации, цивилизованности и амбиций.
Самый простой вариант — открыть свою компанию и написать продукт, который будет приносить доход. Мой опыт показывает, что тогда пожар в попе по поводу "говнокодеров" и "говнокода" сразу утихает.
Другой вариант — стать неимоверно крутым, как Фабрис Беллард или Джеф Дин, чтобы компании были готовы платить вам за то, что вы просто едите с их микрокухни. Там уже можно себе выбрать проект по душе.
Третий вариант — устроиться в нетехнологическую компанию и быть там единственным разработчиком. Правда, есть риск, что придётся подрабатывать эникеем и сторожем.
Вариант "сидеть и не высовываться" не работает, потому что есть подозрения, что со временем становишься частью команды, частью корабля независимо от своего позиционирования и точки зрения.
P.S. А вообще романтика в программировании закончилась где-то между 2008-м и 2011-м.
Здравствуйте, landerhigh, Вы писали:
L>>>Классика же. Не можешь победить — возглавь! mgu>>Поможет?
L>Зависит от того, какие цели преследовать. Если обеспечить себя теплым высокооплачиваемым местом — очень даже.
Стало быть, нанимать в подчинённые нужно исключительно альтернативно одарённых, чтобы быть первым парнем на деревне и не подсидели.
mgu>>По-моему, говнокодеры иммутабельны.
L>Методы святой инквизиции во время код-ревью все же иногда творят чудеса.
Тогда команда разбежится, ведь говнокодеры на вес золота.
Здравствуйте, bnk, Вы писали:
bnk>Гораздо проще изменить себя (поступиться своими принципами), чем мир вокруг. bnk>Для нового тебя все вышеописанное уже не будет такой проблемой. bnk>Почему не хочешь пойти по этому пути?
Да куда ж я денусь-то?
Уинстон, в блаженном забытьи, даже не заметил, как ему наполнили стакан. Он уже не бежал и не кричал с толпой. Он снова был в министерстве любви, и все было прощено, и душа его была чиста, как родниковая вода. Он сидел на скамье подсудимых, во всем признавался, на всех давал показания. Он шагал по вымощенному кафелем коридору с ощущением, как будто на него светит солнце, а сзади следовал вооруженный охранник. Долгожданная пуля входила в его мозг.
Он остановил взгляд на громадном лице. Сорок лет ушло у него на то, чтобы понять, какая улыбка прячется в черных усах. О жестокая, ненужная размолвка! О упрямый, своенравный беглец, оторвавшийся от любящей груди! Две сдобренные джином слезы прокатились по крыльям носа. Но все хорошо, теперь все хорошо, борьба закончилась. Он одержал над собой победу. Он любил Старшего Брата.
bnk>Ты борешься с говнокодом, как Дон Кихот с ветряными мельницами, по тем же причинам что и он, или у тебя более приземленные мотивы? bnk>
в множестве ветряных мельниц Дон Кихот видел «чудовищных великанов», с которыми он намерен непременно вступить в бой и «перебить их всех до единого».
bnk>И в этом сражении он видит свой святой долг «стереть дурное семя с лица земли».
Нет, я попроще, борюсь с говнокодом, как с грязной посудой.
Здравствуйте, mbait, Вы писали:
M>Самый простой вариант — открыть свою компанию и написать продукт, который будет приносить доход. Мой опыт показывает, что тогда пожар в попе по поводу "говнокодеров" и "говнокода" сразу утихает.
Для меня это самый сложный вариант.
M>Другой вариант — стать неимоверно крутым, как Фабрис Беллард или Джеф Дин, чтобы компании были готовы платить вам за то, что вы просто едите с их микрокухни. Там уже можно себе выбрать проект по душе.
Кто все эти люди? Как они вырвались из душного коллектива?
M>Третий вариант — устроиться в нетехнологическую компанию и быть там единственным разработчиком. Правда, есть риск, что придётся подрабатывать эникеем и сторожем.
Как пить дать.
M>Вариант "сидеть и не высовываться" не работает, потому что есть подозрения, что со временем становишься частью команды, частью корабля независимо от своего позиционирования и точки зрения.
Не понял мысли.
M>P.S. А вообще романтика в программировании закончилась где-то между 2008-м и 2011-м.
Здравствуйте, mgu, Вы писали:
M>>Самый простой вариант — открыть свою компанию и написать продукт, который будет приносить доход. Мой опыт показывает, что тогда пожар в попе по поводу "говнокодеров" и "говнокода" сразу утихает.
mgu>Для меня это самый сложный вариант.
C'est la vie.
mgu>Кто все эти люди? Как они вырвались из душного коллектива?
Подозреваю, что они никогда и не присоединялись к душному коллективу. Почитате про них, весьма незаурядные личности.
M>>Вариант "сидеть и не высовываться" не работает, потому что есть подозрения, что со временем становишься частью команды, частью корабля независимо от своего позиционирования и точки зрения.
mgu>Не понял мысли.
Нельзя долго терпеть то, что не принимаешь в душе. Или сорвёшся, или сам станешь писать говно. Посмотрите на Роба Пайка. Когда-то он был молод и голоден и совместно с другими придумал Си, UTF-8 и другие полезные вещи. А теперь он работает в одной индусской компании и разрабатывает Go. Чувствуете разницу?
mgu>Никогда в программировании романтики не замечал.
Под романтикой я имел в виду качественный код, нестрандартный подход, новые решения и великие свершения. Как мне показалось, это именно то, чего вы ищите. Если нет, то я не понимаю проблемы — тысяча и одна компания ждут вас, выбирайте на свой вкус.
Здравствуйте, mbait, Вы писали:
mgu>>Кто все эти люди? Как они вырвались из душного коллектива?
M>Подозреваю, что они никогда и не присоединялись к душному коллективу. Почитате про них, весьма незаурядные личности.
Почитал, они таки присоединялись. И продолжают вариться.
M>Нельзя долго терпеть то, что не принимаешь в душе. Или сорвёшся, или сам станешь писать говно.
Возможно. А можно и запить.
M>Посмотрите на Роба Пайка. Когда-то он был молод и голоден и совместно с другими придумал Си, UTF-8 и другие полезные вещи. А теперь он работает в одной индусской компании и разрабатывает Go. Чувствуете разницу?
Ничего плохого в этом не вижу.
M>Под романтикой я имел в виду качественный код, нестрандартный подход, новые решения и великие свершения. Как мне показалось, это именно то, чего вы ищите.
Боже упаси. Я простой столяр, который закручивает шурупы отвёрткой и с ужасом наблюдающий, как коллеги забивают их молотком, главное -- быстро и пофиг на рефакторинг. Люблю шуроповёрт, но меня убеждают, что лучше использовать новый фреймворк, куда сначала вставляется шуруп, а затем по нему фигачат доской.
M>Если нет, то я не понимаю проблемы — тысяча и одна компания ждут вас, выбирайте на свой вкус.
Я не "мущина до 30", поэтому тысячи не ждут. Должностей типа ведущего-архитектора мало, и они облеплены своими пауками. А идти средним на посредственную зарплату нет смысла.
Странно, что Вам не предложили очевидного варианта — удаленка на буржуев. Разница в квалификации средней команды (и программистов, и менеджмента) обычно бросается в глаза.
Ну,это если отбросить вариант, предполагающий Ваше чрезмерное ЧСВ как основную причину описанной проблемы.)
Здравствуйте, mgu, Вы писали:
mgu> Но, повторюсь, проблема в людях, в уровне их квалификации, цивилизованности и амбиций.
Возможно, мне просто везло, но с такими проблемами не приходилось сталкиваться. Видимо, потому, что в основном все коллеги-программисты были постоянно заняты решением своих задач. Разбирать код чужих решений на предмет соответствия каким-то требованиям всем было либо некогда, либо лень. Работает — и замечательно.
(Ревизия кода только что нанятого программиста перед коммитом в части контор практиковалась, но это заканчивалось уже через несколько дней, то есть мне начинали полностью доверять.)
Подобный подход наверняка не самый лучший и в смысле качества получаемых решений, и в смысле развития менее опытных программистов. Но я к нему уже привык и, как мне показалось, контор, где он практикуется, больше чем таких, где постоянный "разбор полетов" есть хоть в каком-то виде. Возможно, есть зависимость от размера конторы и/или размера команды программистов: чем меньше народу, тем больше личной свободы. И подозреваю, что корреляция степени этого вида свободы с размером компенсации, увы, отрицательная.
Вывод делать не берусь. Но мне кажется, что вполне реально найти место, где "проблема людей, уровня их квалификации, цивилизованности и амбиций" может, так же присутствуя, лично тебя практически не затрагивать. Или можно просто занять такую позицию.
Здравствуйте, mgu, Вы писали:
mgu>Здравствуйте, bnk, Вы писали:
bnk>>Гораздо проще изменить себя, чем мир вокруг. bnk>>Для нового тебя все вышеописанное уже не будет такой проблемой. bnk>>Почему не хочешь пойти по этому пути?
mgu>Да куда ж я денусь-то? mgu>
Но все хорошо, теперь все хорошо, борьба закончилась. Он одержал над собой победу. Он любил Старшего Брата.
В общем да.
Но думается, ты сильно преувеличиваешь проблему. Я сейчас работаю в команде из 20 индусов. Просто невозможно работать, если не смириться с определенными вещами. Да, палм-фейс происходит довольно часто, и кажется, что продукт был бы лучше, если из всей команды осталось бы несколько человек, и написан бы был в разы быстрее.
Не любишь грязные тарелки, я понял.
Для не-говнокода требуется определенный уровень квалификации, и определенный уровень нетерпимости к нему у менеджмента. Где же взять таких людей?
Даже касательно себя самого, думаешь через 10 лет будешь так же хорош, будешь шагать в ногу с тем, что индустрия разработает к тому времени? Потому, не судите, да не судимы будете, как говорится. Надо делать код ревью, причем именно позитивные, рекомендательные, надо учиться объяснять, почему определенным образом сделать лучше, быстрее, и качественнее, принимать, если твоё решение тупо не поняли.
Делиться надо, как говорится.
Проблема возможно в том, что ты хочешь, чтобы вся слава доставалась тебе. Если тебя на самом деле волнуют "грязные тарелки", просто мой их — отдавай свои решения коллегам, разделяя славу от их применения с коллективом.
Что-то почитал и столько текста и не лень ведь и столько пафоса о себе. Не впечатлило в общем.
Желание сотворить нечто великое с восхитилеьным повторным использованием кода, и восхитительными вложенными темплейтами, и с восхитительным быстродействием....
Вобщем товаришь, не надо писать сложно, чем проще и понятнее ( и без темплейтов ) написан код, и чем он менее кросплатформенен (простой код переделать для другой платформы проще чем тупить с ifdef-ами и шаблонами) — тем товаришь гений, лучше. То бишь — хинт для "руководителя" про тебя — гнать как бескопетентного неумеху.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, gandjustas, Вы писали:
G>>И в дополнение куча ссылок на примеры по каждому пункту.
С>Спасибо. С>Думаю, я бы сделал такое без особого труда. Удалёнка у вас имеется?
Имеется. Но сотрудников пока не набираем. Может в следующем году.
Здравствуйте, s_aa, Вы писали:
_>Особенно не высовываться, улучшать что-то только когда попросят. Лет через 5 вырастет авторитет, и вот тогда можно начинать самому продвигать свои решения.
Не вырастет. В подобных коллективах, он вырастает только за счет лизания жопы начальнику и поливания фекалиями конкурентов в этом занятии.
mgu>Я нигде не мотал таких сроков, всегда выходил раньше по амнистии. Коллеги менялись ещё быстрее.
Ну тогда только надеяться на везение, бывает так. Мне например повезло в этом плане в свое время, ситуация в конторе изменилась неожиданным образом и я оказался в высшей лиге.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
CM>Не вырастет. В подобных коллективах, он вырастает только за счет лизания жопы начальнику и поливания фекалиями конкурентов в этом занятии.
Ну если нормальный характер и умение находить общий язык с коллегами считается "лизанием жопы", то да. Настоящий мужык с ходу обзывает всех дебилами не стоящими его мизинца.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, s_aa, Вы писали:
_>Ну если нормальный характер и умение находить общий язык с коллегами считается "лизанием жопы", то да. Настоящий мужык с ходу обзывает всех дебилами не стоящими его мизинца.
Здравствуйте, mgu, Вы писали:
mgu>Да, хороших людей большинство, но плохие более заметны. Кроме того, логика подсказывает, что нанимают активнее всего там, откуда бегут.
Логика так же подсказывает, что чем больше проблем при найме, тем выше вероятность познакомиться с сабжем.
Здравствуйте, jahr, Вы писали:
J>Странно, что Вам не предложили очевидного варианта — удаленка на буржуев.
Так я на них, родимых, и работаю.
J>Разница в квалификации средней команды (и программистов, и менеджмента) обычно бросается в глаза.
Конечно. С руководством проблем нет, т. к. нет повода для конфликтов -- я питаюсь дошираком, а они дефлопе.
А вот программисты в основном индокитайские, и разница таки бросается.
J>Ну,это если отбросить вариант, предполагающий Ваше чрезмерное ЧСВ как основную причину описанной проблемы.)
Моё ЧСВ примерно такого рода:
Но вдруг я стал замечать, что эти четверо как-то отстраняют меня от себя, как-то шепчутся, на меня глядя, смотрят за мной, если я куда пойду. Странно мне было это и даже чуть тревожно. И на их физиономиях я читал ту же озабоченность и будто даже страх… «в чем дело? — терзался я, — отчего это так?»
И вот — наступил вечер, когда я понял, в чем дело и отчего это так. Я, помнится, в этот день даже и не вставал с постели: я выпил пива и затосковал. Просто: лежал и тосковал.
И вижу: все четверо потихоньку меня обсаживают — двое сели на стулья у изголовья, а двое — в ногах. И смотрят мне в глаза, смотрят с упреком, смотрят с ожесточением людей, не могущих постигнуть какую-то заключенную во мне тайну… Не иначе, как что-то случилось…
— Послушай-ка, — сказали они, — ты это брось.
— Что «брось»?.. — я изумился и чуть привстал.
— Брось считать, что ты выше других… Что мы мелкая сошка, а ты Каин и Манфред…
— Да с чего вы взяли!..
— А вот с того и взяли. Ты пиво сегодня пил?
Чухлинка — Кусково
— Пил.
— Много пил?
— Много.
— Ну, так вставай и иди.
— Да куда «иди»?
— Будто не знаешь! Получается так — мы мелкие козявки и подлецы, а ты Каин и Манфред…
— Позвольте, — говорю, — я этого не утверждал…
— Нет, утверждал. Как ты поселился к нам — ты каждый день это утверждаешь. Не словом, но делом. Даже не делом, а отсутствием этого дела. Ты негативно это утверждаешь…
— Да какого «дела»? Каким «отсутствием»? — я уж от изумления совсем глаза распахнул…
— Да известно, какого дела. До ветру ты не ходишь — вот что. Мы сразу почувствовали: что-то неладно. С тех пор, как ты поселился, мы никто ни разу не видели, чтобы ты в туалет пошел. Ну ладно — по большой нужде, еще ладно! Но ведь ни разу даже по малой… Даже по малой!
И все это было сказано без улыбки, тоном до смерти оскорбленным.
— Нет, ребята, вы меня неправильно поняли…
— Нет, мы тебя правильно поняли…
— Да нет же, не поняли. Не могу же я, как вы: встать с постели, сказать во всеуслышание: «ну, ребята, я…ать пошел!» или «ну, ребята, я…ать пошел!» не могу же я так…
— Да почему же ты не можешь! Мы — можем, а ты — не можешь! Выходит, ты лучше нас! Мы грязные животные, а ты, как лилея!..
— Да нет же… Как бы это вам объяснить…
— Нам нечего объяснять… Нам все ясно.
— Да вы послушайте… Поймите же… В этом мире есть вещи…
— Мы не хуже тебя знаем, какие есть вещи, а каких вещей нет…
И я никак не мог их ни в чем убедить. Они своими угрюмыми взглядами пронзали мне душу… Я начал сдаваться.
— Ну, конечно, я тоже могу… Я тоже мог бы…
— Вот-вот. Значит, ты — можешь, как мы. А мы, как ты, — не можем. Ты, конечно, все можешь, а мы ничего не можем. Ты Манфред, ты Каин, а мы, как плевки у тебя под ногами…
— Да нет, нет, — тут уж я совсем запутался. — в этом мире есть вещи… Есть такие сферы… Нельзя же так просто: встать и пойти. Потому что самоограничение, что ли?.. Есть такая заповедность стыда, со времен Ивана Тургенева… И потом — клятва на Воробьевых горах… И после этого встать и сказать: «ну, ребята…» как-то оскорбительно… Ведь если у кого щепетильное сердце…
Они, все четверо, глядели на меня уничтожающе. Я пожал плечами и безнадежно затих.
— Ты это брось про Ивана Тургенева. Говори, да не заговаривайся. Сами читали. А ты лучше вот что скажи: ты пиво сегодня пил?
— Пил.
— Сколько кружек?
— Две больших и одну маленькую.
— Ну так вставай и иди. Чтобы мы все видели, что ты пошел. Не унижай нас и не мучь. Вставай и иди.
Ну что ж, я встал и пошел. Не для того, чтобы облегчить себя. Для того, чтобы их облегчить. А когда вернулся, один из них мне сказал: «с такими позорными взглядами ты вечно будешь одиноким и несчастным».
Здравствуйте, sr_dev, Вы писали:
_>Парочку. Попытаюсь их назвать тем языком на котором вы обычно тут говорите
_>1) "уродец" — параметризуем то что имеем
_>2) "галерея уродцев" — унаследуемся и соверрайдим
Здравствуйте, L_G, Вы писали:
L_G>Возможно, мне просто везло, но с такими проблемами не приходилось сталкиваться. Видимо, потому, что в основном все коллеги-программисты были постоянно заняты решением своих задач. Разбирать код чужих решений на предмет соответствия каким-то требованиям всем было либо некогда, либо лень. Работает — и замечательно.
Тем не менее, постоянно приходится смотреть на чужие куски кода. Я понимаю любой стиль, многие только свой. Поэтому неспособность, нежелание разбираться и скудость опыта, помноженные на бинарное восприятие мира, оформляются в виде приговора "так неправильно!!!111"
L_G>(Ревизия кода только что нанятого программиста перед коммитом в части контор практиковалась, но это заканчивалось уже через несколько дней, то есть мне начинали полностью доверять.)
L_G>Подобный подход наверняка не самый лучший и в смысле качества получаемых решений, и в смысле развития менее опытных программистов. Но я к нему уже привык и, как мне показалось, контор, где он практикуется, больше чем таких, где постоянный "разбор полетов" есть хоть в каком-то виде.
Проблема в разборе полётов в уровне квалификации судьи.
L_G>Возможно, есть зависимость от размера конторы и/или размера команды программистов: чем меньше народу, тем больше личной свободы. И подозреваю, что корреляция степени этого вида свободы с размером компенсации, увы, отрицательная.
Не уверен, я постоянно тружусь в конторах, где отсутствие "большой чести" приходится компенсировать наличными.
L_G>Вывод делать не берусь. Но мне кажется, что вполне реально найти место, где "проблема людей, уровня их квалификации, цивилизованности и амбиций" может, так же присутствуя, лично тебя практически не затрагивать. Или можно просто занять такую позицию.
Реально, но трудно. И потом, есть желание превратить существующее болото в сад. Получается весьма успешно, вот только сначала меня выгоняют, а потом на голубом глазу используют мои наработки и подходы.
Здравствуйте, bnk, Вы писали:
bnk>Но думается, ты сильно преувеличиваешь проблему. Я сейчас работаю в команде из 20 индусов. Просто невозможно работать, если не смириться с определенными вещами. Да, палм-фейс происходит довольно часто, и кажется, что продукт был бы лучше, если из всей команды осталось бы несколько человек, и написан бы был в разы быстрее.
Сочувствую. Я-то мирюсь, они -- нет.
bnk>Не любишь грязные тарелки, я понял. bnk>Для не-говнокода требуется определенный уровень квалификации, и определенный уровень нетерпимости к нему у менеджмента. Где же взять таких людей?
Так руководство не пересекается с кодом. Начальству важны результаты и сроки, и в этом смысле у нас всё, как у людей.
bnk>Даже касательно себя самого, думаешь через 10 лет будешь так же хорош, будешь шагать в ногу с тем, что индустрия разработает к тому времени? Потому, не судите, да не судимы будете, как говорится. Надо делать код ревью, причем именно позитивные, рекомендательные, надо учиться объяснять, почему определенным образом сделать лучше, быстрее, и качественнее, принимать, если твоё решение тупо не поняли.
Объяснить можно человеку с иммутабельным мозгом.
bnk>Делиться надо, как говорится.
Да на здоровье.
bnk>Проблема возможно в том, что ты хочешь, чтобы вся слава доставалась тебе.
Я ж программист, а не учёный, у нас славы нет.
bnk>Если тебя на самом деле волнуют "грязные тарелки", просто мой их — отдавай свои решения коллегам, разделяя славу от их применения с коллективом.
Здравствуйте, s_aa, Вы писали:
_>Ну если нормальный характер и умение находить общий язык с коллегами считается "лизанием жопы", то да. Настоящий мужык с ходу обзывает всех дебилами не стоящими его мизинца.
Существует ещё масса способов сосуществования, без первого и без второго.
Здравствуйте, mgu, Вы писали:
bnk>>Если тебя на самом деле волнуют "грязные тарелки", просто мой их — отдавай свои решения коллегам, разделяя славу от их применения с коллективом.
mgu>Я-то хочу отдать, они не принимают.
У меня в этом плане противоположный опыт. Ты уверен что пробовал отдавать свои решения, не оставляя "копирайт" за собой? Ты же говоришь после твоего ухода они их вполне способны использовать, и делают это?
В смысле, продвигать свои решения можно так, как будто это они их сами придумали. Лучший способ вложить что-то в чужую голову — сделать так, чтобы он думал, что эта мысль ему самому пришла.
Например, сделать 90 процентов решения, но оставить "трудное место" которое тебе "никак не удается решить", и позволить им придумать решение этого кусочка. Да много есть трюков.
Здравствуйте, bnk, Вы писали:
bnk>В смысле, продвигать свои решения можно так, как будто это они их сами придумали. Лучший способ вложить что-то в чужую голову — сделать так, чтобы он думал, что эта мысль ему самому пришла.
bnk>Например, сделать 90 процентов решения, но оставить "трудное место" которое тебе "никак не удается решить", и позволить им придумать решение этого кусочка. Да много есть трюков.
я уже второй раз офигеваю в этом треде. то что ты написал и называется лизать жопу (одновременно расставляя булки). В нормальном коллективе такие трюки не нужны.
bnk>Но для этого разумеется с людьми надо общаться.
почему для некоторых в этом треде "общаться" значит сворачивать язык в трубочку и пропихивать в анус коллеги? Если для общения с людьми нужны "трюки" по угождению, то не надо общаться с такими людьми.
Здравствуйте, antropolog, Вы писали:
bnk>>Например, сделать 90 процентов решения, но оставить "трудное место" которое тебе "никак не удается решить", и позволить им придумать решение этого кусочка.
A>я уже второй раз офигеваю в этом треде. то что ты написал и называется лизать жопу (одновременно расставляя булки). В нормальном коллективе такие трюки не нужны.
Речь же не совсем о "нормальном коллективе".
Это можно назвать "безвозмездно делиться наработками" — то есть, вообще без какой-либо моральной выгоды для себя.
Тут вопрос скорее приоритетов — что для тебя важнее — борьба с говнокодом, или собственное эго.
Лизание жопы — действие явное для субъекта. А здесь речь идёт о том, что субъекты действия не в курсе что на самом деле делают то, что ты задумал, полагая что реализуют свои собственные идеи. Такое вот некрасивое использование людей, добро с кулаками..
bnk>>Но для этого разумеется с людьми надо общаться.
A>почему для некоторых в этом треде "общаться" значит сворачивать язык в трубочку и пропихивать в анус коллеги? Если для общения с людьми нужны "трюки" по угождению, то не надо общаться с такими людьми.
Опущу пассаж с твоими влажными фантазиями
А так — менталитет.
В ситуации, описанной mgu, я не советую надевать белое пальто — afaik, это тупо не работает, особенно, если речь идет об азиатах.
Здравствуйте, bnk, Вы писали:
mgu>>Я-то хочу отдать, они не принимают.
bnk>У меня в этом плане противоположный опыт. Ты уверен что пробовал отдавать свои решения, не оставляя "копирайт" за собой?
А как? Система контроля версий следит за нами.
bnk>Ты же говоришь после твоего ухода они их вполне способны использовать, и делают это?
Да, но именно после ухода. Тогда вместо "я лучше них" получается "они лучше себя", что уже почётно.
bnk>В смысле, продвигать свои решения можно так, как будто это они их сами придумали. Лучший способ вложить что-то в чужую голову — сделать так, чтобы он думал, что эта мысль ему самому пришла.
Да они сами с усами: бывает, расставят скобочки по-другому, и вот уже это их решение.
bnk>Например, сделать 90 процентов решения, но оставить "трудное место" которое тебе "никак не удается решить", и позволить им придумать решение этого кусочка. Да много есть трюков.
Так не придумают же. Проиллюстрирую: задачу определения цикличности списка решали лучшие лысины мира 10 (десять) лет! А теперь на интервью можно предложить терпиле найти решение за 10 минут, и вроде бы подразумевается, что сам инквизитор смог сделать подобное.
bnk>Но для этого разумеется с людьми надо общаться.
Да не проблема, но только если у них голова без Cи-шарповского readonly.
Здравствуйте, antropolog, Вы писали:
A>я уже второй раз офигеваю в этом треде. то что ты написал и называется лизать жопу (одновременно расставляя булки).
А вот подумалось: а что, если в программировании обнаружится свой Голливуд и свои вайнштейны? Вот ведь будет весело, когда компьютерные звёзды повылезают из клозетов.
Здравствуйте, Sealcon190, Вы писали:
S>Судя по всему топикстартер из тех, кто ищет причины своих неудач исключительно в окружающем мире. Для таких нытьё это образ жизни.
K>>при смене работы обращать внимание на то, чтобы тесты на собеседовании были сложными A>корреляции ноль.
Нулевая корреляция не означает отсутствие зависимости.
bnk>Гораздо проще изменить себя (поступиться своими принципами), чем мир вокруг.
Это кому как. ТС будет невыносимо страдать в окружении не таких талантливых как он. Собственно он об этом и пишет.
M>Самый простой вариант — открыть свою компанию и написать продукт, который будет приносить доход. Мой опыт показывает, что тогда пожар в попе по поводу "говнокодеров" и "говнокода" сразу утихает.
Смотря какой продукт. Может и разгореться с новой силой.
mgu>Дано: есть дружный коллектив говнокодеров. mgu>.... mgu>Бинарное мышление: либо хорошо, либо плохо. Градации и варианты отсутствуют. Существует только 2 точки зрения -- собственная и неправильная. mgu>.... mgu>везде костяк команды составляют... э-э-э имбециозные разработчики с горящими очками, разбавленные стойловым планктоном.
Противоречие. Обвиняете людей в бинарном мышлении и сами в том же посте в него скатываетесь.
Где варианты и градации? Почему так категорично заявляется, что везде говнокодеры?
Здравствуйте, RussianFellow, Вы писали:
RF>Не могли бы Вы объяснить, кто такие "говнокодеры"? RF>Те, кто кто пишут правильно работающие программы, пусть и корявым кодом? Или это кто-то другие?
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, mgu, Вы писали:
mgu>>Пытаюсь найти алгоритм выхода из стандартной ситуации.
mgu>>Дано: есть дружный коллектив говнокодеров. Ой, нетолерантненько как-то. Назовём их калифицированными специалистами. mgu>>Так вот, говнокодеры крайне болезненно просыпаются на собственных лаврах. Нет, не когда их как-то там обзывают, а когда, например, они видят, что код может занимать на порядок меньше места и быть производительнее на пару порядков. G>И в чем проблема? Пишешь код, который занимает на порядок меньше места и быстрее работает и никаких вопросов не возникает. G>Или у тебя способ самоутверждения такой — доказать что другие делают говно, независимо от того что сам делаешь?
Думаете все кончилось? А нет, тут пришло в личку от "Анонима", копирую сюда дословно:
Очевидно, что вы — низкоквалифицированный программист, так как у вас крайне наивные представления о написании кода в проектах. В подавляющем числе случаев, когда речь не идет о мелких правках, то нельзя написать качественный код, который не затрагивает плохой код, написанный другими. Так как качественный код, чтобы быть действительно качественным, должен работать также в окружении качественного кода. Поэтому вам придется вносит изменения в уже существующий код, хотите ли вы того, или нет.
И вам также придется высказывать свои претензии к плохому коду других при код-ревью. А это не самоутверждение, как вы огульно навешиваете ярлыки. А это рабочий процесс, и в результате этого рабочего процесса вы будете вступать в конфликт с теми, кто пишет плохой код, так как такие программисты, которые пишут плохой код, никогда не признают, что они пишут плохой код. Поэтому вам придется тыкать их, как говорится, мордой в их непотребный код и отстаивать свою точку зрения, высвечивая ошибки плохих программистов. А это им будет, ой, как не нравится, и они постараются от вас избавиться. И это им будет сделать проще, так как раз они уже до вас работали в конторе, значит их начальство само имеет такую квалификацию. Иначе бы их давно бы уволили.
От высококвалифицированных программистов, если у них нет протеже, стараются освобождаться, так как те только одним своим присутствием ставят под сомнение занимаемые должности и получаемые зарплаты своих коллег и непосредственных начальников.
Именно поэтому стараются в первую очередь набирать работников по знакомству по принципу "ты — мне, я — тебе", так как ворон ворону глаз не выклюет. А с улицы набирают лишь тогда, когда среди знакомых нет мало-мальски квалифицированных программистов, способных осуществлять требуемую деятельность.
Здравствуйте, gandjustas, Вы писали:
G>Как вам срыв покровов?
Там есть здравое зерно, но концовка с головой выдает неудачника жаждущего признания. G>
G>Именно поэтому стараются в первую очередь набирать работников по знакомству по принципу "ты — мне, я — тебе", так как ворон ворону глаз не выклюет. А с улицы набирают лишь тогда, когда среди знакомых нет мало-мальски квалифицированных программистов, способных осуществлять требуемую деятельность.
27.11.2017 18:55, gandjustas пишет:
> Как вам срыв покровов?
Если отбросить абсолютно неуместные личные наезды и утверждения о том,
что "от высококвалифицированных программистов, если у них нет протеже,
стараются освобождаться" и следующие из этого мега-выводы, то в
остальном он скорее прав. Завести сияющий град на холме в окружении
(продолжающих расширяться) болот — крайне нетривиальная задача.
Непонятно только зачем он вам это в личку пишет. Впрочем мне, помнится,
тоже что-то писал.
Здравствуйте, mgu, Вы писали:
A>>я уже второй раз офигеваю в этом треде. то что ты написал и называется лизать жопу (одновременно расставляя булки). mgu>А вот подумалось: а что, если в программировании обнаружится свой Голливуд и свои вайнштейны? Вот ведь будет весело, когда компьютерные звёзды повылезают из клозетов.
Я знаю пару случаев, когда программисты пристраивали на работу своих любовников, но это не тот уровень. Вайнштейн же продюсер, и вы можете ли представить соучредителя айти-конторы, который притащит любовника и даст ему должность например ПМ — зачем? чтобы потом по рабочим моментам с ним ругаться?
Среда не та, это же не голливудское кино с их чудо-бухгалтерией.
G>Очевидно, что вы — низкоквалифицированный программист, так как у вас крайне наивные представления о написании кода в проектах. В подавляющем числе случаев, когда речь не идет о мелких правках, то нельзя написать качественный код, который не затрагивает плохой код, написанный другими. Так как качественный код, чтобы быть действительно качественным, должен работать также в окружении качественного кода. Поэтому вам придется вносит изменения в уже существующий код, хотите ли вы того, или нет.
Какой мелкий проект, однако. В зрелом и большом есть куча полян, заброшеных уволившимися сотрудниками — куражься как хочешь, лишь бы работало. Остальные будут только рады, если они ничего об этих полянах знать не будут.
G>От высококвалифицированных программистов, если у них нет протеже, стараются освобождаться, так как те только одним своим присутствием ставят под сомнение занимаемые должности и получаемые зарплаты своих коллег и непосредственных начальников.
На низовом уровне — возможно. А повыше сидят амбициозные, которые с радостью спихнут на высококвалифицированного работу, а потом пожнут лавры как руководители проекта. Впрочем, опять же, проект должен быть не мелким, иначе никаких 'повыше' не будет за ненадобностью
Здравствуйте, RussianFellow, Вы писали:
RF>Не могли бы Вы объяснить, кто такие "говнокодеры"? RF>Те, кто кто пишут правильно работающие программы, пусть и корявым кодом? Или это кто-то другие?
В стартовом сообщении дано подробное описание. Если недостаточно, то сюда.
Здравствуйте, TimurSPB, Вы писали:
mgu>>Дано: есть дружный коллектив говнокодеров. mgu>>.... mgu>>Бинарное мышление: либо хорошо, либо плохо. Градации и варианты отсутствуют. Существует только 2 точки зрения -- собственная и неправильная. mgu>>.... mgu>>везде костяк команды составляют... э-э-э имбециозные разработчики с горящими очками, разбавленные стойловым планктоном.
TSP>Противоречие. Обвиняете людей в бинарном мышлении и сами в том же посте в него скатываетесь.
"Костяк" добавляет градации.
TSP>Где варианты и градации? Почему так категорично заявляется, что везде говнокодеры?
Здравствуйте, Слава, Вы писали:
С>Я знаю пару случаев, когда программисты пристраивали на работу своих любовников, но это не тот уровень. Вайнштейн же продюсер, и вы можете ли представить соучредителя айти-конторы, который притащит любовника и даст ему должность например ПМ — зачем? чтобы потом по рабочим моментам с ним ругаться?
Во многих конторах существуют линейные менеджеры -- те, которые передают сигнал по линии без искажений.
Здравствуйте, koenig, Вы писали:
mgu>>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
K>при смене работы обращать внимание на то, чтобы тесты на собеседовании были сложными
Наберут студентов без опыта, которые привыкли решать задачки. И это ещё, если интервьюер адекватный.
Здравствуйте, mgu,
mgu>Во многих конторах существуют линейные менеджеры -- те, которые передают сигнал по линии без искажений.
Без искажений передает только идеальный линейный менеджер. А таких не бывает, как и идеальных электрорадиоэлементов.
"Схема работает не в принципе, а в металле." (с) Это знает любой электронщик.
Здравствуйте, gandjustas, Вы писали:
G>Думаете все кончилось? А нет, тут пришло в личку от "Анонима", копирую сюда дословно:
Ну и зачем ты сюда этот высер притащил?
Если этому анониму с пригоревшим задом так хочется высказаться так пусть зарегается и сам пишет.
Здравствуйте, sharpman, Вы писали:
F>>эх, нам бы такого, кто бы поделился знаниями. на руках бы носили. F>>жаль, работу не меняет. S>Он хочет быть не просто удовольствием, а дорогим удовольствием
Здравствуйте, mgu, Вы писали:
mgu>Ладно, скоро рассвет, выхода нет, есть ли мысли по поводу прочитанного?
Мысль простая: хватит ныть, это бесполезно.
Если хочешь делать хорошо — делай для себя. То бишь, открывай свой стартап или присоединяйся к чужому, который тебе нравится. А сражаться с говнокодерами или пытаться их обучить — дело сложное и крайне неблагодарное.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, gandjustas, Вы писали:
G>>Здравствуйте, mgu, Вы писали: G>Как вам срыв покровов?
Интересно, что стиль у этих посылов всегда одинаковый. Если бы человек развлекался, то где-то бы да прокалывался. Также непонятно зачем писать в личку, если сейчас каждая узумака может писать на форум.