СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

H Инструкторы по вождению не любят программистов? в черновиках

— А кем ты работаешь?
— Программистом.
— Ааа, понятно…

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

PS. Предупреждающий знак: Осторожно, сарказм!
Табличка под ним: [↑ 1 статья]


Профессиональная паранойя или негативный поиск



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

И вот я на дороге. И тут громадное количество сущностей, которые могут выкинуть еxception, обязательно на моей траектории.

Да, инструктор говорит, что эта машина не поедет прямо, даже если не включила поворотник. Только потому, что ей неудобно это сделать из правого ряда. Реально? У меня пользователи с двумя вышними ухитряются на показе руководству такое ткнуть…

Инструктор утверждает, что это опасный тип с сигаретой на краю тротуара, когда докурит не броситься перебегать дорогу перед нами. Тут же нет зебры. Да ладно?! Я бы не доверял любителям никотина, они опасные.

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

Но когда паранойя отсупает… Проблемы остаются.

Доверие моделированию


Со временем я учусь категоризировать объекты дорожного движения. Я вовремя замечаю знаки приоритета. Вижу, что мужик не успевает на пешеходник, черепаха. Что перестроится можно сразу после зебры, потому что перед ней сплошная. Что успеваю выехать на круг, до того как помешают машины слева, а те, кто справа уже будут пропускать меня. Что дальше… Блин!!! Откуда здесь трамвай???

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

Я обычно пишу код очень быстро. Почти не думаю над текущими строками. Я их уже мысленно написал и уже впереди на несколько ненаписанных строк… А тут, трамвай!

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

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

Пишу себе скрипты после таких ляпов. Выискивать трамвайные пути и железных слонопотамов на них. Или добавлять в маршрут глаз ещё обязательный взгляд вверх до/после перекрёстка/зебры (чтобы поймать недопроеханный светофор).

И это работает… Осталось не забыть, что есть ещё железнодорожные переезды.

Кстати об алгоритмах


Поспорил недавно с инструктором. Когда он попытался навтыкать мне за включенную повторно передачу.

На прошлом занятии мне справедливо подъели мозг за суету. «Не то страшно, что заглох, а то, что сразу не поехал». Я проникся и… накидал себе скрипт.

И вот я снова глохну, но готов: аварийка, сцепление, завести, первая передача, тронуться, — аварийка, вторая. Едем. Я молодец. А инструктор кипит будто я его самого на пешеходном не пропустил.

— Ты зачем 1 передачу включил?
— Чтобы ехать.
— А на какой был?
— На первой.
— И зачем первую включать???

Ну как объяснить ему, что это два разных скрипта, зависящих от внешнего фактора, который дешевле игнорировать, чем учитывать. А в идеале это 5 разных скриптов, на каждую передачу по одному. Ради исключения действия, на которое я трачу секунду-две? И которое нужно в половине случаев, так столько же глохну на второй/третьей сколько на первой. И в будущем (я надеюсь) этот алгоритм станет очень редким (особенно если сяду на автомат).

Он же не профессионал, он этого не поймёт…

Скриптование


Вообще я больше 30 лет общаюсь с компьютерами, более 20 лет мне за это платят деньги. Моя работа перевод бизнес процессов (и/или фантазий заказчиков) на язык «умных железок». Я привык думать как компьютер, И это сказывается.

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

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

Кстати, об ошибках.

Обратная глубокая ретроспектива


Знаете, что меня вгоняет в серьёзный ступор?

Когда инструктор спрашивает, что я не так сделал. Или, хуже того, почему.

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

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

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

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

А инструктор добивает меня: И зачем ты это сделал? Оууууууууоооо, а зачем ты это спросил???

Ну и последнее в списке, но не последнее по значимости

Центр экрана


Да! Я переиграл в своё время в гонялки. Ещё та самая 4хцветная Формула-1, DeathTrack, первая IndyCar (до чего же там было адреналиновое управление, даже с клавиатуры чувствовалось, как с трудом удерживаешь машину) и куча более нового, но меньше потратившего моего времени.

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

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

Удачи на дорогах (и поосторожнее, я ещё учусь и раздражаю вас).

комментарии (28)

