Aus meiner Erfahrung: Arbeiten Sie niemals mit Geld für Familienmitglieder, mit denen Sie Urlaub machen müssen, oder für Freunde, die Sie behalten möchten. Eine der beteiligten Parteien wird immer das Gefühl haben, dass die andere Partei entweder zu viel verlangt oder nicht genug zahlt und dass sie der anderen Partei einen Gefallen getan hat. Wenn die Frist abgelaufen ist, sind sie normalerweise am wenigsten verständnisvoll, und sie sind normalerweise Arschlöcher während des Betatests, denn wenn Sie einen Fehler haben - den Sie werden - werden sie ihn nicht verstehen. Es ist immer ein Chaos.
Früher war ich idealistisch und dachte, dass alle anderen nur bessere Fähigkeiten der Menschen brauchten, aber nein, so ist es eben. Menschen, die den Softwareentwicklungsprozess nicht verstehen, werden IMMER ausflippen, wenn etwas im ersten Moment, in dem sie es sehen, nicht ihren Erwartungen entspricht. Dies gilt sowohl für Unternehmen mit Projektmanagern als auch für Familienmitglieder. Das Problem ist, dass Sie eine Beziehung zu Familie und Freunden pflegen müssen und die Dinge niemals rein geschäftlich sind.
Das heißt, wenn das Projekt Ihren Stresspegel erhöhen wird und Sie das Geld nicht brauchen, warum dann nehmen Sie es? Vor allem, wenn Sie bereits einen Softwareentwicklungsjob haben, in dem Sie sich auszeichnen möchten, würde ich sagen, dass Sie so viel Arbeitsaufwand darauf verwenden sollten, in Ihrem Tagesjob hervorragend zu sein, da Sie dort letztendlich für qualitativ hochwertige Arbeit belohnt werden.
Wenn Sie das Geld brauchen und mit dem möglichen Verlust eines Freundes in der Familie einverstanden sind, nehmen Sie den Job an. Das Schlimmste, was passieren kann - abgesehen von den Dingen, die ich zuvor erwähnt habe - ist, dass Sie lernen, was Sie sind und was nicht, oder dass Sie mehr abbeißen, als Sie kauen können, was dazu führt, dass das Projekt schlecht wird Kopfschmerzen aufgrund Ihrer Unerfahrenheit. Ich habe das zweimal mit meinem aktuellen Job gemacht - zum Glück habe ich sehr verständnisvolle Arbeitgeber. Obwohl es ein Elend war, als ich mich tot im Wasser fühlte, entwickelte ich mich zu einem viel besseren Programmierer mit viel breiteren Fähigkeiten als zuvor.
Es gibt keinen Kalkül, um zu bestimmen, welche Jobs losgelassen und behalten werden sollen, nur Erfahrung und Ihre Persönlichkeit. Sie müssen nur entscheiden, was Sie wertschätzen und es verfolgen. Dinge, die man beachten muss:
Ist das ein Projekt, an dem ich gerne arbeiten werde? Ist das Team ein Team, mit dem ich gerne zusammenarbeiten werde?
Welche Art von Zahlung werden sie anbieten? Wenn keine, welche berufliche Entwicklung werde ich dann erhalten? Bieten sie ein geteiltes Risiko (dh Aktienoptionen, Prozentsatz des Gewinns)? Das ist ein großer Überzeuger für mich.
Auf jeden Fall sind dies nur Grundsätze, die Sie bei Ihrer Entscheidungsfindung anwenden können. Es hängt alles davon ab, was Sie schätzen. Zum Beispiel schätze ich intellektuelle Herausforderungen und Zeit mit meiner Familie, daher lege ich normalerweise großen Wert auf das Projekt und die Fähigkeiten, die ich dabei erlernen werde. Ich stelle jedoch auch sicher, dass ich nur 2 oder 3 Nächte pro Woche arbeite, damit ich Zeit mit meiner Frau und meinen Kindern verbringen kann, da ich bereits den ganzen Tag arbeite. Ich passe die Frist an, um dieser Nachfrage gerecht zu werden. Wenn sie das nicht mögen, dann nehme ich den Job nicht an.
Was auch immer Sie tun, stellen Sie sicher, dass Sie klar angeben, was Sie tun und was nicht, und dass sie ihre Erwartungen klar angeben, bevor Sie den Job annehmen. Das Schlimmste, was passieren kann, ist, dass der Kunde nicht angegebene Erwartungen hat und dass Sie diese Erwartungen unterschätzt haben.
PS Ich wünschte wirklich, ich hätte diesen Artikel früher in meiner Karriere gelesen. Es gilt für meinen letzten Absatz. http://www.joelonsoftware.com/articles/fog0000000356.html