
The Biggest Mistake I Ever Made - jasoncwarner
https://medium.com/@jasonwarner/the-biggest-mistake-i-ever-made-4f0e2e32ed2a#.cm8kcn6nl
======
jondubois
This sounds similar to what I've experienced at various startups. The problem
is that the people who have been around the longest tend to have more
knowledge of the tools and techniques which relate to a specific project -
Sometimes it even seems like their overall understanding of technology is
superior too - But that is an illusion.

I've changed companies a lot as a software engineer and I noticed that
whenever I join a new company, I usually feel like the dumbest person in the
company at the beginning - For example, other developers might mention
specific features of Linux which I had never come across before or they might
make references to certain technical concepts which I didn't know about. But a
couple of months in, I usually feel smart again and then I get bored... (This
cycle happens every time when I change company).

What I realized is that knowledge doesn't flow very well between companies -
Each one tends to get specialized in very specific ways but they don't realize
it. The developer who has been around the longest is the most knowledgeable
when it comes to the technology surrounding the project in its current state -
So it's very difficult for another regular developer to 'win' an argument
against them - This is bad because the most senior developer is often too
deeply set in his ways (it works best for him) but in reality, you need the
whole team to take a few steps back to find something which works best for
everyone.

~~~
Smudge
Yes, I've seen this too. I think I've even been that person. (But that's a
different story.)

The first company I worked for claimed that most new employees took 6 months
to ramp up to the internal tools & processes, which sounded absurd to me until
I actually started ramping up myself. Holy cow. And the people who were
entrenched in this company's particular way of doing things seemed like
absolute geniuses until I realized how much of their knowledge came from years
and years of doing the same things over and over.

I think the best way to combat this is to recognize that tools, techniques,
processes, and technologies are all an inherent part of your product and your
business. Much like you take the time to refactor code and combat technical
debt, I think it's pretty crucial to also devote time to combating "process-
debt" and/or "tooling-debt" \-- all of that extra cruft that piles up and
starts becoming "the way" to do things at your company. Because, just like
with code, there is usually a simpler, more practical and/or elegant solution
just waiting to be discovered.

~~~
nostrademons
I've noticed this, but usually consider it a feature, not a bug. The better
companies are at least _aware_ that this is going on, and can use it to their
advantage when it suits them or counteract it when it doesn't.

The thing is - if you zoom out, "experience" is nothing more than
overspecialization in the particular environment you found yourself. That
applies at the industry, society, evolutionary, and planetary levels as well.
Organisms adapt to the particular circumstances that they live in. _Usually_
these adaptations are beneficial, because otherwise they get pruned out and
people adopt different ways of doing things. But sometimes the environment
changes in a way that makes all that accumulated knowledge irrelevant, and you
end up like the dinosaurs. Extinct.

I've found that most of the time, people's knowledge is the product of hard-
won experience, and if you tear it down, you will encounter the same problems
that led to them coming to those conclusions in the first place. But
occasionally, something changes in the environment, and you _need_ to tear
things down to adapt. If you want to build off existing knowledge, become an
employee, and join a company that's busy figuring out all the corollaries of
the premise that founded it. If you want to challenge existing premises,
become a founder, and look for areas where the environment has changed in a
way that invalidates existing knowledge.

