Занудная вводная
Некоторое время работаю в финансовой сфере. Занимаюсь вообще всем, но большая часть времени уходит на ядро системы. По сути, это небольшой набор простых формул, из которого выводится несколько наборов подобной сложности для вычисления представлений, рассчитанных на разных потребителей (бухгалтерия, инвесторы, контрагенты).
Весь этот набор осознаваем, логичен и прост. К сожалению, идеальный мир портят реальные процессы, потому что в нескольких направлениях сидят реальные люди, которые совершают ошибки. Потому что проект начинали люди, которые в условиях ограниченных ресурсов несколько упростили исходные формулы. Потому что информационные системы могут давать сбой, из-за чего на момент Х нельзя быть уверенным в том, что владеешь полной информацией. Потому что сумма S, которая выплачивается N раз округленными кусочками K * S, где K всегда разный, набегает погрешность в масштабах года ощутимая.
Для совершения операций используются фактические данные, страдающие вышеописанными недостатками. Потому требуется некий механизм корректировок. Мой механизм прост - рассчитать идеальный мир на каждый момент времени, потом сравнивать его с реальным показателями и вносить изменения.
Очевидная проблема такого похода - это рост объема данных идеального мира, но не это важно. Неочевидная - нельзя заранее продумать все граничные случаи влияния корректировок на реальный процесс и реального процесса на корректировки. То есть получается ситуация, когда юнит-тесты написаны и проходят, а ошибки всё равно случаются.
Такая ситуация редкая, но делает очень больно. Потому что надо отключить коммуникацию (вот и мы стали теми, кто задерживает информацию), чтобы ошибочные данные на попадали в другие системы, увеличивая энтропию, надо искать еще одну разницу, чистить данные, пересчитывать и тд и тп.
Во всей этой истории мне интересен один момент - самый ранний, когда можно понять, что что-то пошло не так. Очевидные проверки тут не спасают, то есть надо смотреть на ситуацию с другого ракурса и там искать инварианты. И это оказалось для меня существенной проблемой.
Суть пста
Условно, дело в том, что я отвечаю за техническую реализацию проекта, а мой руководитель за логику и процессы. И в 70% случаев именно он понимает, что что-то не так. Он смотрит на происходящее, считает какие-то свои суммы, видит, что они не бьются, после чего бьет тревогу. В начале мне было сложно понять, как человек ни с того ни с сего, может увидеть проблему в настолько сложных расчетах. Сейчас я потихоньку начинаю это осознавать.
Если отбросить «он просто умнее меня» или «у него просто опыта больше» и начать разбираться, то есть несколько интересных путей для размышления.
Во-первых, замечаю у него сильную склонность к графическому решению задач. Помните в школе «решить уравнение графически»? Я всегда считал, что это от лукавого, а единственный правильный путь - это переписывание символов («решить аналитически»). Но он постоянно использует визуализацию.
Во-вторых, он легко дает оценки тем вещам, которые я буду считать на калькуляторе минут 5. Тут дело в том, что он сходу (пока не знаю как) выводит допустимую погрешность в расчетах для оценки, а потом очень грубо и быстро находит результат. Я про эту саму погрешность ничего не знаю, потому выполняю все формальные вычисления. Я, конечно, читал книжку «Как измерить все, что угодно. Оценка стоимости нематериального в бизнесе», то есть могу догадываться как в конкретном случае он это делает, но скорость и точность меня поражает.
В какой-то момент я задумался о том, откуда идёт эта разница. Если мы ровесники, если оба можем в простейшую математику, оба двое достаточно дотошны в своих задачах. И большая разница нашлась в образовании, точнее в предмете «физика». Я, начиная с 10 класса, этот предмет терпеть не мог: 100500 констант, значимые символы, интуитивное создание моделей. В 11 классе и ВУЗе, я не знал физику сознательно, не хотел с ней иметь ничего общего и низкие допустимые оценки меня не смущали. У руководителя все наоборот: профильная школа, вуз и специальность в нем, первые работы, - всё как раз в области «физики».
Не могу сказать, что «прикладная математика» - неудачное направление. Меня всё устраивает. Но сейчас я вижу разницу в применении математического аппарата. В моем случае - это переписывание символов (программирование), в другом - абсолютно утилитарное использование ради более материальных целей.
Вывода «физика > математика» не будет. Но есть мнение, что она дает больше полезных навыков для реальной жизни.
[dw]