З мого досвіду: ніколи не займайтеся грошима для членів сім'ї, з якими вам доведеться проводити канікули чи друзів, яких ви хочете зберегти. Одна з залучених сторін завжди буде відчувати, що інша сторона або стягує занадто багато коштів, або недостатньо платить, і що вони зробили другій стороні послугу. Коли настає термін, вони, як правило, найменше розуміють, і вони зазвичай беруть дупу під час бета-тесту, тому що якщо у вас є помилка - яку ви будете - вони не зрозуміють. Це завжди безлад.
Раніше я був ідеалістом і вважав, що всі інші просто потребують кращих навичок людей, але ні, це просто так. Люди, які не розуміють процес розробки програмного забезпечення, ВИНАГИ будуть зникати, коли щось не виправдає їх очікування в перший момент, коли вони це побачать. Це вірно в бізнесі з керівниками проектів настільки ж, як і з членами сім'ї. Проблема полягає в тому, що ви повинні підтримувати стосунки з родиною та друзями, і речі ніколи не є суто діловими.
Однак, якщо проект збирається підвищити рівень стресу, і вам не потрібні гроші, то навіщо його брати? Особливо, якщо у вас вже є робота з розробки програмного забезпечення, якою ви хочете удосконалитись, я б сказав, що ви повинні присвятити якнайбільше своїх робочих зусиль, щоб бути відмінним у своїй щоденній роботі, тому що саме там ви в кінцевому рахунку будете винагороджені за якісну роботу.
Якщо вам потрібні гроші, і ви все гаразд з потенційною втратою сімейного друга, тоді прийміть роботу. Найгірше, що могло статися - окрім речей, про які я згадував раніше, - це те, що ти дізнаєшся, що ти є і в чому не добрий, або ти дізнаєшся, що кусаєш більше, ніж можеш жувати, спричиняючи проект поганий головний біль через вашу недосвідченість. Я робив це двічі на своїй нинішній роботі - на щастя, я дуже розумію роботодавців. Хоча це було нещастям, поки я почувався мертвим у воді, я з'явився набагато кращим програмістом із значно ширшим набором навичок, ніж раніше.
Немає обчислення для того, щоб визначити, які робочі місця відпустити та зберегти, лише досвід та ваша особистість. Вам просто потрібно вирішити, що ви цінуєте, і робити це. Що слід врахувати:
Це проект, над яким мені сподобається працювати? Чи є команда командою, з якою мені сподобається працювати?
Яку плату вони пропонують? Якщо ні, то який професійний розвиток я отримуватиму? Чи пропонують вони якийсь тип спільного ризику (тобто опціони акцій, відсоток прибутку)? Це для мене великий переконанець.
У будь-якому разі, це лише принципи, які потрібно використовувати при прийнятті рішень. Все залежить від того, що ви цінуєте. Наприклад, я ціную інтелектуальні виклики та час зі своєю сім’єю, тому, як правило, я ставлю першочерговий пріоритет на те, що таке проект, та навички, які я навчусь робити в цьому. Однак я також обов'язково констатую, що я працюю лише 2 або 3 ночі на тиждень, щоб я міг проводити час з дружиною та дітьми, оскільки я вже цілий день працюю. Я коригую термін, щоб задовольнити цю вимогу. Якщо їм це не подобається, я не беру на роботу.
Що б ви не робили, переконайтесь, що ви чітко заявляєте, що будете і чого не будете робити, і переконайтесь, що вони чітко заявляють свої очікування, перш ніж приймати роботу. Найгірше, що може трапитися, - це те, що клієнт не змінив свої очікування, і ви занижили ці очікування.
PS Дуже хочеться, щоб я прочитав цю статтю раніше в кар’єрі. Це стосується мого останнього пункту. http://www.joelonsoftware.com/articles/fog0000000356.html