metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-06-10 12:33 am

Морально-деградационное

Посрались в cкайпе с [livejournal.com profile] zamotivator на тему CMake, Continuous Integration, тайм-менеджмента и прочего. Был обозван работником НИИ ГиТ, СССР-овским подходом и прочими словами. Ребе забиватор занял позицию на амвоне и толкал речи капитана очевидность с апломбом протестантского проповедника :)
Объяснения, что псение на людей нужно оформлять в более аккуратные формы, т.к. оно не способствует взаимному пониманию, услышаны не были. Теперь понятно, почему его [livejournal.com profile] thesz забанил - неумение/нежелание уважать окружающих не способствует душевному и физическому здоровью.

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

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

PS: Вообще говоря, таки работа 15 лет в неадекватных условиях действительно ломает мозг. Я конкретно ориентируюсь в работе и процессах на минимальный порог вхождения - потому что работать приходится с людьми, которые до сих пор пишут на 3 дельфи (а то и фокспро с кларионом) и ни о каких контролях версий и вообще процессах и слыхом не слыхивали. А уж скажи им "подключитесь к нашему серверу" - так работа на месяц встанет, пока они осиливать будут.
Т.е. конкретно есть варианты: 1) работаем с тем, что есть, понемногу поднимая уровень 2) посылаем всех, кто не дотягивает до нас, таких умных, нахер.
Второй вариант, по моему мнению, означает закрытие конторы/смену работы, т.к. заказчиков, которые реально готовы вести проекты по современным методикам (а не имитировать их в виде карго-культа) в РБ практически нет.

PPS: Собственно, сформулировал, чем меня этот срач так задел: я стремлюсь сделать продукт качественно. Чисто из перфекционизма, вызванного тем, что я ничего другого толком все равно не умею делать.

И, смотря на десятки готовых продуктов, как снаружи(как пользователь) так и изнутри(как разработчик) вижу, что моя работа на достаточно приличном уровне, хотя ниже, чем хотелось бы иметь. Наличие правильных инструментов в виде трекеров и контроля версий этому сильно помогает. До CI у меня до сих пор не дошли руки.
Сделать еще лучше, чем сейчас - мешает следующее: есть куча более важной и срочной работы, есть множество не до конца осиленных чисто технических (а не организационно-процессных) инструментов, куча интересных вещей типа SDR/DSP/embedded линуксов и прочего. Кроме того, дополнительные улучшения процессов не принесут лично мне дополнительной прибыли, а только гемор по внедрению, обучению коллег и прочая.

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

Но тут приходит молодой забиватор и начинает рассказывать, как обстоят дела с планками качества на проектах совершенно иного уровня, опенсорсных-международных типа Percona Server, про какой-то консалтинг, про каких-то менеджеров, которым он рассказывает сколько они бабок теряют из-за отсутствия CI и прочая. Меня это, очевидно, бесит, потому что мой уровень - это копаться в белорусском налоговом учете.

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

[identity profile] vp.livejournal.com 2012-06-10 12:44 pm (UTC)(link)
Ты уверен, что действительно это должен у меня спрашивать? :)

[identity profile] henu3detb.livejournal.com 2012-06-10 01:10 pm (UTC)(link)
Ну да.

[identity profile] jdevelop.livejournal.com 2012-06-10 01:25 pm (UTC)(link)
и что конкретно не получается?

[identity profile] metaclass.livejournal.com 2012-06-10 01:30 pm (UTC)(link)
Неясен уровень, до которого нужно детализировать документацию.
Если как написано в стандартах по SRS/SDD - так там явно одним днем не обойдешься.

[identity profile] jdevelop.livejournal.com 2012-06-10 01:34 pm (UTC)(link)
1) компоненты системы, такой себе глобальный овервью. Плюс в том, что человек всегда лучше работает, если знает зачем надо та или иная конструкция

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

3) "ядро" модуля в интерфейсах, чтобы было с чего начать.

и это
а) можно написать за один день для проекта, расчитанного на два-три дня. Можно еще и закодировать какие-то куски в процессе

б) можно отдать джуниору и он сделает, что от него требуется.

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

и не надо тут ISO9000 и прочих артефактов, здравый смысл и нагайка.

[personal profile] alll 2012-06-10 01:54 pm (UTC)(link)
Ну мне довелось. АдЪ и Израиль. Вплоть до того, что железо под CI сервер нидадуд патамушта видите ли в головном офисе кончилось место под столами сотрудников и у них уже ноги не помещаются, да и предохранители уже выбивает от перегруза, но в течение ближайшей пары лет мы непременно эту проблему решим, а пока вы как-нибудь придумайте, чтоб стоя в гамаке на лыжах.

А если где лепота, то вся она - если пойти по цепочке, - упирается в жёстко мотивированного сотрудника, после ухода которого тут же обращается в тыкву.
Edited 2012-06-10 13:55 (UTC)