+11
+12 –1
laphroaig ,  
— Ааа, понятно…
это потому, что сегодня точно без бла-бла за жизнь и будет скучновато. А остальное Вы себе напридумывали.
0
mclander ,   * (был изменён)
По сути да, немного стёба над собой и желтоватый заголовок.
0
mwambanatanga ,  

Всё придёт с практикой.

+2
Zolg ,  
Возможно вам просто стоит поменять инструктора.
И не копаться так глубоко в себе.
Задача обучения вождению — свести выполнение тех вещей, которые вы сейчас 'программируете' к использованию библиотечных функций (из библиотеки условных рефлексов).
И да, на дороге может случиться любое движение, не противоречащее законам физики.
+4
Doomsday_nxt ,  
Эммм… Инструктор утверждает — что машина не повернёт потому что ей неудобно, пешеход не побежит, потому что нет зебры… Может ну его нафиг такого инструктора?
0
mclander ,  
Я забыл табличку «сарказм» и видимо много где (((

Инструктор хороший и сосредотачиваться надо на явной опасности. В том месте, реально неудобно из правого ряда ехать прямо, надо опасно перестраиваться на перекрёстке.
0
Doomsday_nxt ,  
Это не значит что никто этого не будет делать. Даже не представляете сколько раз мне подставлялись такие, которым оказалось «удобно»…
0
mclander ,  
Я знаю. Поэтому боюсь всего. А инструктор говорит о том, что сильно бояться надо выборочно и вдумчиво. Плюс в том месте опять же, если я начну манёвр, то и у меня будет место сдёрнуться от идиота и у него меня объехать
0
spanasik ,  
ездить на алгоритмах может только робот\автопилот, человек должен наработать правильные рефлексы, потому что в критических ситуациях думать некогда (мозг медленный)
+2
alexxisr ,  
рефлексы — это такие же алгоритмы. только не на шелле, а на ассемблере. Надо просто скомпилировать практикой.
0
Angerslave ,  
Рефлексы не имеют доступа к памяти, так что это скорее микрочипы на материнской плате. а то и на периферии.
0
alexxisr ,  
Нужно всеж построить связи между зрением/слухом/«пятойточкой» и руками/ногами, чтобы рефлексы заработали. И почему-то мне кажется, что связь эта строится в мозгу, в том числе с участием долговременной памяти.
+2
wsf ,  
У меня обратный опыт.

Сдаю экзамен по вождению, дпсник с заднего сиденья решил разговор за жизнь завести
— Кем работаешь?
— Программистом
— Не люблю я вас, программистов
— Чойта?
— Да вы люди странные какие-то, от реальности оторванные, бродите где-то там в своих мыслях, нечего вам на дороге делать.
Вмешивается инструктор:
— Между прочим, говорит, это мой лучший ученик.

Экзамен сдал с первого раза :).

А вождение это не скрипты, а опыт, причем опыт социальный и зачастую идущий вразрез с пдд.
0
Angerslave ,  
Вождение принципиально мало отличается от простого хождения. Скорости выше (порой на порядок), маневренность ниже, интерфейс чуть другой. Но после определённого возраста уже мало кто задумывается о каждом шаге, не доводит до сознания результаты анализа намерений агентов вокруг, не думает о правильной скорости. И только когда что-то идёт не так, появляется это жжение в области живота, которое преобразовывается в торможение, обгон или поворот, а уже в сознании мы додумываем почему же мы поступили так или иначе.
0
Sinatr ,  
когда я в очередной раз затупил на дороге
иногда ошибаюсь из-за профессиональной деформации
А тут, сцуко, трамвай
Я переиграл в своё время в гонялки
Не надо делать преждевременные выводы и мешать в кучу свой опыт, пытаясь вывести из этого «законы».

Все новички ошибаются.

По большому счету инструктору все равно кто вы по профессии. И даже ваш возраст. Нет никакой статистики «а, вы маляр? все понятно», то, что с вами происходит — абсолютно нормальный процесс, именно поэтому у автомобиля продублированы педали и рядом с вами постоянно находится человек, ожидающий вашей ошибки и всегда (по идее) готовый не допустить/предотвратить ее. Не говоря, что надпись «автошкола» на машине (не знаю как в России) должна включать режим осторожности у других участников дорожного движения (больше дистанция, меньше скорость, заблаговременное притормаживание и т.д.) — большинство людей ведущих свои машины «ожидают», что вы ошибетесь и по мере сил вам помогут.

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

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

Но это не жалоба, а скорее мысленный эксперимент. Просто стало интересно почему инструктор «запомнил программистов»
0
Sinatr ,  
Может по Фрейду, в детстве от мечтал стать программистом, но это оказалось невероятно сложным занятим (не говоря уже о том, что родители видели в нем потомственного фермера) и ему пришлось сдаться, чтобы начать зарабатывать на жизнь чем-то из того немного, что он умеет делать — вождением. С тех пор он ненавидит программистов и мстит им как может, подавляя их волю, доминируя и добиваясь либо их суицида, либа трамваефобии, либо статьи на хабре ;)
0
DrZlodberg ,  
вот если в симуляторы на соотвествующем стенде — то да, возможно

Из личного опыта — «симулятор на стенде» позволяет сесть за руль вообще без подготовки (в плане именно управления). Правда я пересаживался с раллийного, который совершенно не даёт представления о городском трафике. Впрочем кроме постоянной практики о нём вообще ничего не даёт представления.
0
SergeyMax ,  
Через десять лет вы даже не будете помнить, как доехали на работу, потому что всю дорогу думали о том, почему муха может сидеть на потолке.
0
Igor_Shumilov ,  
Вождение и программирование очень похожи между собой. И то и другое есть набор применяемых алгоритмов, количество которых растёт с опытом. Подавляющее большинство ситуаций на дорогах стандартные, и решаются они стандартно. Тут у программистов, как мне кажется, есть определённое преимущество перед другими (менее алгоритмизированными) профессиями. Просто потому, что мы привыкли к такой «нарезке» реальности на отдельные эпизоды.

Ну а «программист? Понятно» может вообще не иметь ничего общего с навыками вождения. Это может быть проявлением стереотипа об интровертности, например. Т.е. инструктор понимает, что какого-то большого общения в процессе обучения не будет. А сам он любит поговорить.
+1
pfemidi ,   * (был изменён)
И, как вы догадались, у всего этого руль был по центру машины. Либо был режим переключения на вид по центру.

Вот это, пожалуй, главная причина почему я никогда не смогу научиться водить машину. Я могу запомнить ПДД, я могу выучить все знаки пусть их будет хоть как китайских или японских иероглифов по количеству, это не проблема. Но я не понимаю, хоть убей не понимаю как это руль может быть не в центре, а слева (или у японцев или англичан справа). Как? Как это так можно сидеть с одного бока и видеть/чувствовать противоположный бок? Не, я пробовал, честно пробовал. Ещё лет 35 назад, с отцом. Но меня как и автора постоянно «сносит» влево. Попробовав несколько раз, несколько дней я понял что не судьба и с тех пор даже не пробую больше, ибо не моё это, совсем не моё. Велосипед да, мопед да, мотоцикл (но без коляски!) да, а вот автомобиль — нет. У него же руль не по центру!!!
+1
msdos9 ,  
— А кем ты работаешь?
— Программистом.
— Ааа, понятно…

Я согласен с возгласом инструктора, ибо кто как не программист может из простых рефлективных реакций высосать скриптов на целую статью. Тем более, что буквально через месяц самостоятельного вождения, ему уже не понадобятся скрипты, когда он будет за рулем жевать бургер, пить колу и разговаривать по телефону.
0
mclander ,  
Я знаю ;)

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

