vit_r: default (vit_r)
В беседе с проповедниками моделирования мне было заявлено, что модели клиентам показывать не надо. Нагенерим софта - пусть тыкают в кнопочки и восхищаются.

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

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

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

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

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

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

The problem of modern tools is the broken top-down level separation.
Read more... )
vit_r: default (vit_r)
Мы слышали, что негры в Африке недоедают...



Продавцы душ часто шакалят проекты. Обычно это идёт как «У нас замечательный, прекрасный, чудесный проект, только нам нужны отзывы о вашей работе. Дайте телефоны двух-трёх начальников...»

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

И это при том, что социалистическая министерша тащит сейчас через утверждение закон, который фрилянсеров в Германии как класс уничтожит. Останутся только цеховые, которым льготы положены со средних веков.
vit_r: default (vit_r)
Стал жертвой болезни менеджеров (по Паркинсону).

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

В час ночи скрутило. Совершенно гриппозное состояние, общая слабость, всё несовершенство мира, навалившееся на плечи...

Пережил ночь. К середине дня выполз из кровати. Сейчас не то, чтобы здоров, но прямоходящь.

Завтра в девять нужно ехать тут в Потсдаме на миниконференцию. Подозреваю, к тому моменту от болезни не останется и следа.

Уже и не помню, когда получалось хорошенько поболеть в своё удовольствие.
vit_r: default (vit_r)
Как сказал один из великих, «Любая плохо документированная технология неотличима от магии.»

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

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

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

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

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

Кстати, как подтвердил недавний эксперимент, только малая часть читателей, показанных местной статистикой, дочитывает до конца длинные посты.
vit_r: default (vit_r)
При правильной организации труда любая работа превращается в подвиг.



Это было вместо эпиграфа.

Сегодня узнал, что коллега, который остаётся в проекте и которому одному из двух дали доступ к SVN, с первого августа в отпуске по уходу за ребёнком. Как и положено отцу, на два месяца.

Да, да, да. Первый проект, где версионный контроль выполняю способом «Вася, друг, нажми, пожалуйста, на кнопочку! И не перепутай, чёрт побери, на какую нажимаешь, как было в прошлый раз.»

Но это не самое весёлое.

Самое весёлое - это когда у тебя выдёргивают задание.

Приходит issue assigned... начинаешь делать, выходишь опять в эту дебильную Jira...

А там - опа! - пробежал менеджер и это задание другому перекинул.

Хорошо, если оно на самом деле лежит - ждёт. А то, пишу «Заданной производительности достигнуть не удалось.», а при попытке добавить «потому что» получаю отлуп и вижу менеджерское указание «Петя! Заданная производительность не достигнута! Быстро разберись, где ошибка!»

Забираю это обратно и дописываю «Потому что в моду debug кто-то всобачил запросы для сбора информции. Не понятно, какой, не понятно, зачем, но по четыре секунды каждый. В результате треть времени съедено на это странное занятие. А это, как-бы, не вполне разумно, если мы измеряем производительность. Ау, менеджеры! Нужно ваше решение!»

Петя, кстати, тоже молодец.

Пишу в одном скрипте: «Возможности легальной оптимизации мной исчерпаны. (Но если бы развязали руки, сделал бы то-то и то-то.) Направляю специалистам.»

Ага. Специалисты проскрипели мозгами, пошевелили руками, прогнали свои тесты (естественно, игнорируя debug и прочие неинтересные для теоретиков мелочи), обрадовались и написали рекомендации. Благо, меня в тот день не было, воплощал коллега.

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

Застрял сегодня на вокзале. На улице +30, в офисе, явно, не лучше, а там кондиционированный зал ожидания. Лучше уж на коленях на макбуке чего-то делать, чем страдать от жары. К тому же под виндами на писишке.

Пришёл на два часа перед закрытием. Теоретически можно было бы вообще не приходить, но Проблемы С Доступом...
vit_r: default (vit_r)
Сегодня коллега из Индии уезжал домой. В смысле, ехал готовиться поступать доучиваться в Штаты. В прощальном письме стоит «И желаю огромного успеха этому проекту.»

