Some background, I've been a fullstack developer for some years now and have worked as a contractor for the last 1.5 years.

I've been with the same employer throughout my time as a contractor, and for the first 6 or 7 months I was working on an external project so it was already established (in other words we had no input on the tech stack since it was already a half finished product from another company). He worked as the liaison between the company and me as the sole developer (so he did not do any programming at all). When we finished working on the external project my employer extended my contract to the end of this year (2019) and transitioned into a startup to work on one of his ideas.

My employer asked me to be the technical lead, so throughout the development, I made decisions based on languages I'm very familiar with and can develop quickly in, which he was fine with. In particular some of the frameworks/libraries/languages used are React, ReactNative, NodeJS and so on.

Several times in the past my employer has aggressively argued about why my decisions have been terrible and has stated outright nonsensical facts about newer languages/frameworks. An example is recently the snide comment I received about how large the codebase is when 'all it does is insert into a database' when referring to the backend API I wrote. He also adamantly believes that using git to version control my code is 'absolute worst possible practice' (???). An argument that always pops up is his adamant belief that PHP is the greatest and only language anyone should use when writing anything server side.

I've also recently discovered that he doesn't actually know what object orientation is in programming and cannot actually program in any language other than quite admittedly basic PHP, HTML and CSS.

This is the tip of the iceberg as sometimes he brings his personal problems into the workplace, takes it out on me and always refuses to acknowledge when he's at fault. While not having the technical knowledge, he expects me to be able to do everything at light speed and is constantly disappointed/aggravated when something takes me longer than a day.


Older employer I've worked with for a while questions and berates my decisions and refuses to even try to understand newer tech, while also maintaining he can't do this project without my technical knowledge.

I've never been in this situation before, so I'm unsure how to handle communication between us as he gets very personal and applies the strawman fallacy in every single discussion.

I want to quietly leave when my contract expires at the end of this year, although I fear he really wants to me stay on board since he's aware that he cannot complete this project without me.

In the meantime, how can I communicate effectively that if he constantly questions my decisions, I am unable accomplish anything and that his comments about my decisions (which he thinks are focused on the technology, but are actually very personally pointed to me) are actually incredibly unproductive and rude, and how do I let him know that I plan to seek other opportunities in the new year?

Posting as anonymous for obvious reasons.

  • 8
    You'll get better responses if you delete everything before TLDR. Also, you have too many questions here to get a decent answer. Try to limit your questions and show what you want as an outcome
    – Mars
    Commented Nov 26, 2019 at 5:53
  • 6
    Your TLDR was too long!
    – ChrisFNZ
    Commented Nov 26, 2019 at 6:15
  • "I want to quietly leave when my contract expires at the end of this year" This is an abusive situation. Why not leave earlier? Or as soon as you can find a new employer? It's not like you'll be able to use him as a positive reference anyway. Commented Nov 26, 2019 at 6:58
  • Please please please avoid the word "employer". In the UK, calling your client "employer" could cost you many thousands in backpaid taxes.
    – gnasher729
    Commented Nov 30, 2019 at 16:11
  • Thanks to everyone for the feedback, I really appreciate it. We had a discussion about his aversion to newer technologies, but like many said it was a moot point. I ultimately decided to let him know I will not renew my contract after he made an incredibly sexist remark about my character. Commented Dec 2, 2019 at 22:34

5 Answers 5


It looks like you have 3 issues:

(1) Boss prefers an alternative tech stack

To me, unless your boss has the budget and stomach to fund a complete replatform I'd argue that this is a moot point.

I'm a LAMP man myself but the benefits of modern frameworks especially React when building modern UIs should be fairly clear.

(2) Wasted time arguing about excessive dev effort

If you're regularly sizing well defined PBIs with your colleagues and each PBI has clear acceptance criteria then challenging effort is more appropriate before dev rather than after (apart from during retrospectives of course). From your post it sounds like you are isolating presentation and business logic. So there's going to be a trade-off as a result of that. Upfront effort might be more but you're building reusable components and reducing technical debt as a result. So it's a long term (futureproofed) vs short term (quick n dirty) balance.

Perhaps if he's a PHP-head he's uncomfortable being unable to understand your code and so doesn't understand the value. OO and MVC etc is a no brainer to me but it sounds like you'll need to take the time to educate your boss and explain to them the benefits so that they back off a bit to give you some breathing space.

(3) Should I tell me boss that I'm planning to leave?

I personally wouldn't do that until / unless I had a new job secured beforehand.

Otherwise little good can come of it IMHO. Keep it to yourself for the moment.


A very effective communication would be “I have had enough of this. If you don’t trust me, find someone you trust and I’ll leave. It will cost you, but it’s what you want apparently. Or you shut up and let me get on with my job and trust me that I know what I’m doing. “

There is a good chance that the complaints will stop, one way or the other. As a contractor, you should have some savings that get you to your next job. Change your wording according to how keen you are to keep this job.