Но тема показалась забавной, рискнул написать статью)
+1
BDI ,  
Что успеваю выехать на круг, до того как помешают машины слева, а те, кто справа уже будут пропускать меня.

«Должны» != «Будут» — стоит это иметь ввиду, т.к. нередко эти правые там едут как раз чтобы побыстрее вклиниться пока «левые» их будут «прикрывать» от едущих по кругу. Знаю как минимум одно круговое где это постоянно происходит :).
Ну как объяснить ему, что это два разных скрипта, зависящих от внешнего фактора, который дешевле игнорировать, чем учитывать. А в идеале это 5 разных скриптов, на каждую передачу по одному.

Всё можно объяснить проще — обучающиеся не редко путают передачи(например вместо первой третью могут воткнуть). Так что алгоритм может быть вполне уместен просто чтобы убедиться — да, я на первой! А так да, два лишних действия, задержка потока.
С приходом опыта глохнуть не перестаём, но обычно точно знаем на какой передаче находимся :). Тут главное не спешить — как-то заглох перед переездом(РДТ никак руки не доходили поменять, так что на наборе оборотов с холостых такое бывало). Переезд иногда надолго закрывается, сзади люди — задерживаю. Ну и маленько перенервничал(настроение ещё было убитое), и после того как завёлся вместо первой заднюю воткнул(зубила — у новичков такое бывает, а сам такое учудил первый и последний раз за 10 лет зубиловодства), ещё и трогаться начал резво(газку побольше чтоб снова не залгохнуть). Осознал быстро, оттормозился, ДТП не случилось, моргнул аварийкой(типа извиняюсь), поехал. Но тот кто за мной был — до перекрёстка следующего дистанцию побольше держал :D.
Когда инструктор спрашивает, что я не так сделал.

