Що може сповільнити розробника? [зачинено]


12

Які речі, як правило, сповільнюють розробника?

Спробуйте утриматися від публікації відповідей, які:


@ Марк Трапп: А ?! Це зовсім не дублікат ...: -S
Tamara Wijsman

1
Якщо питання не виявиться корисним, я його усуну найближчим часом, люди перелічують відволікання, які вже охоплені іншим питанням від мене. Тому я схильний шукати речі, що не відволікають уваги ... TheLQ та Білл - хороші приклади відповіді.
Тамара Війсман

Ага, URL-адреса була заблукала. Дублікат: Які відволікання можуть статися під час програмування?

Вирішили залишити питання відкритим, оскільки мова йде про речі, які не відволікають увагу ...
Tamara Wijsman

11
Stackoverflow, SuperUser, програмісти ... так, в основному такі сайти :)
bedwyr

Відповіді:


49

О, це просто:

  1. Зустрічі
  2. Більше зустрічей
  3. Наради про останню зустріч
  4. Наради для підготовки до майбутньої зустрічі
  5. Розробка презентації Power Point для зустрічі
  6. Розробка презентації точки розсилки для зустрічі, на якій обговорюються функції, які не були реалізовані, не повинні впроваджуватися, і з будь-якої причини цей хлопець із продажів стрибне на всю. Я не можу передбачити, який документ ви хочете відобразити в додатку, залежно від вашого поточного місцезнаходження без підключення до Інтернету чи доступу до вашого жорсткого диска. Ні, насправді, просто відмовтесь про це теж.

4
коротше: управління? ; o)
n1ckp

11
@ n1ck Ні, ні. Гарне управління може пришвидшити розробника. Погане планування часів програміста (тобто один аспект роботи менеджером) може дійсно уповільнити розвиток.
пшениці

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

2
Зверніть увагу, що ця відповідь ледь не підходить на слайді Powerpoint.

44

Тут же проблема
pramodc84

1
Я б купив собі ноутбук якнайшвидше і працюю над цим, якби я опинився в такій ситуації, припускаючи, що компанія дозволяє це ofc.
адамк

Повільні комп'ютери, як правило, є першопричиною відволікання. Кожен раз, коли програміст чекає, що він може перейти в режим відволікання, і не повернеться до програми лише через деякий час.
edA-qa mort-ora-y

Вони замінили мій комп'ютер пару тижнів тому. Він менш потужний, ніж 4-річний, який він замінює. Приємно.
MetalMikester


25

StackOverflow, programmers.stackexchange.com тощо. :)


4
Не згоден! StackOverflow допомагає вирішувати проблеми, тому прискорює розвиток!
Майстер

3
Образна дурість. За кожну хвилину, яку я "витрачав" на SO, він купував мене назад 20.
MIA,

11
+1. зовсім не образливий. Так дуже добре для зволікання. Це мій новий фейсбук. :)
back2dos

@ back2dos Будь ласка, не порівнюйте дивовижність SO із твором .. це facebook.
adamk


15

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

Це можуть бути всілякі речі, але серед поширених я бачу такі:

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

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


13

Політика

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


9

Розмови інших

і шум взагалі

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

У своєму куб-світі мене оточують шум і розмова з усіх боків. Один рядок, команда мейнфреймів проводить постійні зустрічі з планування в кубічному ряду. Іноді вони зустрічаються з консультантами в офісі уздовж стіни, і це, як правило, призводить до гучного гукання, гудіння і сміху, і мені доводиться переходити і просити їх закрити свої двері.

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

Безпосередня і очевидна відповідь « Не можете ви просто отримати навушники для зменшення шуму» не допомагає, коли ви хочете - тиша.

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

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


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

8

Написання занадто багато рядків коду без адекватних тестів.


Це причина номер один у тому, що на моєму досвіді все припинилося.
Paddyslacker

1
@Paddyslacker: тест більш продуктивний? Так? Тільки для людей, які не повинні займатися програмуванням в першу чергу. Тест може бути корисним, але "причина номер один, коли речі перестають"? Ти серйозно?
n1ckp

1
@ n1ck: Так, я серйозно. Код переходить у незбагненний стан, а відсутність тестів та перевіреності бази коду означає, що кожну нову функцію стає все важче та складніше додати. Мені здається забавним, що ти вважаєш, що ти вважаєш, що люди, які пишуть більше тестів, «не повинні в першу чергу займатися програмуванням». Тож Рой Ошерово, Майкл Перо, дядько Боб, Кент Бек тощо не повинні бути тоді в програмуванні?
Paddyslacker

@Paddyslacker: Я не знаю. Ніколи не бачив їх код. Може бути, вони повинні бути кращими в управлінні від вашого опису? І чому саме код стає нездійсненним через відсутність тесту саме? Тест може зробити поганий код чудовим за допомогою якоїсь магії, можливо?
n1ckp

1
@ n1ck, тести не платять при первинному написанні коду, але робить величезну велику різницю, коли доведеться підтримувати код пізніше.

5

Відсутність високоякісної кави.


