私の経験から:休日を一緒に過ごす必要のある家族や、大切な友達にお金を使って仕事をしないでください。関係者の1人は常に、相手が高すぎるか、十分な支払いをしていないように感じ、相手に恩恵を与えたと感じます。期限が来ると、彼らは通常、最も理解されず、彼らはあなたがバグを持っている場合、あなたが理解しないので、通常はベータテスト中のロバの穴です。それは常に混乱です。
私はかつて理想主義者であり、他のすべての人がより良い人々のスキルを必要としていたと思っていましたが、いや、それはただの方法です。ソフトウェア開発プロセスを理解していない人は、最初に見たときに何かが期待に合わない場合、常にびっくりします。これは、家族と同様にプロジェクトマネージャーとのビジネスにも当てはまります。問題は、家族や友人との関係を維持する必要があり、物事が厳密にビジネスになることはありません。
とはいえ、もしプロジェクトがあなたのストレスレベルを上げようとしていて、あなたがお金を必要としないなら、なぜそれを取るのですか?特に、既に優れたソフトウェア開発の仕事を既に持っている場合、最終的な質の高い仕事に報いることができるので、日々の仕事で優れた仕事に専念するべきだと思います。
あなたがお金を必要とし、あなたが家族の友人の潜在的な損失で大丈夫なら、仕事に就いてください。起こりうる最悪の事態-私が前に言及したもの以外-あなたがあなたが何であるかを学び、あなたがあなたがプロジェクトを悪化させる原因となる以上に噛み切れることを学ぶことですあなたの経験不足による頭痛。私は現在の仕事で2回それをやった-残念ながら私は雇用主を非常に理解しています。私は水中で死んでいると感じていた間は悲惨でしたが、以前よりもはるかに幅広いスキルセットを備えたはるかに優れたプログラマーになりました。
どの仕事を手放すかを決めるための計算はありません。経験とあなたの個性だけです。あなたはただあなたが評価するものを決定し、それを追求する必要があります。考慮事項:
これは私が作業を楽しんでいるプロジェクトですか?チームは私が一緒に仕事を楽しむチームですか?
彼らはどのような支払いを提供しますか?そうでない場合、どのような専門的開発を受けられますか?彼らは何らかの共有リスク(すなわち、ストックオプション、利益の割合)を提供していますか?これは私にとって大きな説得者です。
とにかく、これらはあなたの意思決定に使用するだけの原則です。それはすべてあなたが評価するものに依存します。たとえば、私は家族との知的挑戦と時間を大切にしているため、通常はプロジェクトの内容とそのために習得するスキルに高い優先順位を置きます。しかし、私はすでに一日中働いているので、妻と子供たちと時間を過ごすことができるように、週に2、3夜しか働いていないことを前もって述べてください。この需要を満たすために、締め切りを調整します。彼らがそれを好まない場合、私は仕事を引き受けません。
あなたが何をするにしても、あなたがすることとしないことを明確に述べ、あなたが仕事をする前に彼らが彼らの期待を明確に述べていることを確認してください。起こり得る最悪の事態は、顧客が無言で期待していることであり、あなたがそれらの期待を過小評価していることです。
PSこの記事を私のキャリアの早い段階で読んでいたら本当によかったです。私の最後の段落に適用されます。http://www.joelonsoftware.com/articles/fog0000000356.html