Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Like the title says; is it a bad practice to quit a company after a few years, only to begin as a consultant for the same 'customer'?

I've been lucky enough to come in to a company in the oil business from the beginning, developing software for relatively new and unused technology. Long before I even got this job, I've wanted to start my own consulting firm. Is it morally wrong of me to quit my job after a few years, only to hire myself out as a 'specialist' or consultant on our systems?

share|improve this question

closed as off topic by GrandmasterB, gbjbaanb, gnat, ChrisF Sep 3 '12 at 9:42

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

possibly better suited to workplace se ? – TZHX Sep 3 '12 at 9:39
up vote 3 down vote accepted

Leaving a company and becoming a consultant can be rewarding, both personally and financially. However, it is not necessarily simple.

First, consider whether consulting on the product breaks any Non-Disclosure Agreements (NDAs) or non-compete clauses in your contract. Whether these are enforceable or not does not help you when you are facing down lawyers. The customer may also have a clause in their contract stating they cannot hire anyone from your company or vice versa.

Second, that being a consultant is different to being a developer. You are using the product rather than writing it. Forget the nice IDEs you are used to and start thinking of batch files/scripts, database migrations and other less glamorous things.

Third, your knowledge of the product is going to atrophy over time. You will not have access to the source code and, as improvement and modifications occur, you will not know what they are until you use the product like everyone else. You may have friends on the development staff but do not expect them to give you the inside scoop on everything forever.

Lastly, being tied to a single customer can be dangerous. That customer may go out of business or stop using your product. You will need to start networking more and expanding your list of contacts. You may enjoy this or not but you have to be good at it to succeed.

[Edit: Added the following.]

That said, many people become consultants. Some people find development does not give them the same buzz and want to focus on the broader (and potentially more lucrative) customer problems. Some just have interests in many areas and consulting is a way of satisfying all of them. Assuming you are OK with the issues given above, this is a perfectly acceptable and reasonable route to take.

share|improve this answer
Thank you for a very informative answer! Have to say, I've already given most of your points some thought, and I would consider this company as a starting customer, aiming to specialize within the oil-business and the development possibilities that lies within. – Nicklas Winger Sep 3 '12 at 7:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.