If you try to build something totally new and different by learning all the
existing ways people have built stuff, you will probably fail (believe me,
I've tried several times). Similarly, if you join an organization hoping to
tear down all the wisdom they've accumulated and replace it with an outsider's
perspective, you will probably meet significant resistance. Sometimes
organisms have to die to learn.

------
davemel37
Some financial firms have forced paid time off (atleast 5 consecutive days) to
make sure they are never fully dependent on any one employee, and to fix it if
they ever find themselves in that situation. (They also do it to make sure no
one is covering up fraud by always working.)

~~~
melling
In banking aren't you required to take off 5 consecutive days so they can
avoid any financial misconduct? It's hard to cover up most issues after 5
days.

~~~
chris_wot
Someone who never takes leave is often a person you need to monitor.

~~~
shade23
Any reasons for you to say this? Like examples or scenarios in a start up
environment?

~~~
nradov
One common technique is for an accountant or bookkeeper who handles accounts
receivable to prematurely write off overdue customer invoices as uncollectible
bad debts. Then when the customer eventually pays the crook keeps the money.

------
natepollack
I'm the kind of developer the article mentions (at least some of my previous
colleagues like to think so). But here is the deal. It is hard to work with me
if you don't want to put enough energy into your own work. Because at my
previous job there were people who told me that it is impossible (for them) to
work with me, and all I could see that they didn't add ANY value to the
project, but made me do stupid things like using Google Docs to track my
tasks, instead of Basecamp which I already used with others for quite some
time. And you know what? If you are this kind of person then it is super hard
for me to not get pissed every time you open your mouth. I'm not the kind of
guy to smile at you if you try to make my work harder than it already is.

And there were people who said that working with me was the best part of their
job, but they were hard working and smart. And I really liked to work with
them too. Every story has two sides.

I don't mean that Jason (OP) is not right! He probably is. But you can't
generalize this as easily as the article says. Sometimes not the mean
developer is at fault but the stupid management (even if there is more of
them).

~~~
vinceguidry
The thing you need to realize is that the company is bigger than you are. If
you can't work out a way to get along with others in your company, then you
are the problem and not the people you perceive to be doing things wrong. You
should go find a place that better fits your way of doing things.

I bounced out of a big company for that and other reasons. I just could not
deal with the culture. I work at a smaller company now, and am much happier,
though it's still not a perfect fit.

The reality is that it's almost never a perfect fit. In these cases you have
to realize that it's you that has to adapt to the company and not the other
way around. I have an idiom that I use for these situations. "It's the job".
It's the part of the job that they're paying you to do, that you don't like to
do, but you do it anyway because that's the job. Make a rational decision to
either get along with others or leave the company.

You can't have it both ways, they are paying you and not the other way around.

Now, I'm not saying you should give in to every idiot who wants you to change
how you do things. You should definitely fight back against stupidity. But you
have to learn to pick your battles and recognize when it's you that's being
dumb and not them. And also realize that the apology is the cheapest and most
effective career tool you have at your disposal. Nothing smooths over bad
feelings like a well-worded apology. Try to do it even when it's not your
fault.

~~~
natepollack
Problem is: it was my company, my idea. I just trusted the wrong co-founder,
who started hiring his lazy friends. When I confronted him about this he said
that I should just work on the tech beause he knows how to run a successful
company. Eventually he fired me, because they couldn't work with me. Now they
spend they time on buying Twitter/Reddit followers/likes, which I'd have never
agreed on, because the company itself is quite privacy sensitive. And they
most likely will make a bunch of money with it.

Every story has two sides. But I really appreciate your comment.

~~~
laughinghan
Your story sound unfortunate, and I hope you bounce(d?) back from it.

But your story also sounds very different from what the article is about. The
parable in the article is not a story with two sides. The basketball team's
performance was objectively measurable thanks to the championship games, and
the team performed objectively worse with the skilled but hard-to-work-with
player, and performed objectively better without him.

In your story, you say the other team members "didn't add ANY value to the
project" and "try to make [your] work harder than it already is". In the
parable, the semi-pro player, in spite of being the best player in the league,
was adding NEGATIVE value to the team.

If you were hardworking and smart and completed your tasks while your
teammates were lazy and didn't accomplish anything and just complained about
not being able to work with you, then they (and the person who fired you
instead of them) are the problem, not you.

~~~
vinceguidry
I see no reason why both stories can't be shared and learned from. They're
somewhat different, but it's all the same lessons we need to learn.

------
CM30
Not really a professional career example, but this story reminds me of my time
running internet forums, and how I made pretty much the exact same type of
mistake a fair amount. I'd take on an active contributor as staff, but end up
overlooking their hair trigger temper or hostile behaviour because they'd
spent so much time contributing to the site beforehand.

