— А кем ты работаешь?
— Программистом.
— Ааа, понятно…
Вот такой диалог случился у меня с инструктором, когда я в очередной раз затупил на дороге. Собственно, я уже догадывался, что иногда ошибаюсь из-за профессиональной деформации. И то что так туплю не только я (по словам инструктора на программистов он часто жалуется), лишний раз подтвердило догадку.
PS. Предупреждающий знак: Осторожно, сарказм!
Табличка под ним: [↑ 1 статья]
Профессиональная паранойя или негативный поиск
Я привык, что всё что может пройти неправильно пойдёт именно так. Пользователь нажмет кнопку с надписью не нажимать. Сервер мне вернёт пустую запись справочника, в котором «всегда есть данные», а яндекс браузер отработает стили немного не так как хром. Это моя паранойя и я ей наслаждаюсь.
И вот я на дороге. И тут громадное количество сущностей, которые могут выкинуть еxception, обязательно на моей траектории.
Да, инструктор говорит, что эта машина не поедет прямо, даже если не включила поворотник. Только потому, что ей неудобно это сделать из правого ряда. Реально? У меня пользователи с двумя вышними ухитряются на показе руководству такое ткнуть…
Инструктор утверждает, что это опасный тип с сигаретой на краю тротуара, когда докурит не броситься перебегать дорогу перед нами. Тут же нет зебры. Да ладно?! Я бы не доверял любителям никотина, они опасные.
И, главное, что нужно анализировать не только опасности, но и то что опасности не представляет. И быстро. А я так горжусь своей паранойей…
Но когда паранойя отсупает… Проблемы остаются.
Доверие моделированию
Со временем я учусь категоризировать объекты дорожного движения. Я вовремя замечаю знаки приоритета. Вижу, что мужик не успевает на пешеходник, черепаха. Что перестроится можно сразу после зебры, потому что перед ней сплошная. Что успеваю выехать на круг, до того как помешают машины слева, а те, кто справа уже будут пропускать меня. Что дальше… Блин!!! Откуда здесь трамвай???
Это тоже профессионально фишка. Я посчитал все известные угрозы и теперь без тени сомнения… лезу под трамвай.
Я обычно пишу код очень быстро. Почти не думаю над текущими строками. Я их уже мысленно написал и уже впереди на несколько ненаписанных строк… А тут, трамвай!
Профессионально, я не должен сомневаться, когда пишу код. Даже если я что то делаю неправильно, лучше дописать фрагмент. Я уже потратил (и порой до фига) оплаченного рабочего времени, для того, чтобы в голове сложилась картинка. И я обязан её зафиксировать
на полях кодом. Если что, не так посмотрю-поправлю.
А, как водитель, я не имею права игнорировать трамвай. Или маленький пешеходный светофор, который, гад такой, может внезапно переключиться, пока просчитываю как буду пролезать в заторе, что метрах в 40 впереди.
Пишу себе скрипты после таких ляпов. Выискивать трамвайные пути и железных слонопотамов на них. Или добавлять в маршрут глаз ещё обязательный взгляд вверх до/после перекрёстка/зебры (чтобы поймать недопроеханный светофор).
И это работает… Осталось не забыть, что есть ещё железнодорожные переезды.
Кстати об алгоритмах
Поспорил недавно с инструктором. Когда он попытался навтыкать мне за включенную повторно передачу.
На прошлом занятии мне справедливо подъели мозг за суету. «Не то страшно, что заглох, а то, что сразу не поехал». Я проникся и… накидал себе скрипт.
И вот я снова глохну, но готов: аварийка, сцепление, завести, первая передача, тронуться, — аварийка, вторая. Едем. Я молодец. А инструктор кипит будто я его самого на пешеходном не пропустил.
— Ты зачем 1 передачу включил?
— Чтобы ехать.
— А на какой был?
— На первой.
— И зачем первую включать???
Ну как объяснить ему, что это два разных скрипта, зависящих от внешнего фактора, который дешевле игнорировать, чем учитывать. А в идеале это 5 разных скриптов, на каждую передачу по одному. Ради исключения действия, на которое я трачу секунду-две? И которое нужно в половине случаев, так столько же глохну на второй/третьей сколько на первой. И в будущем (я надеюсь) этот алгоритм станет очень редким (особенно если сяду на автомат).
Он же не профессионал, он этого не поймёт…
Скриптование
Вообще я больше 30 лет общаюсь с компьютерами, более 20 лет мне за это платят деньги. Моя работа перевод бизнес процессов (и/или фантазий заказчиков) на язык «умных железок». Я привык думать как компьютер, И это сказывается.
Только я начал писать себе маленькие «скрипты по вождению», как обучение пошло на лад.
Я сразу очутился в привычной среде. Я набрасываю скрипты, ловлю в них баги, добавляю триггера, убираю излишнюю оптимизацию и деталировку(это опасно). Другое дело, что и инструктор и даже правила дорожного движения предлагали мне заняться этим с самого начала. Подсказывая алгоритмы и рассказывая, что именно алгоритмами решаются многие задачи.
Но надо не только знать скрипт, но и в какой папке он лежит. А если ты ещё сам написал или хотя бы пошагово проверил скрипт, ему сложнее выскользнуть из памяти.
Кстати, об ошибках.
Обратная глубокая ретроспектива
Знаете, что меня вгоняет в серьёзный ступор?
Когда инструктор спрашивает, что я не так сделал. Или, хуже того, почему.
Яжпрограммист, у меня рефлекс, что 70% ошибок появившихся в системе – это мои последние действия. Поэтому когда, что-то пошло не так, часто полезно отмотать сделанные изменения и представить, чем они могли сломать хорошую вещь.
И вот инструктор задаёт мой вопрос. А я начинаю загоняться. Перестроился – норм, поворотник включил/выключил, передачу воткнул херовато, но это минор, повернул норм, поворотник включил – норм, к повороту держался близко, притормозил поздновато – но это уже давно. Так, по новой перестроение, поворотник…
Да я понимаю, что ошибка в скорее всего самом последнем действии, но если не вижу косяка сразу, врубается рекурсия, врубается рекурсия…
Но я заскриптовал эту ситуацию тоже. Если не могу за секунду-две найти косяк, нагло вру, что всё сделал вроде ок. И тогда инструктор перестаёт жрать мои ресурсы мозга и раскалывается, что я проехал по разметки стоянки. Вот блин,… интрига. Но вроде проехали ситуацию.
А инструктор добивает меня: И зачем ты это сделал? Оууууууууоооо, а зачем ты это спросил???
Ну и последнее в списке, но не последнее по значимости
Центр экрана
Да! Я переиграл в своё время в гонялки. Ещё та самая 4хцветная Формула-1, DeathTrack, первая IndyCar (до чего же там было адреналиновое управление, даже с клавиатуры чувствовалось, как с трудом удерживаешь машину) и куча более нового, но меньше потратившего моего времени.
И, как вы догадались, у всего этого руль был по центру машины. Либо был режим переключения на вид по центру. И проблемы габаритов и езды в полосе… проблемами не были.
И если габариты более менее удалось «прочувствовать», то вот в левую полосу разметки ряда меня сносит… мягко, постоянно и неожиданно. И ничего не сделаешь, только нарабатывать реальные, а не игрушечные навыки.
Удачи на дорогах (и поосторожнее, я ещё учусь и раздражаю вас).
комментарии (28)