Як кодувати за дуже щільним графіком?


40

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

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

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

У мене є кілька питань:

  1. Протягом трьох років весь написаний нами код є просто ідеальним кодом сценарію використання (тому він легко ламається). Він погано розроблений і не має одиничних тестів. У мене дуже багато проблем через цей факт. Тому я хочу знати, чи можливо написати код, який працює, коли проект має дуже щільний графік?
  2. Як я можу написати кращий код за ту ж кількість часу?
  3. Як я можу зрозуміти свою думку і не турбуватися про роботу, коли сплю?

9
Пропозиція? Найпомітніший і ти це знаєш !!!
Aditya P

25
Вимкніть телефон вночі. Встановіть обмеження та дотримуйтесь їх. Тут у вас є дві чіткі проблеми, перше - це ваша компанія, яка не поважає, що працівники також мають життя.
Tim Post

34
киньте роботу, отримайте нову. також дізнайтеся, як робити тестування одиниць
mauris

18
Терміни - проблема управління. Якщо терміни завжди такі жорсткі, то їм потрібно працювати над наданням кращих оцінок - не працюйте, як ви любите собаку, аби відповідати тому, що вони думали .
Стівен Еверс

4
Я впевнений, якби EA ігри найняли SnOrfus, він би.
Berin Loritsch

Відповіді:


30

Заборона телефонних дзвінків

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

Це дозволить отримати цінний сон і відпочинок.

Щільний графік

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

Порядок із хаосу

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

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

Що коли

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

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

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

Найважливіша річ

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


6
Не будьте пасивно агресивними з користувачами. Якщо компанія не очікує, що ви відповідатимете на телефон у неробочий час, не робіть цього. Для того, хто чергує, повинен бути інший номер.
JeffO

@Jeff O: Я повністю згоден. Але оскільки це триває вже 3 роки, схоже, очікується відповідати на дзвінки в ці нелюдські години.
Роберт Коритник

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

3
"передзвоніть їм, коли вони сплять" "Люди зазвичай краще розуміють свою мову"; хороший;)
Achu

2
Чесно кажучи, якщо він дістанеться до сценарію "Що робити", найкращим варіантом є лише знайти десь ще роботу. Працювати безперервно 12-годинних днів нездорово (для більшості), а ще гірше, коли ви також знаходитесь у дежурному режимі. Звичайно, він повинен зробити стільки, скільки зможе вирішити проблему, але якщо все інше не вдасться, киньте. Ця ситуація не є стійкою.
Ден Ліонс

14

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

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

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

Продаж очок для вашої розмови з вашим начальником:

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

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


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

2
Якщо цей проект хаотично триває три роки, я вважаю, що фаза технічної роботи триватиме кілька місяців. Спочатку вони повинні припинити розробку нових можливостей, щоб вирішити 20% найбільш проблемних питань (оскільки 80% з них, сподіваємося, рідко стикаються), а потім розпочати рефакторинг. Після цього ви можете почати торкатися інших 80%. Але не починайте розробляти нові функції, поки не вирішите всі поточні проблеми. Чому? Чим раніше ви вирішите помилку, тим дешевше її вирішити. Хоча у вашому випадку вже нічого не здається дешевим.
Роберт Коритник

@Роберт Коритник: Абсолютно. +1
Стівен Еверс

13

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

Дізнайтеся, як сказати "ні"

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


1
Більше всього, це потрібна майстерність. Чудова відповідь!
Джо Z

8

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

Є дві основні проблеми, які потрібно вирішити, перш ніж ви знову зможете ощасливити:

  • Керівництво повинно знати, що те, що вони роблять , не працює . Продовження повторення одних і тих же помилок дасть ті самі результати. Щось має змінити.
  • Вам потрібен час, щоб виправити те, що у вас вже є. Це означає, що вам потрібен час для планування нападу, і вам потрібен час для роботи над ним, використовуючи 8 годин робочих днів.
  • Вам потрібно змінити спосіб роботи. Зрозумійте, що чим більше напруги у вас, тим більше тунельного зору. Ви не можете думати про творчі способи вирішити проблеми або навіть думати про те, що станеться, якщо є проблема, коли у вас такий стрес. Не кажучи вже про те, що у вас підвищений шанс серйозних ускладнень зі здоров’ям. Знайдіть способи звільнення від стресу та знайдіть способи зменшення стресу.

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

