Самый страшный кошмар программиста

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

 

Рейчел Виллмер, занимается программированием около 30 лет

Работа нашей команды над шестимесячным проектом подходила к концу, поэтому к нам на пару дней приехал босс, чтобы посмотреть на результат и передать его заказчику. Мы как раз доделывали последние штрихи, представляя, как совсем скоро сможем оказаться каждый у себя дома, когда я неосторожно внес в командную строку не то, что нужно, и случайно удалил все, что мы создали за это время. Всю нашу работу за последние шесть месяцев. Несколько минут я просто смотрел на экран и думал, уволит ли меня начальник сразу или же отвезет за 150 км от дома и уже там прикончит. Наконец я собрался с силами и признался: «Эм, Стив… Тут такое дело… Я, кажется, совершил несусветную глупость», — после чего объяснил ему все.

Стив взглянул на меня, после чего медленно произнес: «Да, не самая умная вещь с твоей стороны. И как образом ты собираешься это исправлять?». Я смотрел на него молча, в то время как мой внутренний голос заходился от крика: «Что? Что ты такое говоришь? Ты вообще слышал, что я сказал? Я же говорю, я все удалил!». Но вдруг случилось чудо, и в мою голову пришла гениальная мысль: «А, может, мы восстановим проект из резервной копии, сделанной вчера ночью, а после переделаем две строки кода, которые сегодня изменили, после чего заново протестируем все сделанное?». В ответ на это он одобрительно улыбнулся.

 

 

 

Джон МакЛарен, графический дизайнер, веб-разработчик, художник  

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

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

 

Ашутош Гимир, горячий поклонник языка Python 

  • Отсутствует интернет-соединение. Может кто-то и может продолжать работать, но для большинства программистов интернет просто необходим.
  • Отключается Wi-Fi. 
  • Не можешь найти решение какой-то проблемы. Даже при помощи Stack Overflow.
  • Босс злится из-за того, что проект не готов вовремя.
  • Отсутствует точка с запятой.
  • Какие-то неполадки с сайтом Stack Overflow.
  • Из-за неполадок в созданном тобой коде у кого-то возникают проблемы.
  • У меня был случай, когда у одноклассника не работал телефон. Я был единственным программистом в классе, поэтому все обвинили меня в том, что я хакнул его телефон.
  • Нет кофе!
  • Невозможно определить причину бага. 
  • Сбой интегрированной среды разработки.
  • Ломается провод у рабочих наушников.
  • Тебе до сих пор не починили ноутбук.
  • Компьютер ломается в тот момент, когда ты уже сделал значительную часть работы.

 

Аладин Бенсасси, веб-разработчик, консультант, предприниматель, любитель почитать 

  • Код отлично работает с первого раза. Что это за волшебство? Ведь еще даже рак на горе не свистнул…
  • Мне звонит один из моих родственников. Я вполне могу в этот момент лежать в больнице, но он все равно спросит, починю ли я ему интернет прямо сейчас.
  • Закрыт магазин, в котором продается мой любимый кофе. Что прикажете пить? Воду, что ли?
  • Клиенты из ада.
  • «Слушай, дружище, у меня есть отличная идея, которая изменит мир. Может, ты воплотишь ее, а я тебе 30% компании отдам? Нет, серьезно, я тебе отвечаю, это классная идея: это как Facebook, но вместо полных сообщений разрешено напечатать только 140 знаков. Разве это не гениально?»
  • Клиенты хотят, чтобы я уже к сегодняшнему вечеру внес изменения, над которыми нужно поработать минимум пару дней. 
  • «Это тот компьютерный гений, о котором я тебе рассказывал. Он реально может починить даже упавший с четвертого этажа компьютер».

 

Джонатан Дей, занимается программированием с 8 лет

Гейзенбаг (плавающая ошибка).

Включает в себя:

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

 

Джеф Дарси

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

 

Доминго Игнацио Гальдос, инженер, проживающий в Нью-Йорке

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

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

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

 

Лоу Р. Хоулемард, более 20 лет занимается программированием

Я приведу пример, с которым наверняка знакомы большинство программистов, особенно когда проводишь целую ночь за тяжелой работой по отладке кода. Кошмар заключается в том, что после окончания работы вы ложитесь спать и во сне продолжаете работать, пытаетесь решить какие-то непонятные или проблематичные моменты в коде. Но, естественно, придумать решение вы не можете. В какой-то момент вы просыпаетесь, продолжая думать, почему ошибки все равно появляются у вас в коде. Уже перепробовано все, но ничего не помогло. Вы начинаете злиться и заставляете себя заснуть, а во сне опять пытаетесь решить, что же делать с кодом… 

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

 

Брайан Шмитц, хорошо разбирается в Python, Java, C++, C, отлично знаком с Rust 

Наихудшие ошибки, которые только могут быть:

  • Ошибка появляется только после введения программы в эксплуатацию и не может быть обнаружена раньше.
  • Малая вероятность возникновения бага, но недостаточно маленькая для того, что проигнорировать ее.
  • Причина появления ошибки неизвестна.
  • Не вы занимались написанием кода, в котором обнаружена ошибка, но именно вам приходится его исправлять, потому что создавший его человек больше не работает в вашей компании.
  • Ошибку вызвало что-то, что находится в библиотеке, которой можно доверять на 99,9%, поэтому это последнее место, где вы будете искать первопричину бага.
  • Много кто пытался решить эту проблему на протяжении долгих лет, но ни у кого не получилось.
  • Баг является логической ошибкой, которая проявляется только после долгого периода во время выполнения.
  • Устранение ошибки требует знаний в тех областях, о которых вы и понятия не имеете. 
  • У вас катастрофически мало времени на устранение ошибки.
  • Ошибку нельзя игнорировать, потому что на карту поставлена ваша работа.

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

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 4
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Читайте также

 

Комментарии

Аватар пользователя mike

Напишите ещё про самый страшный кошмар пользователя софта.laugh

Оценка: 3. 

mike пишет:

Напишите ещё про самый страшный кошмар пользователя софта.laugh

Оценка: 3. 


Напишу. Это когда секретарша нажимает на клавишу и у нее ломается ноготь.

+1
Аватар пользователя mike

У меня сегодня тоже случилось: заказчик ключ потерял, надо было снять защиту,. Но забыл комбинцию клавиш. Полез в исходники и -- о, ужас! -- не могу найти где это. Еле вспомнил про дневник в системе управления версиями. Хорошо, что вёл.

Аватар пользователя savely

Джеф Дарси

Это. Остальное - детство в общем-то. Геморрой/дискомфорт/etc - да, но не кошмар. 

Аватар пользователя mike

Джеф Дарси

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