Всё бы хорошо, но похоже, что последний последний последний срок сдачи тоже может сорваться. (Agile в действии.) Вот и думай, принят ли в Индии такой наглый сарказм, или это от чистого сердца.
vit_r: default (vit_r)
Написал мейл, начинающийся с загадочной фразы на плохом английском: "we are engineers and we can speak with numbers." В мейле про то, что наши героические, широко разрекламированные и горячо поддержанные всеми слоями менеджмента усилия по ускорению программы приносят на круг порядка минуты в процессах добычи данных, при этом на саму оптимизацию этой добычи софт тратит минимум в двадцать раз больше времени.

По сути, второй подарок такого маштаба после скрипта, убивающего 365/7/24 кластер.

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

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

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

Говорят, смех - признак отчаяния, но тут, скорее, всё построено по классической схеме: ожидание привычного, нетривиальный поворот и кульминация. Плюс, конечно, люди поинтереснее чем в унылых концернах и сбреднивших стартапах.
vit_r: default (vit_r)
Сделаешь чего-нибудь хорошее - никто не заметит. Но, вот, стоит что-нибудь сломать...

- Какой vit_r? А... тот, что кластер на полдня положил...

Никто не вспомнит позитивных достижений. А тут, с кучей людей познакомился, со многими побеседовал, на уйму вопросов ответил, включая «Правда-правда? На самом деле? Честно-честно?»

Вот и сейчас. Всего-то 0 вместо null Крутая База Данных одной Большой Фирмы иногда выдаёт. Не случайным образом, но, всё равно, в корне неправильным.

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

Растёт, множится моя слава.

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

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

И кто-то ещё будет утверждать, что ИТ относится к точным наукам...

При этом нельзя сказать, что я становлюсь экспертом по базам данных. Конечно, я их знаю лучше, чем до начала проекта, но в основном с извращённой стороны.
vit_r: default (vit_r)
В таблице 7 строк со значением 666 в первом столбце то появляются, то исчезают. Разумных объяснений этому поведению найти не удалось. Документации, естественно, нет.

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

Если кто помнит про драконов, сеть мелких ошибок превращает инженерную дисциплину в магию. Наблюдать это можно повсеместно, но вот такие явные заклинания встретились впервые.
vit_r: default (vit_r)
Испортил настроение - поделись с товарищем.

Поездки на восток от Фридрихштрассе плохо влияют на веру в человечество.

Съездил.

Посетил ImmobilienScout24.

Ужас.
Read more... )
vit_r: default (vit_r)
Ещё один текст на немецком. Так как вещи банальные и уже было, то без перевода. Немецкий не блестящий, просто как заготовка.

Standardisierung und andere Irrtümer im Outsourcing


Read more... )
vit_r: default (vit_r)
Ещё о Scheinselbständigkeit (кажущаяся самостоятельность).

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

Сегодня, кстати, получил ответ от одного посредника. «Вы слишком много просите, так что Вас мы клиенту не покажем.» Не удивительно, почему в больших фирмах на важных направлениях работают странные люди за смешные деньги.
vit_r: default (vit_r)
«Это просто праздник какой-то!»
К. Барабас



Есть такой замечательный тул DOORS фирмы Telelogic купленной фирмой Rational, которую в свою очередь купила IBM. Тул этот захватил почти весь рынок автоматизации сбора и контроля требований. Разработан он был в девяностых годах прошлого века и до сих пор поддерживает странную идеологию хранения данных. Знаменит тем, что программировать на нём можно только на языке DXL, ужаснее которого я не видел в этом веке, да, пожалуй, и в прошлом тоже.

Одна фирма, не будем показывать пальцем, но вполне понятно, кто там в Мюнхене из автомотива сидит... Так вот, одна фирма ищет ассенизатора.
Die durch DOORS generierte Datenmenge steigt beim Kunden stark an (verstärkte Nutzung, Erweiterung der Nutzergruppen, Baukasten-/ Masteransätze, Vernetzung von Anforderungsebenen).

In Summe existieren über 80.000 DOORS Module in ca. 2.000 DOORS-Projekten, (ein Großteil (ca. 75%) der Datenmenge wird von 1% der Module erzeugt).

У клиента DOORS порождает дикие объёмы данных. Сейчас в системе более 80 000 модулей в 2000 проектов. При этом 1% модулей занял около 75% объема памяти.

Задача, естественно, немного почистить.


Aufgaben:
=========
vertiefte inhaltliche Analyse der DOORS Datenbestände hinsichtlich