Припускаючи, що керівництво почує ваше прохання, ви хочете вжити наступних дій:

  • Зупинка кровотечі. Ніяких нових функцій, а хтось ще обробляє службові дзвінки. Потрібно зосередитись на заданні.
  • Визначте найважчі помилки, які потрібно виправити, і спробуйте розібратися, скільки часу знадобиться для їх виправлення. Це приблизна оцінка, і краще мати більші числа, ніж менші числа. Для обліку зустрічей і перебоїв протягом дня, вашому керівництву потрібна оцінка на основі роботи над ним 5 годин на день. Це залишає 3 години для зустрічей і перерв.
  • Запропонуйте керівництву погодитися з переглянутим графіком цих критичних помилок.
  • Попросіть менеджмент погодитися на тестування когось іншого. Це не визнає, що ти не можеш робити свою роботу. Це просто забезпечує певну гарантію якості, щоб кожен випуск був кращим за останній.
  • Тепер ви їх виправляєте. Напишіть одиничні тести, щоб відтворити проблему, щоб ви знали, коли будете працювати. Що ще важливіше, ви будете знати, якщо щось, що ви зробили в іншому місці, знову зламало. Refactor для поліпшення роботи коду.

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


6

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

Деякі основні показники:

  • Здається, це нереальний графік.
    • Я припускаю, що з боку менеджменту погано розуміють здорові практики розвитку.
    • Я припускаю відсутність розуміння чи підтримки з боку керівництва.
  • Працюючи 12 годин на день.
  • Високий рівень стресу.
  • Нестача сну.
  • Тривога.
  • Недостатня увага до дизайну та якості коду.
  • Відсутність одиниці тестування захисної мережі.

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

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

Як я можу написати кращий код за ту ж кількість часу?

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

Як я можу зрозуміти свою думку і не турбуватися про роботу, коли сплю?

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

Я також вітаю будь-які пропозиції.

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

  • Ідіть до лікаря та обговоріть свої симптоми. Повідомте лікаря, якщо ви втомилися, якщо ви відчуваєте депресію або турбуєтеся більшу частину часу, якщо часто простуджуєтесь та грипте, і як ви відчували себе фізично. Якщо ваш лікар дозволений, вам, швидше за все, вам запропонують ліки проти тривоги або навіть антидепресію. Навіть якщо ви відчуваєте неохоче, залиште гордість у дверях і прийміть їх за призначенням. Вони справді допомагають і дозволяють вам знайти сили вирішувати все, що має бути.
  • Шукайте хорошого психолога, щоб обговорити вашу проблему так, як ви її знаєте, і хто може допомогти вам дослідити, як ви ставитесь до цього, і допомогти вам розробити стратегію вирішення проблеми. Дещо з того, що вас просять зробити, може здатися безглуздим або трохи жадібним. Зробіть це все одно, бо знову ж таки, це дійсно допомагає, особливо в тому, щоб ви навчили конкретно, як очистити свою думку.
  • Уникайте снодійних таблеток, якщо вони вам справді не потрібні, оскільки ви можете стати залежними від них і посилити проблеми зі сном. Особисто я приймаю їх лише тоді, коли мені не вдається виспатися, що мені потрібно після вихідних, і це, як правило, тоді, коли я провів ліниві і невиконані вихідні.
  • Погляньте на зміну свого раціону. Серйозно виріжте кофеїн, оскільки він лише сприяє підвищенню рівня тривоги. Зменшіть свої вуглеводи та збалансуйте свій раціон, і я маю на увазі вживання більше натуральних фруктів та овочів, зменшення кількості споживаного червоного м’яса та зменшення жирів та олій. Виріжте безалкогольні напої та обмежтеся однією чашкою кави в день, якщо вам здається неможливо відмовитися. Дієта має вирішальне значення для того, щоб допомогти вам боротися з втомою. Крім того, їжте останній прийом їжі раніше, щоб не лягати спати на повний шлунок.
  • Виконуйте вправи кожен день. Принаймні напружуйте тренування принаймні один раз на тиждень і ходіть або їдьте на велосипед щонайменше 30 хвилин щодня до моменту, коли відпрацюєте хоча б легкий піт. Це допоможе вам набриднути фізично, що допоможе вам як уві сні, так і при втомі.
  • Змініть свої звички до сну. Намагайтеся рано прокидатися на роботу, тому вам потрібно лягати спати раніше, ніж ви можете відчувати, що хочете. Якщо ви не можете спати, відпочиньте в слабо освітленій кімнаті і прочитайте щось нудне, і не хвилюйтесь, якщо ви не зможете насправді заснути відразу.