Або відсутність хорошої соди. Мені так вистачає безкофеїнової дієтичного вишневого коксу! У моїй країні я можу отримати лише дієтичний кокс або коктейль без кофеїну, а не вишневий кокс :-(
Майстер

1
@Wizard - я працюю в компанії, яка надала Дієту вишневого коксу. Не впевнений, чому я пішов. Якщо відчуваєте свій біль.
JeffO

2
@Wizard: просто придбайте банку з вишнею марашино і додайте трохи напою до свого напою. Тепер ви можете зробити його настільки сильним, як вам подобається ... (той самий трюк для ванілі: справжній ванільний кокс набагато перевершує попередньо змішані речі)
Shog9

@Містер. С: Проблема полягає в тому, що мені потрібна дієта + коктейль без кофе, комбінація, яку немає в моїй країні.
Майстер

5

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


Якщо ви зіткнетеся з цим багато, я б запропонував витратити трохи нетривіального часу на вивчення на оцінку. Тоді ви можете відповісти, "якщо це оцінка, це за визначенням не кількість часу, що вона дійсно займе".
МВС

о, я раніше користувався цим, відповідь завжди полягає в тому, що я погано оцінюю, якщо його не можна розбити на видимі 2-4 годинні завдання, то я, мабуть, роблю це неправильно
MetaGuru

5

Виправлення чужої зламаної збірки


здається, що хтось недостатньо виховує свого колеги.
Відображення імені

@bold: це може статися природно через асинхронність. Скажімо, щоденний час відключення побудови - 5 ранку, а ви оновлюєте останню версію о 9 ранку. (Іншими словами, ви не можете зупинити людей рано приходити на роботу.)
rwong

4

Наради без порядку денного.

Повільна машина.

Відсутність другого монітора.

Стара мишка, яка має кулю замість приємних нових.

Відсутність доступу до Інтернету на комп’ютері, боляче запитуючи MSDN / stackoverflow / тощо.


З приводу засідання без порядку денного пов'язаний викрадач зборів. Ви знаєте ... ви ставите його до календаря на годину, але навіть якщо тема завершена через 20 хвилин, там той хлопець продовжує шукати інші теми, щоб заповнити 20 хвилин. Я б схвалив вас, але тоді я повинен був би подати вас на "відсутність другого монітора", як на сповільнення. Це зручно, але відсутність його при нагоді не сповільнило мене.
МВС

4

Витратили занадто багато часу на програмування

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


4

Уникайте всього, що виводить вас із «зони». Це означає, що поштова скринька електронної пошти, ваше спливаюче додаток Twitter, ваш корпоративний чат тощо.

Маючи тихе робочий стан означає , що робочий стіл , уникаючи шуму теж.


3

Будь-який запит на зміну, який було б простіше реалізувати, якби ви знали про це раніше.


"Ходити по воді та розробляти програмне забезпечення із специфікації легко, якщо обидва заморожені"
back2dos

1
Дурна цитата. Ходити по льоду не завжди легко.
Пітер Бауфтон

1
@ Peter Boughton: Якщо ми обираємо масштаб, де розробляти програмне забезпечення з коливаються специфікацій важко, а з заморожених - легко, то ходити по льоду завжди легко. Ви можете навчити 6-річного цього робити. Але я вважаю, що ви це знаєте, ви просто отримуєте задоволення від розумної дупи.
back2dos

І ви можете навчити шестирічного працездатності працювати і з коливаються спекуляціями. Це не розумні оцінки, це роздратування при надмірному використанні цитат, які не є корисними. Заморожені окуляри непросто розробити, якщо вони помиляються (оскільки їх неможливо виправити), а зміна специфікацій чудово, якщо ви заздалегідь знаєте, які деталі знаходяться в потоці (так як ви можете їх задовольнити).
Пітер Бауфтон

3

Поганий код.

Потрібно переписати частину когось іншого, хто міг би виконати роботу в першу чергу, - це найбільший раковина часу, яку я можу собі уявити.


2

Багато що сповільнює вас - хороший пост для цього блогу.

...

Багато проектів повторюють основні функції інфраструктури знов і знов, уповільнюючи цей бізнес, надаючи функції, що відрізняють бізнес від його конкурентів.

...

Неминуче, що продукти та інновації допоможуть скоротити час, який розробники витрачають на недиференційовані завдання. Питання в тому, яку форму приймуть ці служби та інструменти.

...


+1: Чудова відповідь. Я залишив роботу, оскільки компанія не бажала витрачати час на зменшення технічної заборгованості. Розробники змушені були "повторювати основні функції інфраструктури на рівні знову і знову".
Джим Г.

2

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


1
Це здається, що ви говорите про вузькі місця, спричинені занадто тонким розповсюдженням роботи серед членів команди.
МВС

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

2

Відповідаючи на запитання на stackexchange.com, як ця.


Ви можете, можливо, вдосконалити свої навички сенсорного набору тексту.

2

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

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

Відсутність чітко визначених вимог, що призводить до того, що їм доведеться розбирати речі або приймати рішення.


2
  • Доводиться чекати близько 15 хвилин, щоб комп'ютер завантажився в придатний стан
  • Чекаємо, коли ПК переключить програми
  • Будучи єдиною людиною в офісі, якій доводиться самостійно готувати чай / каву.
  • Зламана клавіатура (виправлено!)
  • Робота за межами офісу генерального директора (генеральний директор США) (а також не в офісі), тільки розділом між ними (особливо, коли є зустріч)
  • До начальника можна дістатися лише електронною поштою, але всі інші перебувають у будівлі
  • Не дозволяти використовувати VCS - мабуть, це має бути в моєму мозку
  • Маленький екран
  • Не дозволяючи часу на перерви, крім обіду
  • Необхідно робити резервні копії сервера, незважаючи на наявність системного адміністратора в будівлі
  • Як сказано, робити ці резервні копії вручну.
  • Вимушений використовувати дурну систему управління часом, яка зайво складна
  • Лише просто розпливчасте уявлення про вимоги за два місяці роботи

Я міг би продовжувати, але п’ятниця, і я хочу забути про роботу.


Здається, що вам потрібно вийти звідти!
adamk

2
  • Відсутність документації (Система, Компанія тощо)
  • Відсутність коментованого коду
  • Неповне розуміння системи
  • Політика (тобто зайві зустрічі, оформлення документів, перешкоди з боку керівництва ...)
  • Неповна документація про вимоги
  • Facebook!
  • Занадто багато сну?

1

Занадто багато людей на проекті.

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

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


0

Окрім речей, про які згадували інші, довгий шлях між рішенням скласти та запустити свій код і отримати позитивний / негативний результат . В ідеалі ця RTT була б лише секундою, але я бачив приклад годин. До речі, блок тестування намагається вирішити цю проблему.

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


0
  • Надмірне оформлення документів

  • Залежність від того, кого ніколи немає (наприклад, вашого начальника - якщо вам потрібно задати питання, але він завжди на зустрічах)

  • Недостатній інструмент та обладнання.

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

  • Зламана кавоварка

  • Присвоєння неправильних завдань


0

Кондиціонер не працює.

Так температура в офісі влітку доходить до 40 градусів, взимку - -5.

-5 не підходить для набору тексту, оскільки я не можу носити рукавички та надягати. 40, просто уповільнює моє мислення.


0

Це дуже особиста і, можливо, суперечлива думка, але все-таки планувати і думати над тим, як розробляти наперед або писати "якісний" код. Існує приказка, що "тижні кодування можуть заощадити години на планування", що може бути правдою в деяких випадках.

Однак я часто бачу, як програмісти намагаються замалювати хороший дизайн, перш ніж починати кодування. Я вважаю, що простіше просто «розпочати», коли ви програмуєте, ви дізнаєтесь більше про вашу проблему та рішення, що дозволить швидко переробити рішення на гарний дизайн. Більшість питань, що виникають, є досить незрозумілими на початку кодування (як мінімум, на мій слабкий розум), тому витрачати багато часу на розробку фронту - це лише марна трата часу.

Це також, чому мені не подобається TDD, ви витрачаєте занадто багато часу на написання тестів, що змушує вас або менше шансів перефактурувати, або потребує багато часу для перезаписи тестів. Тести блоків чудово підходять для деяких випадків і деяких етапів проекту, але початок одного не є одним з них IMHO :)

