Программисты съели мой мозг.

Вспомнились несколько разных случаев.

- Как-то объяснял двум Senior Software Developer’ам, которые проработали в компаниях разрабатывающих security по крайней мере по нескольку лет, что такое битовые операции.

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

- Как-то было, что за 4 часа переписал код, который другой разработчик писал две недели. Причем за это время уменьшил объем код в 16 раз, не потеряв функциональности и не ухудшив читабельности.

- Помогал другому senior software developer’у пофиксить баг – поставить в нужном месте скобку. Причем, компилятор указывал, где должна быть вставлена скобка и что ее там не хватает.

- Хоть не о разработчиках, но тоже хорошо. Работал с заказчиком (который технарь и достаточно долго ведет IT бизнес), который считал, что в проекте можно исправить ВСЕ ошибки.

- И тоже не о программистах. На конференции видел sales, который на Palm не знал как перейти в Launcher (аналог Program Files для Windows). При этом он продавал сложную систему (включая Palm клиента) и должен был отвечать на вопросы.

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

RSS feed | Trackback URI

44 Comments »

Comment by Anonymous Subscribed to comments via email
Reply to the post
2009-11-20 19:30:53

Не кушайте моск другим и вам его, может быть, оставят.

 
Comment by Sergey Kiselev Subscribed to comments via email
Reply to the post
2009-11-20 22:26:47

Каждый имеет право немного потупить. Чем выше экспертиза, тем более заметны становятся тупняки :)

Согласен, это шедевр: “Хоть не о разработчиках, но тоже хорошо. Работал с заказчиком (который технарь и достаточно долго ведет IT бизнес), который считал, что в проекте можно исправить ВСЕ ошибки.”

Comment by Victor Ronin
Reply to Sergey Kiselev
2009-11-23 10:17:04

Ну под тупление попадает заказчик (из описанных)

Честно говоря остальные случае, скорее клинические.

 
 
Comment by VladimirZ Subscribed to comments via email
Reply to the post
2009-11-21 00:25:29

“Хоть не о разработчиках, но тоже хорошо. Работал с заказчиком (который технарь и достаточно долго ведет IT бизнес), который считал, что в проекте можно исправить ВСЕ ошибки.”

Однозначно можно за бесконечный ресурс :)

Comment by Sergey Kiselev Subscribed to comments via email
Reply to VladimirZ
2009-11-21 05:21:49

И за бесконечное количество времени. Хотя обычно стоит вопрос: исправить ВСЕ ошибки к определенному времени :)

 
Comment by Victor Ronin
Reply to VladimirZ
2009-11-23 10:17:44

Безусловно, за бесконечное время с бесконечным количеством бесконечно умных разработчиков, я смогу написать бесконечно качественную и сложную программу :)

 
 
Comment by point Subscribed to comments via email
Reply to the post
2009-11-21 05:00:11

Похоже, мантра “починить ВСЕ баги” очень распространена :)
Главное не допустить, чтобы это стало поводом невыплаты за уже проделанную работу. Именно так получилось у меня.

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

Comment by Victor Ronin
Reply to point
2009-11-23 10:18:10

В следующей статье опишу.

 
 
Comment by rssh Subscribed to comments via email
Reply to the post
2009-11-21 06:12:58

А у меня чуть ли не каждый новый контрагент смотря на сроки – говорит: “О, они либеральные: сделаем быстрее”. А потом эти либеральные сроки срывает.

Comment by Victor Ronin
Reply to rssh
2009-11-23 10:18:56

Таких надо убивать пока они маленькие.
Собирайте статистику, показывайте ее им после каждой фразы про либеральность.

Кстати, agile вам поможет.

Comment by rssh Subscribed to comments via email
Reply to Victor Ronin
2009-11-23 15:29:22

ну где-то так и происходит ;) [тем более первый проект с кем-то новым это как правило небольшой pilot]. Но тот факт что если люди раньше с нами не работали, то скорее всего они срывают сроки – пугает :) [непонятно - а как же все остальные]

Comment by Victor Ronin
Reply to rssh
2009-11-23 15:41:54

Вообще IT в этом смысле странная отрасль. Думаю не так много других областей где-то 70-80% проектов выбиваются из сроков и стоимости и поэтому все это считают фактически нормой.