Тепер, коли я переглянув усі медично пов’язані речі, давайте розглянемо, що ви можете зробити у своїй роботі:

  • Хтось запропонував використовувати техніку Помадоро. Це також відомо як тайм-бокс, і я думаю, що це гарна ідея. Ви в основному інтенсивно концентруєтеся протягом 20-25 хвилин, потім робите невелику перерву. Я пропоную вам встати і пересуватися приблизно на 3-5 хвилин і дивитися вдалину, щоб відпочити очима. Намагайтеся не думати про свої завдання протягом цього часу. Напийся, поброди до ванної або просто переїжджай у свій кабінет на коротке заклинання.
  • Залежно від стосунків із вашим начальником, знайдіть спосіб зустрітися та обговорити свої занепокоєння, що графік роботи впливає на ваше здоров’я. Повідомте йому, що ви не хочете ризикувати, щоб підвести клієнта компанії, і що ви хочете спробувати розробити стратегію, яка може забезпечити продовження роботи, але це означає, що вам потрібно щоб також вирішити свої проблеми зі здоров’ям. Однак використовуйте це в крайньому випадку, оскільки було б краще пояснити помилкову економіку, яка працює тут, наприклад:
    • Втомилися робітники закінчуються значно зниженою ефективністю, тоді як невтомлені працівники мають можливість зробити більше за коротший проміжок часу, і я б спробував навести деякі цифри та дослідження, які можна використати для резервного копіювання. З хорошим начальником цього вам навіть не потрібно. Наступні статті можуть вам бути корисними: стаття 1 , стаття 2 , стаття 3
    • Пропуск тестування та уваги до деяких дрібниць коштує вам згодом. Розгляньте концепцію технічного боргу як вихідну точку.
  • Постарайтеся скоротити робочий час до 8 до 9 годин на день.
  • Забронюйте період канікул і відійдіть на деякий час тихо. Навіть якщо все, що ви робите, - це заїхати на машині в ліс і провести табір на тиждень. Серйозно, не робіть нічого, щоб зарядити акумулятори.

Що стосується реальних програм, пов'язаних з програмуванням:

  • Прочитайте книги « Чистий код» та « Рефакторинг» та знайдіть час, щоб застосувати методики всередині. Вони допоможуть вам вирішити питання якості коду. Як я вже згадував, здається, що це займе більше часу, але ви витратите менше часу на боротьбу з безладом і проблемами, які виникли внаслідок того, як ви, можливо, працювали раніше.
  • Знайдіть інструменти, які можна інтегрувати у ваше середовище розробки, щоб допомогти вам у ваших зусиллях щодо поліпшення якості коду. Наприклад, якщо ви розвиваєтеся в Visual Studio, використання комбінації таких інструментів, як Resharper і NCrunch, може сприяти масовому підвищенню вашої загальної ефективності, якщо ви їх релігійно використовуєте, і якщо ви вже застосовуєте хороші методи, як описано в згаданих нами книгах .
  • Напишіть одиничні тести та використовуйте тестовий підхід. Це, здається, сповільнить вас найбільше, однак ви прискорите загальний розвиток, коли у вас є тести, оскільки вони можуть сприяти скороченню часу налагодження та додадуть вам впевненості змінити перевірений код. Пишіть свої тести, щоб задовольнити вимоги, а не задовольнити код. Це сконцентрує ваші зусилля на тестування конструктивно, що повинно мінімізувати витрачений час на тестування.

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

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

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


4

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

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

Я б пішов на крок більше і уникав повторення інших робіт. Використовуйте мовні бібліотеки, коли це можливо. Якщо можливо, використовуйте сторонні бібліотеки.

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

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

Вам потрібно буде уникати перебоїв. Кожна перерва коштуватиме вам приблизно 15 хвилин за графіком. Захистіть свій час.

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


4

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

Як альтернативу, ви завжди можете перейти на іншу роботу :-)


