Як пояснити непрофесіоналу, чому розробник не повинен перебиватися під час шифрування коду? [зачинено]


92

Якщо ви просто розглядаєте другу частину мого запитання "Чому розробник не повинен перебиватися під час шифрування кодуванням", це не раз обговорювалося розумними людьми. Хек, навіть співзасновник SO, Джоел Спольський, написав допис у блозі про те, щоб "потрапити в зону" та "бути вибитим із зони", і чому потрібно в середньому 15 хвилин для досягнення продуктивності при участі в комплексі, завдання, пов'язані з розробкою програмного забезпечення. Тому я думаю, чому це було встановлено.

Мене цікавить, як пояснити все тому, хто не знає бобів про Beans (кхм, я маю на увазі розробку програмного забезпечення). Як сказати дружині, або смішному хлопцеві з бухгалтерії на робочому місці, або давно знайомому, який коментує вас по Skype кожні 30 хвилин за допомогою "Wazzzzzzup ?!", що всі перерви мають набагато глибший вплив на вашу роботу, ніж очевидних 30 секунд, які вони забрали у вашого часу. Очевидно, ви не можете пояснити це реченнями на кшталт "Я маю жонглювати безліччю змінних імен у моїй короткостроковій пам'яті", якщо ви не хочете стати об'єктом пустих поглядів чи дружнього зловживання.

Я хотів би мати можливість пояснити все це, що не розробники, таким чином, щоб вони чітко зрозуміли - не будучи образливими, елітарними або надто технічними.

EDIT: Дякую всім за чудові уявлення. Я прийняв відповідь EpsilonVector, оскільки його аналогія була найбільш близькою до моїх первісних потреб. Пояснення «засинання» не є ні образливим, ні технічним, майже будь-хто може пов’язати це, і наслідки того, що заважати під час засинання або під час перебування в зоні, дуже схожі: ви відчуваєте розчарування і «втрачаєте» 15-20 хвилин часу.


36
Нехай вони починаються від 0 і нараховують до дуже великої кількості, в середині шляху через крик ! білочка!
Тім Пост

8
Безумовно, що стосується більшості професій, спробуйте зупинити середній потік хірурга.
ozz

24
вийдіть по скайпу на роботу.
Джош

6
"не ображаючи", я знав, що десь є улов. :)
biziclop

7
@Josh На роботі ми використовуємо Skype для взаємодії у взаємодії. Нам це потрібно відкритим. У мене є окремий робочий рахунок, але ви все ще стикаєтесь з цими питаннями.
Меттью Шарлі

Відповіді:


124

Спробуйте наступні аналогії: Перша: "Скільки часу вам потрібно засинати?" "Хвилини" "Тепер уявіть, що коли ви близько засинаєте, хтось заходить у вас і перебиває вас, скільки часу вам потрібно буде заснути зараз? Ці кілька секунд у вас залишилось, або вам доведеться починати знову" тонути назад туди, де ти був? " "Мені доведеться почати заново" "Чудово. Те саме. Так само, як і засинання, мені потрібно деякий час, щоб" зануритися "в режим фокусування, і мені потрібно деякий час, щоб повернутися до нього, як тільки я перерваюся, за винятком того, що я також забуваю половину того, що робив ".

Другий: "Ви знаєте, як читаючи книгу, ви занурюєтесь у неї" - через деякий час ви навіть не помічаєте слів, і ви блокуєте все навколо себе і повністю занурюєтесь у ментальні образи розумієш." "Так." "Скільки часу вам потрібно дістатися?" "Близько Хвилини" "Тепер уявіть, що коли ви занурені в книгу, хтось заходить у вас і перебиває вас, скільки часу знадобиться вам, щоб повернутися до цього? Це відбудеться негайно, або вам доведеться починати знову" тонути назад туди, де ти був? " "Мені доведеться почати заново" "Чудово. Те саме. Як і з читанням, мені потрібно деякий час, щоб" зануритися "у режим фокусування, це так само прикро, коли хтось вирве мене з нього,


14
+1 відмінний, відмінний, особливо "засинаючий". Саме таке пояснення я шукав.
András Szepesházi

1
Може не допомогти - я можу впасти прямо спиною, щоб нормально спати ...
Арман

1
@Alison Я не знаю про те, що не може, але є багато людей, які не читають, а значить, не можуть стосуватися другого пункту.
Меттью Шарлі

3
Люблю метафору засинання, але я не буду використовувати це для того, щоб пояснити свою роботу дружині найближчим часом! ;>
dthorpe

7
Не будіть програміста alexthunder.livejournal.com/309815.html
Кріс Нава

30