Швидко працюйте і вдосконалюйте це.


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

Хто каже, що це буде погано архітектурно? Я просто кажу, що вам не потрібно надмірної фази проектування, і вам потрібно зробити багато рефакторингу та реструктуризації під час проекту, щоб досягти коду якості. З іншого боку, для цього ви повинні чітко розмежувати кодові обов'язки, коли різні люди не перебираються в коді один одного.
Хомде

Досвід говорить про те, що у нього буде погана архітектура. Політ за сидінням штанів та кодування ковбоя - це, мабуть, найгірші речі, які ви можете зробити під час розвитку. Фаза проектування, яка триватиме тиждень, заощадить місяці програмування та призведе до коду, який робить те, що передбачається вперше. Ідея TDD полягає в тому, що ви не змінюєте тести. Ці тести призначені для імітації зручності використання в реальному світі, і якщо ваш код не може закінчити тест, то ваш код неправильний.
Майк S

Мій досвід говорить інакше, але я думаю, це залежить від ковбоя та команди :) Я дізнався більше за тиждень кодування і зробив якийсь код, щоб показати його. Звичайно, у вас буде погана архітектура, якщо ви не будете займатися екстремальним і постійним рефакторингам і не будете мати команду / ковбоя, який досить спритний, щоб не відставати. Думаючи, що ви можете зробити «фазу дизайну», навчитися всьому і зробити це правильно з першого разу просто наївно. Справжня цінність прототипу - це уроки, які ви засвоюєте, ви викидаєте їх і робите правильно. Зробіть це кілька разів і швидко :)
Хомде

0

Блок програміста : на відміну від інших повільних спадів, це важче вирішити.

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