- Potenzialen zur Reduzierung des benötigten Speicherplatzes (Dateianzahl + Gesamtgröße) und Durchführung
- Daten-Redundanzen im Modul bereinigen
- Objekte, die gelöscht aber nicht gepurged sind (soft-deletes), endgültig löschen
- Große Dateianhänge (Hochauflösende Bilder; eingebettete Excel-Dateien, von denen nur Ausschnitte sichtbar sind etc.) in der Größe reduzieren
- Hohe Anzahl von Bildern und Anhängen reduzieren
- Nicht mehr benötigte Inhalte, (außer Archivierungswürdige und aktive Daten), identifizieren und bereinigen
- Nicht mehr benötigte Attribute und Attributinhalte bereinigen
- Reduktion der Gesamtdatenmenge ggf. durch Aufspaltung von Modulen
- Erarbeitung von Vorgehensweisen, um die pro Zeit notwendigen Baselines zu reduzieren
- Ableitung möglicher Reduzierungspotenziale unter Berücksichtigung der aus der Fachliche Analyse und IT Ansätze
- von Reduzierungspotentialen (semantisch)
- Regelbasiert, wenn möglich automatisierbare Ansätze mittels DOORS Skripten (DXL)
- Kontrolle und Dokumentation der Optimierungserfolge


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

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

Естественно, первым делом я полез в Гугл. Естественно, в первой же позиции он выдал мне ссылку на презентацию некой фирмы из Мюнхена о том, как они введут сейчас DOORS и как у них всё станет прекрасно.

Жалко, что немцы не особо любят социальные сети, так что сейчас сложно сказать, что стало с авторами доклада, и над какими новыми технологиями они сейчас теоретезируют.
vit_r: default (vit_r)
Ха, пример из предыдущего поста можно ставить в учебники.

Читаем сам пост.
Месяц назад они - наш программист и подрядчик поссорились.

Теперь программист решил всем назло, сделать всё самостоятельно с помощью одного своего помощника.


Ай-яй-яй. Какой нехороший программист.

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

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


Чего тут примечательного.

Проект шёл 4 месяца. Потом программист доказал, что подрядчик гонит лажу и подключил менеджмент.

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

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

Что делает начальство? Разбирается с проблемами? Проводит техническую экспертизу?

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

Почему нельзя его уволить сразу? А потому, что кроме Программиста в технических вопросах никто не разбирается, а сдавать надо через месяц. (Кстати, судя по оговоркам это уже перенесённый срок.)

Почему его надо уволить? А потому, что что не послушался приказа Директора. (Почему Директор с прописной? Потому что в посте так.)

Что же у нас с аргументами? Читаем:
Я ему говорю:
- Но, логично, что именно Директор знает, что в интересах фирмы, а что нет. Ты - можешь многого не знать.

А он:
- Так скажите мне. Вы что, хотите из меня раба бессловесного сделать?

Я даже оторопел:
- Есть же служебная информация. Одному - одна информация, другому - другая, есть доступы.


Классика. В чистейшем и незамутнённом виде.

Хорошо, что у консультанта всегда есть возможность сказать «У меня в контракте записано, что я обязан делать на уровне своих знаний и опыта. Если вы хотите через жопу, я делаю с оплатой по часам, но подтвердите, пожалуйста, письменно, что я предупреждал и за результаты я не отвечаю.» Плюс, конечно, судьба фирмы пофиг. Если клиенту хочется тонуть, это его полное право. Впрочем, в Германии этим и команда на борту не очень заморачивается, просто тихо подыскивая, куда сбежать индивидуально.
vit_r: default (vit_r)
А нужно обязательно дорогостоящего, или подойдет просто хороший?
[livejournal.com profile] pvn123 тут



Думаю, все уже прочитали эпический пост про программиста, пославшего нафиг подрядчиков с менеджерами и решившего всё запрограммировать самостоятельно, а также дискуссию по этому поводу у [livejournal.com profile] metaclass и в вечернем противогазе

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

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

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

Да, в индустрии говорят о занятой памяти, скорости доступа, молятся на букву «O», особо продвинутые знают страшные слова вроде «цикломатическая сложность» и, даже, могут постараться и выдать число. Но всё это пустое. Единственная интересная метрика из популярных - function points. Правда для того, чтобы из цифр что-то полезное извлечь, нужно иметь базу по многим годам и многим проектам для тех же задач, тех же методик и того же персонала.

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

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