Comment by point Subscribed to comments via email
Reply to Victor Ronin
2009-11-23 15:55:20

Потому что IT — это в основном custom-решенеия. Зачастую уникальные для своей предметной области.

При серийном производстве, например автомобилей, достаточно легко рассчитать стоимость производства, сроки, качество и т.д. Т.к. тех процесс меняется достаточно медленно, и наработки по ведению бизнеса в этой сфере накапливались десятилетиями.

Еще один нюанс: получаемый IT продукт очень мягкий и податливый. Вставить очередную фичу обычно не составляет огромного труда. Если продолжать аналогию с автомобилестроением, поставить еше 2 колеса машине вряд ли получится.
Отсюда желания улучшить, “углУбить”, расширить (зачастую во вред) приносят отставания от графиков, выход за пределы бюджета…

Comment by Victor Ronin
Reply to point
2009-11-23 16:02:13

Само-собой.

Но, все же IT не единственная такая область
а) Custom
б) Податливая

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

Кстати, еще одна важная особенность, которая играет тут роль – достаточно высокие ожидания к качеству продукта.

 
 
 
 
 
 
Comment by Slava
Reply to the post
2009-11-22 07:36:24

Мне нравится, когда заказчик настолько расфокусирован на проекте, что иногда спрашивает в духе:
- “Так на чем мы остановились?”, в то время работа идет над проблемой, которую он лоббировал (доказывал необходимость) 2 недели
- “… . Ой забыл, как же он называется”, интересно, когда забывают, как называется сам проект.

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

Comment by Victor Ronin
Reply to Slava
2009-11-23 10:20:11

Ну, тут я не согласен.

Заказчик таки может быть расфокусирован. У него проектов может быть много и проект может быть абсолютно неприоритетный. Если он платит деньги и признает, что простои и т.п. возникает по его вине – то, вполне нормальная ситуация.

Comment by Slava
Reply to Victor Ronin
2009-11-23 10:25:16

Да, тут адекватные варианты тоже есть. Это не клиника.
Истинна в деталях.

 
 
 
Comment by Anton Naumov Subscribed to comments via email
Reply to the post
2009-11-22 07:43:27

как хорошо, господа, что погоны Senior Developer’a раздают всем, кому ни попадя — эти люди делают наши услуги очень дорогими, работу с нами — подарком, а завания… да кому интересны звания? хоть горшком назовите, вопрос только в обязанностях, отвественности и компенсации

Comment by meowth Subscribed to comments via email
Reply to Anton Naumov
2009-11-23 07:41:20

Плюсую :)

Особенно радуют послужные списки в виде:
- Junior — 6 месяцев
- Senior — 2 года
Меньше 4к$ на руки компенсации не хотят (Россия, default city). Естественно, бонусы типа кормежки, отпуска, проездов и т.п. обязаны присутствовать отдельно от суммы.

Но при этом просишь сделать бранч в сорс-контроллере — “я не умею” )

Comment by Victor Ronin
Reply to meowth
2009-11-23 10:23:09

Кстати, постепенно это ситуация измениться. Когда рынок насыщается (перенасыщается), то все становится на свои места.

Comment by meowth Subscribed to comments via email
Reply to Victor Ronin
2009-11-24 03:46:52

Хорошо бы.
Однако пока что я вижу, что рынок борется с перенасыщением так: разработку просто переносят в Украину и Белоруссию — объективно там девелоперы не такие охреневшие по части запросов, и соотношение “польза/(понты*компенсация)” выше

Comment by Victor Ronin
Reply to meowth
2009-11-24 10:08:33

Даже это должно слегка помочь.

В конце концов любая индустрия устаканивается.

 
 
 
 
Comment by Victor Ronin
Reply to Anton Naumov
2009-11-23 10:22:35

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

Есть два минуса
а) В толпе липовых Senior Developer’ов очень тяжело выделиться в момент когда работа еще не начала. Так, что вместо нас хороших, могут выбрать их тупых.
б) Товарищи с липовыми погонами прививают заказчикам и менеджерам плохие привычки.

 
 
Comment by Pavel Subscribed to comments via email
Reply to the post
2009-11-23 05:52:08

А вот из моей практики:

Заказчик пожаловался на сбой в работе софта, но отказался описывать что произошло т.к. “процесс который мы запускали – intellectual property, и по сему разглашению не подлежит”. И естественно никаких логов не предоставил.

Comment by Victor Ronin
Reply to Pavel
2009-11-23 10:23:30

Здорово :)

 
 
Comment by Pavel Subscribed to comments via email
Reply to the post
2009-11-23 11:15:52

Может немного не в тему, но мозг был съеден качественно и без остатка.

Заказчик жалуется на низкую производительность приложения, привлекает своих сисадминов которые быстро находят корень зла: “В Task Manager обнаружен System Idle Process который использует 99% ресурсов CPU”

Comment by Victor Ronin
Reply to Pavel
2009-11-23 11:26:48

Чертов System Idle, снести его нафиг… ;)

 
 
Comment by Anonymous Subscribed to comments via email
Reply to the post
2009-11-24 07:04:33

“в проекте можно исправить ВСЕ ошибки” – это реально возможно, но стоит бешеных денег и многих лет. Можно доказать, что в проекте нет ошибок. Есть пример – но единственный :)

Comment by Victor Ronin
Reply to Anonymous
2009-11-24 10:06:42

Попрошу примеры в студию

 
Comment by Митька
Reply to Anonymous
2009-12-01 06:36:01

Программа Hello World?

 
 
Comment by Mark Subscribed to comments via email
Reply to the post
2009-11-25 17:11:15

Один мой знакомый как-то выкинул то, что писалось другим программистом в течении полугода и за полдня заменил это известной библиотекой. При этом пропали все (ну может не все, но много) глюки, а скорость работы возросла в разы… Однако человек regexp-ы изобрести пытался.

Comment by Victor Ronin
Reply to Mark
2009-11-25 20:43:48

О да ;) ) Regexp’ы с нуля написать – это некисло.

Кстати, в одном из проектов обнаружил 4 самописанных метода логирования (написанные разными людьми). Каждому в лом было видно разбираться в глюках чужого.

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

 
 
Comment by Pavel Subscribed to comments via email
Reply to the post
2009-11-26 03:56:33

Взяли мы как-то на работу тестировщика для автоматизации тестирования. Не студент, 2 года опыт работы программистом.

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

т.е. если все условия выполняются то перейти в другое состояние.

Скрипты надо было перевести на Python.

Новый специалист с энтузиазмом взялся за работу, трудился не покладая рук и обещая “завтра” показать кое-что работающее. Ни с кем не консультировался, от помощи отказывался. Через две недели начальство начало нервничать из-за отсутствия результатов и потребовало отчет о проделанной работе.

Оказалось что товарисч взял старые скрипты и ПОПЫТАЛСЯ ЗАПУСТИТЬ ИХ В PYTHON. 2 недели было потрачено на эксперименты типа “а что будет если в конце каждой строки поставить точку с запятой”.

На вопрос “как ты дошел до такой жизни” было отвечено что кто-то на офисе обмолвился что задача простая и старый язык похож на Python.

Самое смешное что человек прошел испытательный срок и продолжил радовать нас новыми свежими идеями.

Comment by Victor Ronin
Reply to Pavel
2009-11-26 12:34:58

Класс :) )) Просто отличная история.

 
 
Comment by Pavel
Reply to the post
2009-11-27 03:15:24

Инженер-оптик получил задание:

Спроектировать систему освещения в которойугол падения света будет равен углу отражения.

Comment by Victor Ronin
Reply to Pavel
2009-11-27 11:11:52

забавно ;)

 
Comment by Митька
Reply to Pavel
2009-12-01 05:52:34

Архисложная задача :D

 
 
Comment by Митька
Reply to the post
2009-12-01 05:51:29

