What to do when your non-technical boss is just plain wrong
articulateventures.com
articulateventures.com
I hate this. I hate having to play these games and tricks. I want to work with people that are aware of [psychology and] how much time is wasted having to do such things. However, I realize most people don't know nor care about psychology and so I am the one that should adjust knowing the things I do. It just sucks because I still struggle with it.
I am horrible at inter-office politics. I want so badly for things to be "efficient" - but it is always efficient for me. My boss has me print hard copies of email and put them in a physical folder AND has me copy the email as a PDF and sstore it in a sub folder of the project folder. Mind-blowingly inefficient on so many levels. But it's his way, and it's his firm. And I fought him on it, and so many other things, for so long, really fought with both of us screaming, I have poisoned the well. He won't ever trust me because I handled our conflicts so poorly in the past. He's allowed to handle them poorly - he pays my salary.
UPDATE: I agree, it may be stupid that the email has to be in PDF. If you got to the bottom of a legitimate/reasonable reason as to why or if it just came done to "Because I want it that way" then turn and focus on improving/automating the process as much as possible.
Accommodation is a good idea, game-playing may work in the short run, but it does not build long-term trust.
And in future you have to remember the real battle is external, not internal.
This can't be the most efficient way of doing things. I think it's also a strong argument for having a management and executive team that is actually technical.
Note: I find myself in this exact situation at my current job - multiple non-technical managers that don't realize how much they don't know and constantly make asinine requirements or timelines and reject advice from more technical experts.
>>"Note: I find myself in this exact situation at my current job - multiple non-technical managers that don't realize how much they don't know and constantly make asinine requirements or timelines and reject advice from more technical experts."
I'm surprised you did not find tips to apply in the article.
Unfortunately, as a functioning adult, you have to take other people's feelings into account, even when they are (GASP!) wrong. The reality is even if you are completely 1000% correct, if you don't give the other person a way to save face, they will fuck you over given the chance. The solution is simple - be nice.
I am a functioning adult, that's why I struggle with these issues instead of just cutting "the crap" out completely and causing relationship friction. It's just that as a mature adult who recognizes human irrationality, psychology, and short comings one would think we'd identify wasteful games and work to remove them. (Even I recognize I'm missing things and blind to my own biases. I don't mind if when people "call me out" on it so I can at least reflect on my behaviors and "short comings".)
Leaving outs and face saving opportunities is always a wise decision. I'm the first to defend someone when they choose to change their mind.
The good advice is to repeat the manager's argument, the way you understood it. However, if you do it to "loosen them up" and make them "more willing to work with you", then you're doing it for the wrong reason.
The right reason is to verify whether you understood them correctly. Maybe they meant to say something else. Maybe the did something else and you misunderstood. Maybe they said exactly what they meant and you understood it perfectly, but there's more to it. For example, they might have a perfectly practical non-technical reason for their argument.
Here's an example from my own experience: at one point, a manager argued that we should do something that would risk defeating the very purpose of a rather big and complex software we've developed, by allowing a group of future users to circumvent certain of its restrictions that are meant to make sure their stuff can be used on more than one target platform. I pointed out this risk and argued vehemently against it. The manager explained that the cost of migrating their existing work to our software, while maintaining those restrictions, would drive the cost of the whole project to 150% (or higher) of what the project would cost if we allowed users to do what he proposed. That certainly complicated the whole equation, even though his argument was still "technologically horrible".
TL;DR: When non-technical managers disagree with you, it might be because they have a need to assert their power and be respected by their subordinates, but that's a conclusion you should draw only if you've made a reasonable attempt to discard the alternatives. If you do happen to have a manager that behaves that way consistently, then maybe you should consider changing the manager and/or the company, instead of wasting your time and energy by trying to manipulate them.
When in a position of authority, I had the opposite problem: I often couldn't get people to disagree with me. This made it impossible to get to that discussion. (Maybe my ideas really were perfect, but I doubt it.)
This is really the key to any interaction with another human being whether we're talking about speaking to an overseas technical support person, your boss, your mom, or your partner.
0. Realize your non-technical boss isn't some cartoonish, mustache-twirling villian with a fetish for poor technical solutions. He or she is picking them for a reason, possibly a misguided reason.
1. Figure out their motivations. Tricky, because most people are unwilling or unable to articulate what they want, even to themselves. Generally, your boss probably just wants things to run smoothly, make money, and look good to their boss. If they're choosing poor technical solutions, it's because they (correctly or mistakenly) believe those poor technical solutions are the best way to get to #2.
2. Figure out how both your goals and theirs can be met.
3. Communicate #2 to them.
None of those steps are easy, even though there are any a few of them. But it can be done. I'm not always successful at it, but here's an example of a time I did it right.
My boss employed ahem, "affordable" contractors who were basically "Dreamweaver jockeys" - they constantly sent us tangled 1990s-style HTML that I essentially had to re-write from scratch, taking me longer than it would than if I'd simply done it from scratch.
Instead of just telling him how that was a poor technical idea, I took the time to sit with him and show him (in a text editor) the difference between modern HTML5 and the horrible Dreamweaver spew, and how much more quickly I could change the modern code in order to respond to client requests. His eyes lit up at that point, because I was solving a real challenge he had - being responsive to change requests.
The icing on the cake was when I showed him some of the online galleries where we could purchase pre-made, high-quality HTML templates. Not only were they better-designed than the crap our contractors were sending us, they were easy to work with and were a fraction of the cost.
So I didn't just say, "Dreamweaver sucks! Everybody knows that!"[1] I demonstrated the wins a technically cleaner solution would give him.
______
[1] I realize it's probably possible to just use Dreamweaver in a disciplined way, and create very clean markup with it if you wish. No offense to anybody making good stuff with it.
The only thing I would say is that your boss, generally, has access to information about the wider department/company issues than you do. Even if their advice is the incorrect technical solution it could still be in the best interests of the company.
The most usual case is when the "technically superior" solution takes longer and there is looming work beyond the current project that the in-the-trenches person doesn't know about. Clients/customers pay for results, not for technical excellence.
When management picks "fast and dirty" over "solidly built" (not always wrong!) all we can really do is make sure they at least have an accurate understanding of the trade-offs and sacrifices they are asking for.
I am getting better at this all of the time, and at my current pace I expect to have this skill completely mastered by the time I am several centuries old!
I believe Hanlon's Razor applies here:
| Never attribute to malice that which is adequately explained by stupidity.
edit: How do I do italicized/blockquoted text? I've seen it done, but haven't found docs on how.
Find someone who will translate your technical point into something that your boss will understand. Or improve your capacity to convince non-technical people.
In my first job, I had to convince a boss of how to fix some performances issues in database. He did not understood anything and organized a small meeting with someone he trusted a lot and who was more technical. This third person was really helpful to answer all the questions of the boss because I had difficulties to explain what was obvious for me.
Unfortunately, a lot of bosses are mediocre and no amount of explaining, even if you're really good at it, will reach them because it's all about ego for them.
Or they believe some nonsense falsehood they heard on the internet. And the internet is always right.
One of the most common mistakes most people make when they're evaluating someone else's actions is to refuse to give them the benefit of the doubt and to overly assign negative drivers.
Assuming that managers are power hungry and desperate to be in control is the equivalent of assuming that the only reason a programmer would select a particular technology is that it would look good on their resume. Both of those can be true, but far more commonly they're not.
Neither managers nor programmers are generally stupid and they're not generally malicious. Most managers aren't even power hungry. Like most people they want to do a decent job they can be proud of, be surrounded by decent, contented people and customers, and be reasonably rewarded for what they do. If you assume any of these things to be false you're going to be wrong considerably more often that you're right.
What is also common between programmers and managers is that they are constrained by a range of factors and often have very limited control over the constraints placed upon them. Managers have managers. They're answerable to directors, to customers, to shareholders and to suppliers. As a rule the larger the organisation the more complex the web of constraints and constrainers becomes (hence why large organisations tend to react so slowly).
The thing to understand is what these constraints are. They're rarely technical, they're far more commonly budgetary or time based. When your boss says no he almost certainly isn't saying "no, it's a bad idea, I know better", he's saying "no, I can't do this without damaging / risking something else".
So work out what the limiting factors are and try and work with him within those. Often that will mean taking a longer term view - getting something changed within a period of weeks or months is often massively more difficult than if you set yourself a longer time frame. Short term commitments (deliveries, revenue over the next couple of months) are often close to immovable, things over a longer time scale are often more flexible.
One of the things bosses are often bad at is talking about the business to programmers. Partly this is because programmers aren't always interested, but a lot of it is habit. If everyone knows what the targets, deadlines and schedules are, then they're in a better position to work within them.
The best game to play in this instance is to gain favour with their boss and anybody actively competing with them while passively disagreeing with them. You must passively disagree with them because the aim is to form a situation where you re-inforce their political opponents while appearing to be neutral - eventually they will come to you for support, and at this point they will be pliable. Something which will also help you gain authority is giving certain good ideas to other people whose interests will be in fighting your battles, however this is dangerous and you must make sure that they feel indebted to you.
If you don't want to kowtow to an idiot or beat them at their own game then simply quit and leave them to their mediocrity. There are likely to be a few places around where people will listen and use advice.
Edit: I obviously prefer just joining somewhere else without these kinds of insecure personalities, but my point was that political battles shouldn't be played in the light. You need to wear a cloak, you need to gather forces, and you need to resist the urge to slide the dagger in until others ask you to.
It's a long-shot to try and get your bosses job though. Aim higher or sideways.
This is a better method than others in the thread.
"Instead, a technical expert could offer chances for the boss to save face when they are caught suggesting something that is a bad idea."
Which I think is a very smart technique with respect to all negotiations!
I've seen cases of both and am glad I'm now working under the former but as for the bad managers, at times they just simply don't know any better. Its part of their personality to be commanding and feel that taking advice from others is weakness. Its extremely difficult to work with them because in order to have your thoughts considered you need to wrap them in a way that allows the strong-headed individual believe it was their idea in the first place; robbing you of any credit you may deserve.
A good boss will bring his concerns forward and give you the opportunity to address them, and if you tell him this is a better solution for the X issue, then he'll trust you to do it and give you approval.
If it turns out that your solution was worse for X, then when he has to be more careful in the future, he can remind you that X didn't get met last time and that is why he's not sure about this time. You then have to prove it or shape up.
It's all about building trust-- with GOOD bosses.
The problem is, good bosses are maybe %30. To many of them are simply people who were promoted to management because they are ambitious and good at playing politics and in a lot of companies their incompetence (eg: knowing nothing about software despite managing programmers) is seen as an advantage (that was the case at Amazon where my boss had trouble operating excel and his background was in criminal justice.)
Hell, I once worked for an educational software company that higher ex-kindergarten teachers to manage programmers. They knew nothing, but they had been trained that "young ones" (eg us 20-30 year old artists and programmers) were not to be trusted.... we even got scolded once for stepping out of the office to have a conversation! It was a company run like a kindergarten class!
Trying to explain technology in both of these examples to profoundly technology illiterate people was taken as "back talking". What they heard from some cousin (or once, I kid you not "bill gate's investment group might make an investment, so we need to get rid of our linux mail and file server and replace it with windows") .... was always more compelling than what their employees, who actually knew the situation, would tell them.
I think their incompetence fed a need to put their foot down.
In both cases the team collapsed as all the talent walked out the door.
Most tech people I know make awful bosses, because being a good manager is usually about being the lightning rod for all the BS, so that the tech people can actually be productive.
Likewise, a non-technical manage who learns enough to technology to be dangerous is even WORSE.
There are a hundred technical decisions that need to be made. A non-technical boss who trusts his best experts can farm that out to the entire team. A technical boss will often try to use their own judgement... but there is too much for one person to micromanage, so they end up failing.
When you've crossed the whole spectrum and all your brain is focused on bargaining, congratulation, you're the clueless non-technical boss.
There definitely is some stigma about these sorts of tactics being manipulative or political, but I would compare it to learning how to write effectively - it's an optimization that improves clarity and is really a lifelong skill.
They're going to pay me anyway. If it turns out later that their solution is unworkable, they'll probably pay me again.
Call it another typical day at the office. :)
I worry that today's generation of hackers have cottoned to the need to start companies so that they can do great work, rather than being forced into mediocrity by non-technical middle "managers"... only to turn around and be hampered by non-technical investors making absurd demands. (Maybe VC meddling has declined precipitously in the last 5 years or so, I hope so.)
In my experience at many startups a few VCs mostly left us alone, but most VCs forced decisions on us that were bad decisions, often bad market decisions, but many of them bad technology decisions Just one example: "You're getting $4M in funding but you have to spend $2M of it on this other portfolio companies product that claims to do what you need." Even though that other product didn't actually do what we needed, targeted something else entirely, but the VC was not technical so he didn't understand this. It was akin to "javascript, java, whatever". This decision set us back 2 years and ultimately cut the exit return by about %90 of what it would have been (given the value of similar companies at the stage we were when we sold, even one year earlier.) Did the VC learn his lesson? Of course not, he never heard (or was willing to hear) that it was a mistake and due to liquidation preferences and other double dipping, they made out great. The employees, however, lost out.