Dalla mia esperienza: mai lavoro che coinvolge denaro per i familiari che devi trascorrere le vacanze con o amici che vuoi mantenere. Una delle parti coinvolte avrà sempre la sensazione che l'altra parte stia caricando troppo o non pagando abbastanza e che abbia fatto un favore all'altra parte. Quando arriva la scadenza, di solito sono la meno comprensiva, e di solito sono buchi di culo durante il beta test perché se hai un bug - che vuoi - non capiranno. È sempre un casino.
Ero idealista e pensavo che tutti gli altri avessero bisogno solo di migliori capacità delle persone, ma no, è proprio così. Le persone che non comprendono il processo di sviluppo del software saranno SEMPRE sconcertati quando qualcosa non soddisfa le loro aspettative nel primo momento in cui lo vedono. Questo è vero negli affari con i project manager tanto quanto con i membri della famiglia. Il problema è che devi mantenere una relazione con familiari e amici e le cose non sono mai strettamente aziendali.
Detto questo, se il progetto sta per aumentare i livelli di stress e non hai bisogno di soldi, allora perché prenderlo? Soprattutto se hai già un lavoro di sviluppo software su cui vuoi eccellere, direi che dovresti dedicare gran parte del tuo impegno lavorativo all'eccellenza nel tuo lavoro diurno perché è lì che alla fine sarai ricompensato per un lavoro di qualità.
Se hai bisogno dei soldi e stai bene con la potenziale perdita di un amico di famiglia, allora prendi il lavoro. La cosa peggiore che potrebbe accadere - a parte le cose che ho menzionato prima - è che impari cosa sei e non sei bravo, o impari che hai morso più di quanto puoi masticare causando un brutto progetto mal di testa a causa della tua inesperienza. L'ho fatto due volte con il mio attuale lavoro - fortunatamente ho dei datori di lavoro molto comprensivi. Sebbene fosse infelice mentre mi sentivo morto nell'acqua, emisi un programmatore molto migliore con un set di abilità molto più ampio di prima.
Non esiste un calcolo per determinare quali lavori lasciare e mantenere, solo l'esperienza e la tua personalità. Devi solo decidere cosa apprezzi e perseguirlo. Cose da considerare:
Questo è un progetto su cui mi piacerà lavorare?
La squadra è una squadra con cui mi divertirò a lavorare?
Che tipo di pagamento offriranno?
Se nessuno, allora quale sviluppo professionale riceverò?
Offrono alcun tipo di rischio condiviso (vale a dire opzioni azionarie, percentuale di profitti)? Questo è un grande persuasore per me.
Comunque, questi sono solo i principi da usare nel processo decisionale. Tutto dipende da ciò che apprezzi. Ad esempio, apprezzo le sfide intellettuali e il tempo con la mia famiglia, quindi di solito attribuisco un'alta priorità a ciò che è il progetto e alle abilità che imparerò a farlo. Tuttavia, assicuro anche di dichiarare in anticipo che sto lavorando solo 2 o 3 notti a settimana in modo da poter passare del tempo con mia moglie e i miei figli poiché lavoro già tutto il giorno. Mi adeguo alla scadenza per soddisfare questa richiesta. Se a loro non piace, allora non prendo il lavoro.
Qualunque cosa tu faccia, assicurati di indicare chiaramente ciò che vuoi e non farai, e assicurati che dichiarino chiaramente le loro aspettative prima di accettare il lavoro. La cosa peggiore che può accadere è che il cliente abbia aspettative non dichiarate e che tu abbia sottovalutato quelle aspettative.
P.S. Vorrei davvero aver letto questo articolo all'inizio della mia carriera. Si applica al mio ultimo paragrafo. link