I have to agree with this. I was a consultant for several years. I've had to go over this same exercise numerous times. Be professional, use standard terminology, and make sure your code is documented and commented. If the new guy doesn't understand basic things like design patterns or standard algorithms it isn't your job to teach them, but point them in the right direction to learn. Point them to a good program logic and design, OO, book on the platform (Spring, Struts, .Net MVC or whatever), or design patterns book. When they realize that is what it will take to understand the platform, they will usually take it on themselves to learn. 9 times out of 10, the company will pick you up again in the future. You will be surprised that despite the snarky comments about the young guys failing and the company having to bring you back, the new guy will probably still be on board, they will work beside you in future engagements, and if you do the above you will be pleasantly surprised to find out that the "new guys" were your biggest cheer leaders for re-engagements. Don't let an inflated ego and hurt feelings get in the way of providing exceptional customer service.