And my advice to developers who are considering joining a small business or consulting firm:
- Don’t work for someone who has one customer that dominates their revenue.
That company will always control the requirements, even if those requirements make the application a chore to get working for other customers. Also if there is ever a problem with how that customer is treating you personally, the company always always has to preserve the revenue from that customer. They will throw you under the bus.
I did two contracting gigs in a row that were unpleasant. The first told me a pack of lies about advanced project management and architecture being their focus. The work was identical to any contract I’ve ever done, but the feeling of betrayal soured the entire experience. If they did anything to advocate for their employees, I didn’t see it. The consequence of that is that it knocked my confidence, and I took an FTE position which was definitely “settling” and I’ve stayed at that position for far too long (though COVID played a role, I can’t fully blame COVID).
It’s probably better if you work someplace that gets less than 30% of its revenue from any one customer, but 75% from its top 4. There are diminishing returns being pulled in many directions at once, yes, but there are serious dangers of being railroaded by an offer you can’t refuse.