Я не вважаю, що стан поваги, який описує Джоел, є технічним. Це та сама зміна правого мозку, яку відчуває кожен, коли малює чи потрапляє під заклинання справді хорошої книги. ("Малювання з правого боку мозку" Бетті Едвардс ідеально описує це.) Кожен відчув це почуття зосередженості, коли вам не відомо про проходження часу.

Я думаю, що це поблажливе життя, щоб уявити, що це те, що розуміють лише технічні люди, що концепцію потрібно скинути, щоб не розробники зрозуміли. Просто поясніть простою мовою - вони отримають це.


17
З мого досвіду, вони не потребують цього - вони можуть сприймати це як факт, але все ще не можуть з цим ставитися. Для більшості людей, яких я знаю, робота - це лише робота, яку можна будь-коли припинити або продовжити.

3
Не люди, з якими я розмовляю. На мій досвід, кожен, хто виконує роботу, яка виконує завдання, що не ротують, міг би бути ідеальним. Можливо, ти розмовляєш із занадто великою кількістю людей, які виконують завдання на грі.
duffymo

3
@duffymo: Хм. Я не вважаю торгового представника, який пише індивідуальну пропозицію для замовника, який виконує завдання на замовлення. І все-таки, якщо я переберу його, вона / вона втратить максимум півхвилини, поки не повернеться на трасу. Саме це я і мав на увазі - більшість робочих місць набагато простіше призупинити / продовжити, ніж у нас. ІМХО.

5
Це питання про те, скільки ви втрачаєте держави. Програмістам, як правило, потрібно зберігати цілий стан програми в голові під час кодування, але інші професії, які передбачають більше написання, зберігають стан документа, який вони створюють. Який стан легше відновити?
Майкл К

2
Думаю, багато що залежить від того, чи справді людина відчуває стан потоку під час своєї роботи (або вільного часу). Якщо вони коли-небудь це зробили, вони краще зрозуміють, що ми маємо на увазі.
Péter Török

23

Перенаправляйте свою внутрішню нитку до словесного вводу, тобто обертайтеся, коли вони перебивають вас і продовжують бурмотіти код і дивляться на середню відстань, поки вони не здадуть і не відійдуть. Якщо вони розмовляють, просто бурмотіть голосніше.


16
LOL це добре, але, безумовно, призводить до розлучення, якщо перебивачем є дружина.
András Szepesházi

Це, безумовно, швидший, ефективніший підхід! : P
Робін Мабен

16

Скажіть їм, що кодування (або вставте сюди іншу активність з високою концентрацією) - це як бути виконавцем цирку, який робить спінінг-плити .

Спочатку ви почнете, обертаючи одну тарілку на палиці, дістаньте це, потім почніть крутити другу тарілку, продовжуйте це, повертайтеся до першої тарілки, дайте їй трохи додаткового віджиму, щоб продовжувати її, потім почніть крутити третю тарілку , продовжуйте роботу, потім поверніться до другої пластини, трохи додаткового віджиму, першої пластини додаткового віджиму, третьої пластини додаткового віджиму, потім почніть крутитися четвертої, і т.д. і т.д.

Потім телефон дзвонить і всі пластини падають.

Стан потоку минув. Тепер ви повинні почати все спочатку. Отримайте одну обертальну тарілку ...

Мені подобається думати про кожну табличку як шматок даних, змінної, концепції, стану тощо, які вам доведеться підтримувати в голові.


13

Кілька місяців тому мені довелося хтось зайти в мій куб і витягнути мої навушники, поки я кодував. Внутрішню лють осторонь, мій підхід полягав у тому, щоб пояснити, що часто програмісти заглиблюються в логічну думку, яка вимагає іншого і концентрованого підходу до мислення, і що раптом переривання може дійсно зіпсувати процес думки. З цією людиною це ще не сталося, тому, можливо, це спрацювало. Ще одна річ, яку ви можете розглянути, - це знак зайнято / вільно. У мене є друг, який робить алгоритми, і у нього є двосторонній знак, який говорить "Кодування - не перебивайте" з одного боку та "Безкоштовно спілкуватися" з іншого. Усунення неоднозначності є ключовим тут.


16
Поки ви залишаєте "Безкоштовно спілкуватися" стороною, яка займає достатньо часу. Якщо сторона "Не перебивайте" завжди вгору, ви, можливо, взагалі не маєте знаку ...
Дін Хардінг

4
Здається, це стане дратувати, змушуючи весь час перевертати знак.
Ніхто

3
Ви могли б замість знаку мати шапку для мислення. Кожного разу, коли ви надягаєте свою задумку, люди не повинні перебивати вас.
Мурашка

3
Чи не означає "Безкоштовне спілкування" (для менеджерів): "Мені не вистачає роботи"?
badgerr