What I didn't realise (and I'm sure a lot of people who keep on these
individuals in paid jobs don't realise), is that it starts scaring off other
qualified members/employees. By keeping on one bad individual, you drive away
your other skilled users or employees.

------
blisterpeanuts
A manager I know had a term for obnoxious over-achievers: "brilliant
assholes".

But there are other kinds of high achievers who should not leave because,
after all, talent is talent.

You don't say, "Bob wrote 70% of our product, and he's head and shoulders
above the rest of the team, so he's got to go!"

You _should_ say, "How are we best utilizing our in-house talent? Does Bob
engender resentment from the lesser programmers? Maybe Bob should have the
role of chief architect, and get Bill to be team lead since Bill's more of a
people person."

It's complicated, and every case is different, and the size of the company is
also a factor. Part of the art of management is the ability to get the most
out of each person on the team. It's hard, it takes years to learn how to
manage, and it's not for everyone.

Technology work isn't exactly like basketball. In team sports, you _have_ to
work with a team; it's not like you can just play the game all by yourself.
The whole point of participative sports is that everyone _has_ to participate.

But in technology, often it's the solo contributors that drive innovation by
making a brilliant but messy system that the regular guys/gals have to clean
up and maintain.

Once in a while, you see a brilliant solo contributor who makes a clean,
maintainable system, and documents it nicely, and politely and sensitively
hands it off to more junior staff to maintain while he/she moves on to the
next big thing -- and what a joy that is! But more often they're the brilliant
asshole that you have to deal with, both their professional work and personal
foibles.

~~~
Smudge
> How are we best utilizing our in-house talent?

This question definitely captures more of the nuance that I felt was naggingly
lacking in the original post. It's easy to justify firing someone in very
black and white terms, but it's a lot harder to take such an employee and turn
them into a valuable member of the team again, even though that might be the
best outcome. Not saying it can always be done -- I've seen managers try for
too long and fail, but I've also seen managers start making cuts at the first
sign of trouble.

~~~
Riod
Agreed. Being formerly in the military I find it quite interesting to note how
little self examination managers in the private sector place themselves under.
Sad to say poor management is the rule rather than the exception.

------
n72
If that's the biggest mistake he's ever made, he leads a charmed life.

~~~
pdxandi
Perhaps they meant professionally.

~~~
shric
Worst professional mistake? Amateurs! I once did rm -rf cvs when I thought I
was in my home directory wiping my local checkout. I was actually in the root
dir of the repo. We had no backups.

The 90s were such fun; long live distributed source control.