[identity profile] thesz.livejournal.com 2012-06-10 01:59 pm (UTC)(link)
Нет. А что? Это повод для отчаяния или гордости?

[identity profile] thesz.livejournal.com 2012-06-10 02:01 pm (UTC)(link)
Спасибо, что напомнили.

Надо туда съездить, купить торты и отметить с друзьями мой КМС по пауэрлифтингу. Да и мастерский норматив по нему же заодно.

[identity profile] jdevelop.livejournal.com 2012-06-10 02:02 pm (UTC)(link)
меня интересует цифра в 1000% и её происхождение

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

[identity profile] jdevelop.livejournal.com 2012-06-10 02:03 pm (UTC)(link)
и у вас там тоже оверхед был по 1000% по сравнению с одним девелопером?

[identity profile] 9zloy.livejournal.com 2012-06-10 02:09 pm (UTC)(link)
Такой документации НЕ существует. Джуниору ничего нельзя отдавать. Вообще ничего. Он же даже переменные назвать не сможет в 50% случаев. Ему можно отдать только код, чтобы он его закомитил. И то лучше проверить, не использовал ли он сука -f

[identity profile] metaclass.livejournal.com 2012-06-10 02:26 pm (UTC)(link)
Вот. А мне тут сказки про документацию и про процессы рассказывают.

[identity profile] 9zloy.livejournal.com 2012-06-10 02:31 pm (UTC)(link)
Так а че, это ж ясно. С джуниорами никакой процесс не поможет. Джуниоров надо учить, а не требовать выполнять 67 правил. Нам, к примеру, некогда учить джуниоров. Поэтому мы их не берем. Совсем не берем. А процессы команда крутых девелоперов и сама может поставить какие надо. Главное им не очень мешать.

[personal profile] alll 2012-06-10 02:46 pm (UTC)(link)
Ну хер его знает, сколько там точно было, но помню я неделю возился-разбирался в тамошней системе, чтобы одну херовину автоматизировать. Потом оказалось что всё зашибись, автоматизируется, но одна группа данных для этой херовины отстутствует в базе данных и их нужно конвертировать практически вручную, собирая по говнотаблицам экселя с каждой рабочей станции, на что ресурсов не выделят, потому что всё же и так работает. Человек, от которого исходила задача, ограничился многозначительным замечанием "what a shame" и забил. И так на каждом ходу. Поделить неделю на 0 и перевести результат в проценты предоставляю в качестве самостоятельного упражнения.

[identity profile] nicka-startcev.livejournal.com 2012-06-10 02:52 pm (UTC)(link)
... а при этом менять работу страшно: вдруг не справлюсь, вдруг пошлют, вдруг не понравится? ну, плюс, явно есть какие-то бонусы, извлекаемые из текущего положения, то же ЧСВ, например, от незаменимости. А идти с верхней позиции в нижнюю - ЧСВ не хочет.

Не факт что версия правильная, но обмозговать ее стоит.

[identity profile] jdevelop.livejournal.com 2012-06-10 02:55 pm (UTC)(link)
сказки, ок

больше не буду, извенити

[identity profile] jdevelop.livejournal.com 2012-06-10 02:56 pm (UTC)(link)
спасибо, ваш опыт очень репрезентативен и ценен

[identity profile] jdevelop.livejournal.com 2012-06-10 02:57 pm (UTC)(link)
/me ржал в голос, записал себе показать ссылку мужикам, а то они и не знают

[personal profile] alll 2012-06-10 03:05 pm (UTC)(link)
Пожалуйста. Хотя меня терзают смутные сомнения на предмет ценности чего-либо, противоречящего вашей картине мира.

[identity profile] jdevelop.livejournal.com 2012-06-10 03:08 pm (UTC)(link)
с терзаниями наверное к квалифицированному специалисту надо

[personal profile] alll 2012-06-10 03:22 pm (UTC)(link)
Так вы разве не? Чорт!

[identity profile] theiced.livejournal.com 2012-06-10 03:26 pm (UTC)(link)
ты не путай помойки вида сраного епама или где ты там энтерпрайзную жабу ша высираешь и нормальную работу.

[identity profile] norian.livejournal.com 2012-06-10 03:29 pm (UTC)(link)
искать гуглом трёхбуквенную аббревиатуру без представлений из какой она оперы .. мдэ ..

[identity profile] thesz.livejournal.com 2012-06-10 03:35 pm (UTC)(link)
Согласен, что 1000% завышена.

В армии боевой дух считается множителем на три. То есть, немотивированная команда будет упускать прибыли 200%.

[identity profile] jdevelop.livejournal.com 2012-06-10 03:37 pm (UTC)(link)
Потом разберу на запчасти

Page 5 of 7