8
На моєму робочому місці наш незадокументований індикатор "в зоні" - це наявність навушників. Бос сказав: "навіть якщо ви нічого не слухаєте, надіньте їх, якщо ви зосереджуєтесь. Ми вважатимемо, що ви зайняті".
JYelton

12

Гаразд, я додаю свою власну відповідь (я знаю, що це трохи сумно, але, можливо, це проливає трохи додаткового світла на те, на що я мав на меті).

Я сказав наступне тому, хто мене перервав нещодавно у поганий час: "Розробка програмного забезпечення - це як вперше в житті їхати на автомобілі по дуже зайнятій дорозі. Вся ваша увага зосереджена на колесі, педалях і машинах поспішаючи навколо вас, і ви просто не маєте зайвої уваги для приємного чату. Якщо ви почнете зосереджуватися на тому, що стосується чату, ви неодмінно втратите контроль над машиною, і ви опинитеся в аварія ".

З цим людина могла ставитися, але це далеко не хороша аналогія. Якщо мене перервуть, наслідок буде сильно відрізнятися від нещасного випадку. Я займаюся розробкою sw протягом двох десятиліть, тому чому я порівнюю це з тим, що робиться вперше. І так далі.


1
Це хороша аналогія. Просто зніміть частину "першого разу" і підкресліть, що це дуже зайнята дорога, з великою кількістю перехрестя, світлофорів, вантажівок і велосипедів. Тим більше, що на перехресті добре представити всі рішення, які ви повинні прийняти, не знаючи завжди, що може вдарити ваш автомобіль за розі.
Горан Йович

Я не думаю, що це хороша аналогія, і я думаю, що ви це визнаєте самі, але якщо це змусить їх поважати ваш час розвитку, тоді використовуйте це.
Бернард

Це непогано.
Марсі

4
Просто додайте, що у спині вже троє кричущих дітей, які ви з усіх сил намагаєтесь ігнорувати (усі власні природні відволікання).
Benjol

7

" Mihaly Csikszentmihalyi on flow " - це хороший TED. Поговоріть про цю ідею бути дійсно продуктивним за певних умов, які можуть або не сподобаються людям. Не забувайте, що для деяких людей вони ніколи не захочуть зрозуміти пояснення, і, таким чином, це як бити мертвого коня рекурсивно ad infinitum.


+1 Я опинився в середині написання відповіді на Flow: en.wikipedia.org/wiki/Flow_%28psychology%29
StuperUser

+1 Окрім хорошого посилання на потік, я вважаю, що частина "рецидивуючого побиття коня рекурсивно ad infinitum" просто весела.
András Szepesházi

4

Я називаю це трансом програмістів. Тут є багато хороших аналогій, тож що ще одне? Як було сказано раніше, програміст подумки орієнтується на декілька різних логічних потоків, поки правильний не представиться. ТОГО він записується в код і зберігається на комп’ютері.

Отже, скажіть, ви пишете курсовий або важливий документ. Думки переливаються словами в комп'ютер, але ви ще не зберегли зміни. Тоді пуф, живлення йде або комп'ютер виходить з ладу. Повернення всього цього забирає стільки ж часу чи довше і ніколи не буде таким, як оригінал. (Скільки з нас, старих таймерів, що трапилось?)

Це те, що відбувається з кодом у вашій голові, коли його переривають. Думки неміцні, як дим. Якщо вони ще не були врятовані і щось порушує їх, вони пішли.


Мені це подобається найкраще, тому що багато людей це зрозуміють, і тому що він достатньо виражає, що не потрібно буде 15 хвилин, щоб повернутися в нього, це займе більше часу, ніж перший раз, і з гіршими результатами.,
orbfish

3

Шановний шановний CoWorker, прагнучи стати ефективнішим, я зосереджуюсь на своїй роботі та відповідаю на запитання електронною поштою в моменти між роботою, щоб мінімізувати перерви, щоб краще служити вам та назвою компанії _ . Будь ласка, напишіть мені електронною поштою, і я повернуся до вас, як тільки зможу. Дякую.


2

Якщо ви слухаєте музику, поставте знак, який щось говорить по лінії

Headphones on? Please do not interrupt.

Це ефективно лише в тому випадку, якщо хтось читає, і ви не завжди маєте навушники.


Для мене це було б навпаки. Слухання музики та глибока зосередженість не підходять мені.
CodesInChaos

2

Я вважаю це великою павутиною складних зв'язків, які мені доводиться будувати на увазі, структурою взаємозв'язків взаємозв'язків, які впливають один на одного різними, не завжди очевидними способами, всі вони повинні бути зрозумілими і чітко збереженими. у фокусі, коли я пишу код. Створення цього веб-сайту займає від 5 до 15 хвилин для проекту, з яким я досить добре знайомий, і в декілька разів, ніж для одного менш інтимного.

