Từ kinh nghiệm của tôi: Không bao giờ làm công việc liên quan đến tiền cho các thành viên gia đình mà bạn phải dành kỳ nghỉ với hoặc bạn bè mà bạn muốn giữ. Một trong các bên liên quan sẽ luôn cảm thấy như bên kia đang tính phí quá cao hoặc không trả đủ tiền và họ đã giúp đỡ bên kia. Khi thời hạn kết thúc, họ thường ít hiểu biết nhất và họ thường là những kẻ lừa đảo trong quá trình thử nghiệm beta bởi vì nếu bạn có một lỗi - mà bạn sẽ - họ sẽ không hiểu. Nó luôn luôn là một mớ hỗn độn.
Tôi đã từng duy tâm và nghĩ rằng mọi người khác chỉ cần những kỹ năng tốt hơn cho mọi người, nhưng không, đó chỉ là cách nó diễn ra. Những người không hiểu quy trình phát triển phần mềm sẽ LUÔN sợ hãi khi có điều gì đó không đáp ứng được kỳ vọng của họ ngay từ giây phút đầu tiên họ nhìn thấy. Điều này đúng trong kinh doanh với các nhà quản lý dự án cũng như với các thành viên trong gia đình. Vấn đề là, bạn phải duy trì mối quan hệ với gia đình và bạn bè, và mọi thứ không bao giờ nghiêm túc trong kinh doanh.
Điều đó nói rằng, nếu dự án sẽ tăng mức độ căng thẳng của bạn và bạn không cần tiền thì tại sao lại lấy nó? Đặc biệt nếu bạn đã có một công việc phát triển phần mềm mà bạn muốn nổi trội, tôi sẽ nói rằng bạn nên dành hết sức lực để làm việc xuất sắc trong công việc hàng ngày vì đó là nơi cuối cùng bạn sẽ được khen thưởng vì chất lượng công việc.
Nếu bạn cần tiền, và bạn ổn với sự mất mát tiềm tàng của một người bạn trong gia đình, thì hãy nhận công việc. Điều tồi tệ nhất có thể xảy ra - ngoài những điều tôi đã đề cập trước đây - là bạn học những gì bạn đang có và không giỏi, hoặc bạn học được rằng bạn cắn nhiều hơn những gì bạn có thể nhai khiến dự án trở nên tồi tệ đau đầu do thiếu kinh nghiệm của bạn. Tôi đã làm điều đó hai lần với công việc hiện tại của mình - may mắn thay tôi rất hiểu nhà tuyển dụng. Mặc dù đó là sự khốn khổ trong khi tôi cảm thấy chết trong nước, tôi đã nổi lên một lập trình viên tốt hơn nhiều với bộ kỹ năng rộng hơn nhiều so với trước đây.
Không có tính toán để xác định những công việc nên cho đi và giữ, chỉ có kinh nghiệm và tính cách của bạn. Bạn chỉ cần quyết định những gì bạn coi trọng và theo đuổi nó. Những điều cần cân nhắc:
Đây có phải là một dự án mà tôi sẽ thích làm việc? Đội có phải là đội mà tôi sẽ thích làm việc cùng không?
Họ sẽ cung cấp loại thanh toán nào? Nếu không, tôi sẽ nhận được sự phát triển chuyên nghiệp nào? Họ có cung cấp bất kỳ loại rủi ro được chia sẻ (ví dụ: tùy chọn cổ phiếu, tỷ lệ phần trăm lợi nhuận) không? Đây là một người thuyết phục lớn đối với tôi.
Dù sao, đây chỉ là những nguyên tắc để sử dụng trong việc ra quyết định của bạn. Tất cả phụ thuộc vào những gì bạn coi trọng. Ví dụ, tôi coi trọng những thách thức trí tuệ và thời gian với gia đình vì vậy tôi thường đặt ưu tiên cao cho dự án là gì và các kỹ năng tôi sẽ học được khi thực hiện. Tuy nhiên, tôi cũng đảm bảo rằng tôi chỉ làm việc 2 hoặc 3 đêm một tuần để tôi có thể dành thời gian cho vợ con vì tôi đã làm việc cả ngày. Tôi điều chỉnh thời hạn để đáp ứng nhu cầu này. Nếu họ không thích điều đó, thì tôi sẽ không nhận việc.
Dù bạn làm gì, hãy chắc chắn rằng bạn nói rõ những gì bạn sẽ và sẽ không làm, và đảm bảo rằng họ nói rõ những kỳ vọng của họ trước khi bạn nhận việc. Điều tồi tệ nhất có thể xảy ra là khách hàng có những kỳ vọng không có căn cứ và bạn đã đánh giá thấp những kỳ vọng đó.
PS tôi thực sự muốn tôi đã đọc bài viết này sớm hơn trong sự nghiệp của tôi. Nó áp dụng cho đoạn cuối cùng của tôi. http://www.joelonsoftware.com/articles/fog0000000356.html