Это ещё ладно. Мне знакомый историю рассказывал, когда в школе ещё учился, были там курсы вождения(на грузовых, ещё в СССР было). И вот однажды инструктор его спросил какой последний знак они проехали несколько минут назад(не в городе катались, так что знаков мало в пути), и когда тот не смог назвать — «остановись на обочине, и топай обратно смотри знак». Говорит пришлось топать несколько км до знака и обратно, зато на знаки стал смотреть внимательнее :).

P.S. За рулём главное спокойствие и предсказуемость манёвра — даже если машина в потоке едет не по правилам(не знал/задумался/забил), но её действия предсказуемы — высок шанс избежать ДТП(часто определяю машину собирающуюся сменить ряд ещё до того как она поворотник включает, хотя не уверен что смогу точно сформулировать по каким признакам это определяю). И делать выводы из своих ошибок, чтобы больше их не повторять. Да на самом деле много чего ещё, но эти три вещи — обязательны :). Плюс знание и собюдение ПДД конечно.
+1
bvn13 ,  
— А кем ты работаешь?
— Программистом.
— Ааа, понятно…

Проф. деформации у врачей бывают и такими:

Инструктор: — А тут поворачиваем налево.
Начинающий водитель (врач): — Хорошо.
Начинающий водитель (врач):… поворачивает направо…

Ибо левая рука пациента проецируется на свою правую!
0
VMichael ,  
Очень много людей испытывают сложности при обучении вождению.
Но программист чувствует себя «особенным», не таким как все. Его переживания, это такие особенные переживания, ведь он не такой как все, он все типа скриптует и потому ему гораздо сложнее, чем прочим. Он же особенный, этакий пуп земли.
Попробуйте выйти из своего черепашьего программистского панциря и оглянутся. Все вокруг преодолевают какие то проблемы. Ваши проблемы не «особенные».
Когда моя жена испытывали трудности с вождением и нервничала, я ей говорил: посмотри вокруг кто водит машины: тупые девочки «блондинки», бабушки и дедушки, у которых реакция стремится к нулю, так же как и зрение, люди с физическими недостатками и детишки. В армию приходят пацаны, всех сажают на машины (кто попал служить на машины), колесные и гусеничные и все! обучаются.
И все вышеперечисленные ездят себе спокойно. Ничего сверх невозможного в вождении автомобиля нет. Просто навык, который нарабатывается.
А, как говориться, упорство и труд, все перетрут. Вопрос только в количестве тренировок и воле.
Нет никакого смысла объяснять свои трудности своими «особенностями» в деле овладевания навыками вождения.
0
muhaa ,  
Понятно, что школьнику молодому человеку хочется всем показать что он программист и мыслит не так как они. На самом деле, если вы сели в машину просто будте водителем а не программистом, не питайте иллюзий, что ваш мозг работает не так как у всех и не дурите голову инструктору. Тогда все будет проще.
0
Brenwen ,  
Когда только начинал ездить на мотоцикле — мне дали такой совет: самая правильная стратегия — это считать, что все вокруг хотят тебя убить. Ее и придерживался, постоянно мониторя окружающую обстановку и пытаясь спрогнозировать действия других участников и их траектории. Потом с небольшими правками перенес этот опыт на машину.