Идиотов везде хватает, не только в земле русской. Буквально вчера смотрел Топ Гир года эдак 2005-06. Кларксон гонял на обновленном (тогда в 2006) Doge Viper. Для тех кто в танке – вайпер двухместный. Так вот, и в инструкции, и в предупреждающих наклейках на козырьках, и на наклейках в дверных проемах было написано “Дети будут в большей безопасности если посадить их на заднее сиденье”. Кларксон завис на пару секунд, я даже подумал, что он выдаст классическое Задорновское “ну тупые!”, но кларксон политкорректно скривил рожу, и задал риторический вопрос “Интересно, а где они найдут заднее сиденье в двухместной машине?” Конечно, можно оправдать это тем, что наклейки на весь модельный ряд лепятся одинаковые, и инструкции тоже однотипные. Но весь дебилизм ситуации в том, что вайпер – машина совсем недешевая и очень сильно отличается от остального модельного ряда Dodge. Так что дизайнерам и проектировщикам можно было бы позаботиться о соответствии инструкций и наклеек реальному автомобилю.
А вообще среди развитых стран, по степени концентрации дебилов США занимает ведущее место. А вообще, почитайте блоги русских эмигрантов в США. Разрыв мозга гарантирован!

Comment by Victor Ronin
Reply to Митька
2009-12-01 10:52:51

Да я и есть русский эммигрант в США, так что далеко ходить не надо, чтобы читать их блоги.

С тем, что концентрация дебилов в США больше – готов спорить.

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

Да и вообще, дебилизмом выглядят те вещи, которые мы плохо понимает. Условно говоря, когда в США на консерве пишут с одной стороны – открывать тут, а с другой стороны – открывать другую сторону. Звучит как дебилизм – и так догадаться можно. Но опять же, эту фразу не просто так выдумали.
Какой-нибудь чудак открыл не с той стороны и открывая порезал себе … ну скажем палец. А потом судил компанию, о том, что она блин не предупреждает о том с какой стороны надо открывать. Компания даже суд выиграла, но почесала голову и решила, что им проще добавить еще одну надпись, чем судиться.

Comment by Митька
Reply to Victor Ronin
2009-12-02 01:11:26

Насчет концентрации не буду спорить, вам с места событий виднее :) Свое мнение я высказал исходя из тех же эмигрантских блогов. Может я не то читал? Но штатовскую народную забаву судиться со всеми подряд считаю натуральным дебилизмом.
А вот универсальные наклейки на додж зря прилепили. Я подам на них в суд, потому что я хотел обезопасить своих детей, искал там задние сиденья пол дня, опоздал на работу и получил убытки! :D

Comment by Victor Ronin
Reply to Митька
2009-12-02 09:21:00

На самом деле возможность судиться – это очень даже хорошо. Условно говоря, купил кто-то ну скажем стиралку, подключил ее к электричеству, а она сгорела.
Оказывается, что она должна подключаться не к сети 120В, а не 220В, а в документации это не написано.

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

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

Компенсации за опоздание на работу и моральныц ущерб, насколько я знаю сложнее получить.

Да и в целом судятся не все со всеми, а скажем 1% населения. Этого достаточно, чтобы фирмы думали о потенциальных последствия.

Comment by Митька
Reply to Victor Ronin
2009-12-02 09:47:37

Согласен. Если имеет место откровенное кидалово – только суд! Ну или комитет по защите прав потребителей (не знаю, есть в штатах подобная организация?).
Но вспоминается один из классических образчиков маразма – надпись на макдональдсовских стаканах для кофе “Осторожно! Горячее!” А все из за одной тетки, которая якобы не знала, что кофе горячий. У этой тетки с головой все в порядке?

Comment by Victor Ronin
Reply to Митька
2009-12-02 11:13:20

Естественно перегибы всегда есть. Это обратная сторона медали. Но суммарно, как по мне, эффект положительный.

 
 
 
 
 
 
Comment by Митька
Reply to the post
2009-12-01 06:34:35

А вот из области 1С и другой околонаучной фантастики. Есть в России одна контора, называется Рарус. Заниматься поддержкой их конфигураций – одно удовольствие! (здесь должен быть бьющийся головой об стену смайлик)(а здесь блюющий смайлик) Перед открытием конфигуратора стоит хряпнуть стакан водяры, чтоб не так страшно было. О том, что этот код – сплошные макароны я промолчу. Создается впечатление, что код писали слепоглухонемые индусы. 1сники знают, что у всех объектов и форм есть стандартные обработчики типа ПриОткрыти, ПередЗаписью и т.д. В рарусе это интерпретировали по своему, и теперь не зависимо от того используется обработчик или нет, в КАЖДОМ вставлена заглушка:

Процедура ПриОткрытии()
// Зарезервировано
КонецПроцедуры

 
Name
E-mail
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.
Please enter word "captcha":

Trackback responses to this post