2

Відстежуйте все, що ви робите

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

Спробуйте змінити речі

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

Підготуйтеся до того, що може піти час піти

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


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

2

Для любові до Бога, де твій керівник проекту?

Якщо у вас немає менеджера проектів, який допоможе вам встановити продуктивний час, він вам потрібен. Вам потрібна людина, яка присвячена дотриманню часу на розвиток, обмеження повзучості, управління очікуванням тощо ...

Ви займаєтесь творчою роботою на життя. Якщо у вас немає бар'єру між вашими замовниками / користувачами та вами, як ви можете ефективно зосередитись на своєму розвитку?

Гарний прем’єр може бути корисним для багатьох речей ...

1. Щоб грати у карту «Вища сила»:

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

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

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

"Переговори про зміни за межами специфікації вище моєї категорії оплати ..."

Це ввічливий спосіб сказати, я не вважаю ***.

Слідкуйте за цим, клацнувши на них «Собаку повзучого повзуча»

"Якщо ви хочете внести зміни в специфікацію, вам доведеться зв’язатися з моїм прем'єр-міністром"

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

2. Управління очікуваннями 101

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

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

"Ця послуга записана в договорі?"

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

Для компанії, в якій ви працюєте, вам потрібен хтось, хто несе повідомлення ...

"Чи робота, яку мене просять, дорівнює моїй оплаті?"

Тобто, вони платять вам 60 тис. В рік, щоб витратити 50% свого часу, роблячи технічну підтримку по телефону, що є значно нижчою оплатою. Це небезпечна тема для поширення, тому вам потрібен прем'єр-міністр, якому ви можете довіритися, щоб зробити для вас гарний випадок. Аргумент, який ви повинні йому зробити, це ...

"Мені платять 60 000 доларів на рік, але половина моєї потенційної продуктивності витрачається на основну роботу".

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

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

3. Кожен міг іноді використовувати вболівальник

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

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


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

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

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


1

Нічого собі! Тримай коней ковбоєм !. У вас, здається, там все не так. Тут вам не вистачає деяких програмних основ під час кодування. Так, надумайте своїх основ ... життя буде набагато простішим.

Назад до шкільного часу

  1. Швидкий розвиток-приборкання-програмне забезпечення-графіки *
  2. Міфічний чоловік-місяць *

* Обов’язково читати


2
наступне запитання - як закодувати і встигнути прочитати деякі книги за жорстким графіком :-D
Венцислав Райков

1
@Bond - чувак, нам слід було вже прочитати цю книгу, перш ніж починати проект. Якщо ні, нам потрібно усвідомити, що постійне навчання є частиною нашої розробки програмного забезпечення. Ми не повинні вважати, що читання не є частиною нашої щоденної роботи. Ми вже повинні були читати якийсь час щодня. Я думаю, що це право розробника програмного забезпечення проводити частину свого часу за читанням навіть у робочий час. Я особисто бачив, ніж навіть читання всього 5 сторінок на день робить величезний величезний вплив. Початок читання зараз допоможе вам заощадити час у наступному проекті.
Імран Омар Бухш

абсолютно згоден з тобою чоловіче, я читаю щодня. Але я не працюю (я вважаю, що означає код у вищезазначеному питанні) 12 годин на день. Якби я це зробив, я б точно не читав жодної книги. Життю є більше, ніж робота.
Венцислав Райков

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

1

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

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


1

Зараз ви можете зробити це

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

Це буде означати, що принаймні те, що ви робите зараз, було схвалено ДВОМИ особами, сподіваючись покращити ці біти коду.

Що ще можна зробити, залежить від управління. Ви можете показати їм це запитання з відповідями!


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

1

Заборонити телефонні дзвінки та застосовувати суворе правило "помилки переходять лише до трекера помилок". Тоді ваш перший крок за день - це сповіщення нещодавно введених помилок, прибирання пустощів, визначення пріоритетів та прийом до роботи над виправленнями помилок ПЕРШИМ. І переконайтеся, що ваші виправлення помилок фактично виправляють помилку та не вводять нові помилки.

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

Ви насправді не встаєте з ліжка о 3 ранку, щоб вирішити проблеми з кодом, чи не так? Якщо так, ви заслуговуєте на все, що отримуєте.



0

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

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

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