Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

In 2004 I went to work for a consulting firm because I like variety, challenges, working with new technologies, etc. However, I've been a developer for 25 years - and spent the majority of my career as a direct-hire (12 years) then as an independent consultant for another 3 years (ah the DotCom bubble!) for one firm. So my instincts are more like a good internal developer than a consultant.

My problem is what I call the "catch-22" of consulting. You go into consulting because you want to work at a lot of different engagements, but if you do a really good job your clients never want to let you go. And of course the salespeople are happy to keep you billing (and don’t want to alienate a good customer) So my question is – how do I overcome this? I have had some colleagues who had just the right type of “arrogance” (for lack of a better term) that made them initially attractive to some clients, but would grate on them over time – but that just isn’t my style. I want to do good work and be successful for my clients, but be able to “gracefully” move on after a reasonable amount of time.

share|improve this question

migrated from stackoverflow.com Jun 20 '11 at 15:29

This question came from our site for professional and enthusiast programmers.

You seem to be having the opposite problem of this guy. programmers.stackexchange.com/questions/85479/… –  Zhehao Mao Jun 20 '11 at 17:06

12 Answers 12

The simplest solution I see is to be an independent contractor. Don't work for a contracting firm. That way, when you're ready to move on, you can simply say, "I'm sorry, but I'm afraid there just isn't room in my schedule for your project right now."

Keep in mind, though, that sometimes repeat customers are the best thing you can have, especially if business gets slow. Don't make them hate you, just push them off a little if you have to.

share|improve this answer
That's actually not an option for me on for several reasons. In addition to not wanting to do sales, etc - my wife and I have some pre-existing minor health problems that makes it all but impossible to get health insurance... –  fuzzbone Oct 16 '08 at 15:32

If they like your consulting advice so much, tell them, as a consultant, that they don't need a consultant for the time being, and they should save the money till a later time :) .

share|improve this answer
Actually, my firm has been known to do this. A big part of why our customers like us so much is that we're not afraid to tell them they're wasting money on us if they really are. –  John Rudy Oct 16 '08 at 15:00
The problem with that solution - in my last case - it would have been wrong. I didn't get out until they had finally agreed to raise the salary range while trying to hire... When they finally hired better ppl it was true and I moved on. –  fuzzbone Oct 16 '08 at 15:31

Since you appear to be employed by a consulting firm, your situation to me looks like an employee/employer issue, not a consultant/client issue.

I can't ever recommend trying to make a client like you less. In fact, if it became known to your management that you were doing that, or even thinking about it, it could be grounds for termination. Instead, make your desires known to your manager, but express them in terms of how the firm will benefit if you don't stay at one client forever. You can make the case in a few ways:

  • Tell your manager that exposing you to multiple clients and technologies will make you more marketable (and thereby profitable) to the firm. This is fairly weak - your manager may even agree but decide to keep you on the paying client anyway.

  • Suggest that a less experienced employee could do your work for that client (if it's true), thereby freeing you up for clients that need your more advanced level of experience (and therefor will pay more for you).

  • If you have a good personal relationship with your manager, tell them that your job satisfaction is higher when you can move between multiple clients. Negotiate a "best case" time limit, with the understanding that your manager may choose to put you on a job longer. This can be dangerous with the wrong manager, as you could be let go if they interpret your remarks as dissatisfaction or lack of "team player" attitude.

  • Bring in new business with clients that would be well suited to your skills and preferences.

If you can't make a business case for what you want, then you are faced with either: accepting the status quo, sabotaging the client relationship by making them "like you less", or getting hired at a different firm that uses employees more like you want to be.

I'm guessing that those aren't the options you what you want to hear, though.

share|improve this answer

Work on defined projects, with a schedule, and set the expectation early on that once that date / milestone has been reached, you've got another client that needs attention. Do this for all of them, and you could rotate quite nicely!

share|improve this answer

Explain to your organization what your strengths are, namely gaining customer trust rapidly and efficiently. Then explain that your time would be better spent working with new customers and therefore grow the business. This is in the interest of the sales guy too. More accounts, means more commission.

Then, make sure you train your replacement for the contracts you are no longer interested in. This shows your customers that you are committed to them from a business standpoint and free your time to explore new contract.

Bottom line: convince your firm of what you want to do, not your customers.

share|improve this answer
Well said. Put the ball in your organizations court and let them deal with the customer. Hopefully they will have the tact and business sense to make it work. –  pave Sep 8 '09 at 20:01

Don't only charge based on how much you're worth... charge based on how much you want to work on a project. Make sure the client understands that's how you charge.

If you're working at a place too long and it's getting boring, keep raising rates for each project until they either pass, or it's worth it to you.

share|improve this answer

There are a lot of people here who would love to have your "problem"! ;-)

share|improve this answer
-1 because this should be a comment, not an answer. –  zzzzBov Jun 20 '11 at 16:40

If you become an independent contractor you'll have the freedom to set your rates in line with what the market will pay you. If you have clients lining up for your services, you'll be able to bill an above average rate. Your problem will become a very happy one.

share|improve this answer

The good thing about contracting is that you could always just say no. I understand that can be difficult when they are waving a large cheque infront of your face.

share|improve this answer

The other option is to talk to your customer and mention that it was great working and there is another opportunity with other customer you are eager to work and it makes more sense from your insterests. If you have a good relation, then most of the times your customer would oblige and let you go. At least that's what happened with me.

share|improve this answer

If you have control over it, raise your rates. Even if the customer loves you, they won't love cutting your check.

This worked great for one of my old customers - they 'went behind my back' to find a cheaper consultant, and I couldn't have been happier when they told me. I didn't like doing it, but consulting can be a tough business, you can't take things personally.

If that doesn't work, well, at least you're making lots of money.

share|improve this answer

Government requirements may be another angle to take on this. Some places like Canada and the US will have rules over how long a Consultant can work before being seen as an employee. If your client understands this then the break can easily be accepted as who wants Revenue Canada or the IRS looking through your finances and seeing who is in which camp.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.