~~~
jaybosamiya
Well, at least it wasn't as bad as what happened here:
[https://bbs.archlinux.org/viewtopic.php?id=207549](https://bbs.archlinux.org/viewtopic.php?id=207549)

------
speeder
Question: What a person that IS the exceptionally skilled person but that
drags down the team, should do to not drag down the team?

~~~
ArkyBeagle
Don't be imperious or brusque. Learn to story-tell. Know how to present on the
subject - if they're having race conditions, be able to explain race
conditions well, for example. Don't pursue argument beyond it being
productive, especially not for its own sake.

Make sure you're not proposing your personal One True Way. Be trustworthy.

At some point, people have to experience failure for themselves. You did,
probably. Remember how that feels.

Ask to help, but that's a learned skill as well. You can't yank the wrench
away from them. Set it up to where you can come in when they're in trouble,
but be humble and "in the spirit of service."

I think being self-deprecating helps. Give ideas away. Make any conflict
between (the collective) you and the problem, not you and them.

If people are defensive, learn to defuse that or accept responsibility for
that, even if it's not your doing. And if all else fails, excuse yourself
politely.

Sadly, a lot of this is basically charming or selling people. It has Venn
overlap with seduction behavior.

~~~
ido
And ever so often, some people just don't make very good teams with other
particular people.

I've had jobs where I was performing much better or much worse than other jobs
simply due to fitting better or worse professionally with the personalities of
other people I worked with (this is to a significant extent not dependent on
me liking these people or getting along with them on a personal level).

------
lucio
John Sculley followed your advice, but it didn't go well..

~~~
erichocean
So did Tim Cook when he fired Scott Forstall.

------
endymi0n
Related (and with a little more background):
[http://firstround.com/review/why-firing-brilliant-
assholes-i...](http://firstround.com/review/why-firing-brilliant-assholes-is-
required-to-build-a-great-engineering-culture/)

Excellent point in any case.

------
chris_wot
How do you identify that you are the person who is causing problems?

------
erichocean
Instead of calling them "assholes", I wish people like the OP would just be
honest and say they don't want to work with people on the spectrum. There's no
shame in that, it's perfectly fine to prefer neurotypicals at your workplace;
the vast majority of people do.

~~~
jasoncwarner
I don't typically comment on things like this, though in this case I very,
very much want to.

My son is autistic. He's 8. We had him tested when he was 5. He also has ADHD.
If ever anyone cares about working with non-NT folks and those on the spectrum
it's me. We moved to where we live specifically so we could get early
intervention for him.

My five year old daughter might be on the spectrum, we are having her tested.
She does have expressive/receptive language disorder.

Our youngest daughter, now 2, seems NT so far.

For the record on the original material. There's a chance the person was non-
NT, as you suggest. However, that same percentage chance exists for at least
three, maybe four, of his co-workers as well, the ones that were effected by
this person.

I'm not dismissing your original statement. I do think it is harder for non-NT
folks, even in tech. It's why my style is the way it is. If anything, I'm
likely overly sympathetic to the non-NT folks given my situation.

I've written two other things that I often reference when talking about these
topics that might be interesting. I hope you can appreciate my side knowing
more about my personal situation and how that influenced and shaped my current
views.

[https://medium.com/@jasonwarner/no-one-is-the-villain-in-
the...](https://medium.com/@jasonwarner/no-one-is-the-villain-in-their-own-
story-35fd436d2f1c#.z8u3ik3wt)

[https://medium.com/@jasonwarner/just-one-weird-
trick-95fe7b5...](https://medium.com/@jasonwarner/just-one-weird-
trick-95fe7b537c6a#.svf8orfgw)

------
danjoc
Here's his point (I think):

"The founder and I made the most classic of mistakes: putting up with someone
because we were afraid to lose their ability. I’ve since come to learn over
and over again, it’s almost never worth it."

Perhaps just me, but I don't like this style of writing. It takes pages of
reading to arrive at a fairly simple point.

Authors, please make your point first. Elaborate all you like with long winded
stories afterwards.

~~~
dozzie
I think this is not the most important point. The most important is this:

> [...] you are actually holding back everyone else at the expense of this
> person.

------
fwn
TL;DR version:

"[...]I made the most classic of mistakes: putting up with someone because we
were afraid to lose their ability. [...] it’s almost never worth it."

edit: shortened it.

~~~
vayeate
Yeah I was frustrated that I skipped over half this article to get to the
point.

------
yoodenvranx
> The Biggest Mistake I Ever Made

Using non-descriptive titles on HN?

------
edent
Wow! Once again I'm grateful to live in a country with sane labour laws - and
glad to have the backing of a trade union.

So because the managers couldn't do a decent job of managing their employee,
he loses his job and all associated benefits?

~~~
Cartwright2
Found the guy who's difficult to work with...

Seriously though, every company has had to deal with one of these people
sooner or later. The cost to team morale always outweighs the talent of the
difficult developer. Let them go, let them learn, and hope they fix their act
at the next company. It always hurts to throw away talent.

~~~
Riod
It's also possible that the company is decidedly mediocre but has a strong
culture of having people who all think the same way on the team. Smart person
sees this and is frustrated but doesn't have managerial authority to make
improvements.

Different cultures have different expectations of the relationship between
employer, colleagues and the employee. Guessing op is from a place where being
right is more important than everyone being on the same page but being wrong.