В принципе, в этом нет ничего сложного. Так создают статьи в биологии, психологии или экономике. Нужно просто правильно поставить вопрос и посмотреть, где копать.

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

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

Был прощальный разговор с менеджментом...

Ну что сказать?.. Просто удивительно, насколько я стал циничным. Или насколько мне пофиг всякие мелочи. Сидел, улыбался, изображал участие. Они тоже старались. Хотя, контроль за языком жестов у обоих ни к чёрту. Уж руки-то могли бы положить как надо, а не сидеть в закрытой позе, скрестив их на груди.

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

Тогда пришлось по телефону объяснять посреднику, что возможностей блеснуть в области управления у меня было меньше, чем у офис-менеджера или менеджера торгового зала, и, вообще, если мы начинаем говорить о менеджменте... Объяснять пришлось громко и эмоционально. Очень громко и очень эмоционально. Чтобы те, кто надо, услышали, запомнили и передали. Уже на следующей день посреднику уточнили, что под менеджерскими качествами они имели ввиду не менеджерские качества, а вот то и вот это. (Естественно, и про то и про это было специально упомянуто во время Очень Громкого Телефонного Разговора, так что можно с удовлетворением констатировать, что кривая связь работает прекрасно, это только с прямой дикие траблы.) Кстати, про то и про это в финальной оценке тоже было упомянуто. Правда, очень-очень осторожно.

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

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

Про экспертов и гур



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

Берём с полки «Quality is free» by Philip B Crosby (между прочим, год публикации 1980), открываем страницу 32 и смотрим названия столбцов для пяти этапов: Uncertainity, Awakening, Enlightment, Wisdom, Certainity.

Открываем известный стандарт. Читаем название пяти медалек: Initial, Repeatable, Defined, Quantitatively Managed, Optimizing.

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

Как-то один стандарт по качеству просто инвентировал. Получилась матрица Процесс - Результат - Критерии Оценки. (С последним, правда, сплошные глюки в стандарте, но можно вывести что-то вменяемое, причём и для дела пригодное, и стандарт не обижающее.)

Всё разложилось на банальный набор чек-листов, которые просто нужно было натянуть на имеющиеся процессы и добавить те, которые отсутствовали. Что, правда, я делать не стал, потому что мне деньги не за это платили. Менеджменту требовалось только доказать, что происходящее внутри должно быть удостоено медали под номером три. Кстати, именно оттуда диалог
  • - The output is garbage: each third record is wrong.
  • - Why garbage? Two thirds of values are correct.

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

Недавно спрашивали про книжки. В принципе, начал перебирать в уме, что читал из полезного, потом бросил. Прошу простить за небольшое занудство, но пустое это.

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

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

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

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

Как это не странно, но написание рассказов.

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

И не стоит забывать про риск.

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

Это всё теория. А так, достало меня унылое немецкое айти и все эти игры, напоминающие бег по болоту.

А тем, кто заметил что-то необычное и неадекватно отреагировал, хочу сообщить, что разыгрываю сейчас многоходовую комбинацию. В основном от скуки. Так что не стоит ничему удивляться. Также на время могут уйти из публичного доступа некоторые мои страницы и некоторые посты здесь.
vit_r: default (vit_r)

Про mission critical и теорию вероятности



Арчибашев / Artzybasheff cybernetics Секрет mission critical софтопроизводства в том, что разницу между софтом с надёжностью 0.9999 и 0.999 невооружённым взглядом заметить сложно.

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

Проблема в том, что критичный софт - это очень-очень скучно. Старые технологии, куча писанины, достаточно примитивные алгоритмы и нескончаемые митинги.

Люди талантливые и заинтересованные в своём развитии стараются найти что-то поинтереснее.

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

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

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

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

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

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

Естественно, при всём бардаке и бреющем полёте мысли большинства разработчиков они потом берут свои три девятки бесконечным тестированием или сотнями румын (или и тем и другим сразу). Но на то, что у этого софта внутри, лучше не смотреть.

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

Profile

vit_r: default (Default)
vit_r

June 2025

S M T W T F S
12345 6 7
8 91011121314
15161718192021
22232425262728
2930     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 05:06 am
Powered by Dreamwidth Studios