Some people take being defensive as a sign of not knowing what you’re doing. He may think “if contractor knew their job, they would have long told me to go away”. That kind of person must be told more harshly.

  • 1
    I disagree that using the phrase "you shut up" is "very effective communication" from a contractor to an employer. Commented Nov 28, 2019 at 12:08
  • He wants the continuous complaints to stop. This will make it stop. Therefore it is effective communication. I didn't say it was polite, but that wasn't asked for. Stopping the useless complaining is what was asked for. He tried polite, and polite didn't work. The client has the choice between getting a good job done and complaining - about things they don't understand.
    – gnasher729
    Commented Nov 30, 2019 at 15:24
  • PS. It's not "contractor to employer", it's "contractor to client". In the UK specifically you will never, ever refer to the client as "employer" or you get into deep trouble with HMRC.
    – gnasher729
    Commented Nov 30, 2019 at 15:27
  • Presumably he also wants to maintain reasonable relations with the client and continue the engagement, because if "effective" only means "make the complaint stop" then walking away or telling the client to f*ck off would be even more effective? Commented Dec 2, 2019 at 10:32

IMO, the behavior of your employer shows deeper problems that usually don't improve in a short time frame, and often not in the long term either.

If he only has a minimal knowledge, without even understanding approaches well established over several decades (such as object-oriented programming), what to speak of more modern stuff, and yet thinks himself knowledgeable enough to behave like you described, it's a sign that he's so much separated from reality and objectivity that nothing you say will have any effect.

After all, if he admits the reality, he would have to admit that he doesn't know much, AND that he behaved in a way that's both stupid and rude and counterproductive for his own business. Even better people than him would have problems with such a hit on their egos.

All the advice to you, that you should be polite, should not judge, should listen etc, will only help you stay professional, it will help you stay... blameless? Without anything that a reasonable person could complain about.

It will NOT, however, make your boss change his behavior. Threat of you leaving and then him not being able to finish the project(s) might (or might not) silence him for a bit, but he will be boiling under the surface and it will come back to you eventually, with interest.

Leaving quietly when your contract is over is probably the best way.


has stated outright nonsensical facts about newer languages/frameworks

Some people are early adopters of new stuff. Other people are down-right aversive to any change.

While not having the technical knowledge, he expects me to be able to do everything at light speed and is constantly disappointed/aggravated when something takes me longer than a day.

Invite him to sit with you when you work on something. He will be able to see the speed of your work. Eventually make another experiment, when you do THE SAME TASK using HIS choice of technologies, while he also sits there with you. You could both learn some interesting stuff from the experience.

I want to quietly leave when my contract expires at the end of this year, although I fear he really wants to me stay on board since he's aware that he cannot complete this project without me.

There might be another thing you can do before you consider going way. (continue reading)

In the meantime, how can I communicate effectively...

In this section I will try to give the answer to most of the above topics.

The best way would be to invite the guy somewhere comfortable and quiet, and discuss the situation. Make sure FROM THE BEGINNING that your purpose of the meeting is to give yourselves a chance to know each other better, to understand each others expectations better.

Warning: no alcohol! It might help you relax, but the downsides can be disastrous.

Before the meeting train to be calm. Having any tension will put the endeavor at risk. Keep your calm during the meeting.

Explain your boss shortly that you are uncomfortable about the current setup, and in which ways. Ask him to explain his point of view about it, and to clearly state his expectations. Also, he should specify which expectations are strong, and which are weak.

The discussion might take easily 1-2 hours or more, so plan ahead.

It would be great if you would learn about feedback and performance appraisal, because this is what you two will actually exchange. Read as much about the topics as possible.

Basic ideas:

  • Be honest, but not rude.
  • Do not contradict.
  • Do not judge the person, judge the actions and the results.
  • Listen more than you talk.
  • Ask questions ONLY to request clarifications.
  • Even if his opinion strongly conflicts with yours, respect his point of view.
  • Do not try to convince him of anything. Respect his point of view.

Assuming he doesn't directly develop on your project, I'd try the trust route. Say something like:

I understand that you are concerned for the success project. You repeatedly say that you need my technical knowledge to make this project a success. I know there are several ways to solve the technical challenges, please trust my judgements in finding a valid solution.

This acknowledges that his way would also solve problems. It doesn't matter which way is better, you are the hired expert, and as long as your solution is valid, you solve it.

People with a limited technical understanding often fail to see all the problems you face. You likely won't succeed in explaining them, he would have to do the work to see it. Asking for trust that you do your best is your best way forward, and a subtle nudge that everyone focus on his role: He decides what to do (product/features), you decide how to do it.

As contractor, you owe no obligation beyond the contract. So if you feel like going elsewhere after the contract: Totally do so! Your employer could always ask with enough advance to prolong your contract, if he doesn't, that's on him! Assuming you have no gentlemens agreement on informing each other about change in plans. But most employers also use their freedom to let go contractors on short notice. That's what they are for, after all

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .