I have been faced several times in my consulting business with choosing between consulting work that comes at unpredictable moments, but when the work shows up, it pays very well and much better than the average engineering contracting work and it is always full remote. This type of work cannot be easily outsourced.<p>On the other hand, there are the more regular engineering contracting gigs you can get, but which pay much less and might require on-site. Taking the lower paid work might make it impossible to take the better paid work. However, if the work is remote, it can be outsourced.<p>One possible approach is to wait longer until you have the lucrative work to avoid being booked for the cheaper work. At some point you run out of money. I've been following this approach but the long periods without incoming cash-flow can be stressful. I try to work on marketing while I "sit on the bench".<p>The other approach is to always take the cheaper work if you don't have a lot of runway left. However, then you can't take the more lucrative work. And you can't build up a cushion and when the cheaper work disappears now you have no cushion and are screwed. And you work a lot of hours which means you can't really spend time marketing your business.<p>Another solution is to take the cheaper work and outsource it (assuming it is fully remote). But if your subcontractor screws up you have to helicopter in and fix the situation. This might be impossible because you are overstretched or busy with the more lucrative work. Your client might sue you if things really go bad.<p>Is there some kind of optimal solution to this optimization problem? I cannot imagine I am the first consulting business to have to make decisions whether to take work or wait until more lucrative work shows up. There must be some kind of scientifically informed optimal policy to follow.