Коли моя концентрація перервана, веб починає руйнуватися, і якщо перерва триває більше декількох секунд, або я вимагаю думати про якусь іншу, навіть трохи складну річ ("Коли сервер минулого тижня знизився, що ти зробив скажіть замовнику? "), веб повністю згортається. Коли перерва закінчилася, я повинен будувати всю мережу знову, в основному, з нуля.

Якщо на створення Інтернету знадобиться 10 хвилин, і мене переривають лише 2 хвилини три рази на годину, вам потрібно зрозуміти, що замість кодування протягом 50 хвилин години я отримую лише 24 хвилини роботи. Ці 3 крихітні перерви скоротили мою продуктивність навпіл .


1

Про це минулий Devoxx розповів Ніл Форд. Про це він написав книгу: Продуктивний програміст. Він пояснює поради щодо вимикачів "потоку". Якщо ви перебуваєте в потоці, ви знаходитесь у точці, де ви найвищі. Але якщо ви перерваєтесь, вам знадобиться + -20 хвилин, щоб повернутися в потік.

Ви можете пояснити їх, якщо ви виходите зі свого потоку, ви пам'ять з випадковим доступом у своєму мозку втрачає дані про те, що ви працюєте, і вам потрібно 20 хвилин, щоб повернути дані у себе в оперативній пам'яті;)


Якщо говорити про випадковий доступ та втрату пам’яті, то це перемагає мета «не бути технічною», я думаю.
András Szepesházi

0

Зазвичай я встановлюю такий статус своїм клієнтам чату:

Я на роботі, і оскільки я не можу робити багато завдань, будь ласка, не турбуйте мене ...

Принаймні, здається, це зробити трюк із

давній друг, який коментує тебе по Skype кожні 30 хвилин за допомогою "Wazzzzzzup ?!"


1
Ви знаєте, що можете перейти в режим офлайн або просто вийти із свого клієнта чату, скайпу тощо.
Spoike

@Spoike Не, якщо ІМ також використовується для роботи, як це прийнято.
Ерік Вілсон

1
@EricWilson Зареєструйте інший обліковий запис, щоб використовувати його на роботі, і не кажіть давньому другові, який надсилає вас по Skype кожні 30 хвилин за допомогою "Wazzzzzzup ?!"
Даніель Бек

@EricWilson: Якщо ви хочете зосередитися на своїй роботі протягом певного часу, ви все одно можете вимкнути або вийти з ладу / електронної пошти, навіть якщо вона використовується для роботи. Мені вдалося це зробити в місцях, де я працював.
Спойк

0

Ви можете спробувати пояснити, але ви також можете спробувати це:

Ви перебиваєте їх , поки вони роблять щось, що вимагає глибокої концентрації, будь то читання, перегляд фільму, обчислення чи ще краще щось підрахунок. Тоді, все, що вам потрібно пояснити, - це саме так для вас, коли вони перебивають вас. Слід зробити трюк. Тільки будь ласка, не турбуйте їх під час водіння чи щось подібне :).


Комусь очевидно не подобається мій підхід до проблеми, але іноді єдиний спосіб - це пояснити на прикладі . Особливо, якщо тема незрозуміла для людей, яким ви її пояснюєте.
Горан Йович

Це не схоже на пояснення на прикладі. Це звучить як "помстися".
Марсі

0

Я не пояснюю. Я люб'язно повідомляю їм, що переривання просто додало 6 тижнів до розкладу.


4
Ця пропозиція йде так само, як "будьте грубі, і люди перестануть вас турбувати". Це може бути ефективним, але це не гарний спосіб працювати в команді.
Марсі

Я не вірю, що «хороший спосіб роботи в команді» був визначений як вимога :) Як я розумію, питання було спрямоване на перебої - які можуть бути, а можуть і не бути ортогональними для членства в команді.
Кидок1986

0

Що я роблю в офісі, - це знайти ходдеські плями (приховування плям) у різних відділах офісу, таким чином ніхто не знає, де ти є, і не може тебе заважати, але якщо це не варіант, просто знайди знак і поясни, що якщо тільки це не має життєво важливого значення, не турбуйте!


0

Я не знаю про інше, але для Skype принаймні я б запропонував використовувати режим "Не турбувати". І якщо ви повинні використовувати його для спілкування на роботі, маючи другий обліковий запис лише для роботи, яким ви не ділитесь ні з ким, не хочете заважати вам на роботі :)


0

Це не повинно бути складним. Щось таке просте і неприязне, як "я працюю над тим, що вимагає великої концентрації. Чи можна це помістити в електронний лист? Я обіцяю переглянути це, як тільки я закінчу тут".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.