
All the best engineering advice I stole from non-technical people - mbellotti
https://medium.com/@bellmar/all-the-best-engineering-advice-i-stole-from-non-technical-people-eb7f90ca2f5f
======
aerophilic
> _Effective teams need trust. That’s not to say that frameworks for decision
> making or metrics tracking are not useful, they are critical — but replacing
> trust with process is called bureaucracy._

A thousand times this. Highly effective teams have super high levels of trust
and mutual accountability.

The moment you lose trust, you now have to replace trust with some other type
of mechanism. This leads to process/bureaucracy.

Trivial example for those that don’t “get it”: think about why do we need code
reviews? If we knew people would write perfect code every time, they would
never be needed. However, we hold them because we know that even in our own
“best code” we may miss something/forget some detail.

However, think about your own process, at least for me, depending on a
feature/the engineer, my code review might be cursory rather than super line
by line. The difference? How much I trust that engineers ability in that
specific type of code.

But that was a digression, my main point is that hight trust means high speed,
low trust causes slow speeds. The more you can build up trust and
eliminate/prevent process, the better your organization will be.

For anyone that wants more details on this, I highly recommend the book “The
speed of trust” by Stephen Covey.

~~~
Hex-3-En
THIS is basically what I feel is the reason why most german software companies
are lacking success in international competition... Disclaimer: I'm german,
have software engineering degree and hate german conservative company
structures not adapting to the 21st century...

~~~
pca2
can you explain a bit more about "German conservative company structures" for
us non-Germans?

~~~
mr_overalls
In a nutshell: Germans seem to love bureaucracy, process, and red tape.

[https://www.dw.com/en/germans-and-
bureaucracy/a-16446787](https://www.dw.com/en/germans-and-
bureaucracy/a-16446787)

~~~
jacobolus
There is a trade-off.

German society (compared to some others) seems to do much more enforcement of
industry-wide and society-wide standardization (e.g. of measurement systems,
part compatibility, common procedures, ...), with an expectation that everyone
should “follow the rules”.

This has the advantage of increasing interoperability and compatibility and
making many things more predictable and easier to assess/audit, at the expense
of sometimes fixing poor choices and forcing them into contexts where they
should be discarded.

* * *

As one example, most of the design features of computer keyboards sold
worldwide from the 1980s–1990s were forced to conform to a (not especially
well considered, in my opinion) German standard, which was adopted by IBM and
then copied by everyone else, and later became the basis of an ISO standard.

Beige or gray color with matte surface texture and dark labels (no colors
allowed), cylindrical keytops with primary symbols in one corner to make room
for standard German labels, low keyboard height (which did not fit many of the
keyswitches from the 1970s), a shape precisely accommodating the standard
German key layout, ...

At some point companies started ignoring this standard (e.g. producing black
keyboards), and I don’t think there was ever enforcement. But we are still
stuck with many of those design choices now, a dramatic difference from the
extreme diversity of designs from the 1960s and 1970s.

Arguably many of the keyboards of the 1970s were better than almost anything
produced at mass scale since.

------
noonespecial
_they have innate understanding that being observed working is more valuable
than the results of their work._

I've seen coders who knew this by heart forget this less than 5 years after
entering management and become champions of forcing everybody into the office
for 8:30 stand-ups and time tracking systems that enforce minute by minute
"project accountability".

I don't know exactly how this happens, all I know is its like a damn force of
nature. The only thing I've ever seen kill morale and tank projects faster is
random periodic layoffs.

~~~
jrockway
I know exactly how it happens. Engineering projects take a long time. 90% of
the effort lives in the basement where nobody can see it; getting data from
some other system, optimizing queries, spinning up the servers... nothing at
all user-facing. So to the untrained eye, 90% of the time, programmers are
doing nothing. And that 90% can be weeks, months, even years.

I don't think any of this is unique to software engineering, either. You don't
just one day decide to build a bridge and show up at the bank of the river
with a cement mixer tomorrow. To someone that wants to drive over the river,
it looks like no progress is being made on the project. Hence, lots of
meetings (delaying the project further) to make sure everyone is working hard
enough. (Because there is always "that one guy" who actually isn't doing
anything. And it looks the same as someone who is working hard to an
outsider.)

As for why we spend money hiring people that don't actually do anything,
tracking the progress of other people's work... I think it's just loss
aversion in action. If you spend 10% of the day working on timesheets and pay
an additional employee to check up on them... you know where your money's
going. But if someone just shows up to work and does nothing, then they're
stealing from you and must be punished! It is human nature.

I don't know what we did in the past that's different from today. Somehow we
got to the moon. But now companies are so bloated that even doing nothing
seems like it requires 30,000 employees. I don't have much hope for the future
generation of megaprojects. And, you know, we're not really doing them
anymore. I wonder what changed. Or maybe looking back at the all the
achievements of the entire human race at once makes it difficult to put the
present day into perspective.

~~~
MrBuddyCasino
Peter Thiel asked himself the same question. If you subtract screens and
style, how do know you‘re not living in 1973?

I think Yuval Harari was onto something when he said that what guides the
vision of a society and thus science spending is ideology, religion and
politics.

See medieval churches, the Manhattan Project, the moon landing. I could put a
name on it, but better to leave politics out of HN.

~~~
tim333
As someone who kind of remembers 73 in England, the coffee is way better now.
Also we had some epic strikes and power cuts back then and a splendid 73%
market crash. After decades of relative economic decline we decided to join
EEC, the predecessor to the EU after which things recovered economically from
the 'sick man or Europe' to the fastest growing economy in Europe until we
recently voted to go back to the good old days.

~~~
coldtea
Only joining the EEC had little, if anything, to do with the recovery and
change of coffee.

You remember a country still suffering from WWII and loss of world leader role
(and colonies), in a much poorer global period. For starters, the '70s had a
global recession and oil crisis, and many countries were affected, not just
England. Have a look at pictures of New York of the same period -- it looks
like a third world country [1].

In the 80s and 90s, countries that didn't join the EEC, as well as countries
that joined EU much later, had the same economic uplift.

(And of course several countries that did join the ECC/EU had economic decline
and crashes, e.g. the P.I.I.G.S).

[1] [https://allthatsinteresting.com/1970s-new-york-
photos#8](https://allthatsinteresting.com/1970s-new-york-photos#8)

~~~
tim333
Yeah there were many factors. The UK used to be quite socialist in the
1945-1975 period which was OK for the NHS but many other things like British
Leyland didn't work so well.

~~~
tim333
This was quite interesting on the economics
[https://voxeu.org/article/britain-s-eu-membership-new-
insigh...](https://voxeu.org/article/britain-s-eu-membership-new-insight-
economic-history)

------
Iv
The best one I received: "It is easy to like likable people. It is much harder
to like people who have flaws. It does not mean you should not do it."

I saw a lot of tech people with the same bias as me: instead of dealing with
people who think a bit different or act a bit different, we prefer to isolate
and stay in our own world. Dealing with different people is hard but can be
really rewarding. The lazy approach of sticking with your own crowd is
comfortable but not necessarily the best approach.

And I double down on her "thinking is work too". I think internet makes us
very addicted to have a constant flow of information pouring into our brain.
We dont want it to stop. Disconnecting and staying with your thoughts is
something that used to happen naturally, now it takes some efforts to do it.
Yet we absolutely need it

~~~
draw_down
Your first point is why I’m quite skeptical of the narrative around “brilliant
assholes”. Are they really an asshole, or do they just not communicate in the
manner you’d prefer?

~~~
mieseratte
> Your first point is why I’m quite skeptical of the narrative around
> “brilliant assholes”. Are they really an asshole, or do they just not
> communicate in the manner you’d prefer?

As someone who generally enjoys working with the "brilliant asshole," there
are two types to look for.

The first is a brilliant engineer who is an asshole in matters unrelated to
the task at-hand. I've seen coworkers physically assaulted by this type.

The second is a brilliant engineer who takes no shit when it comes to the task
at-hand, which I think is a bit more of the Torvaldian asshole. If you have
someone trying to slip in a below-threshold quality solution into place, this
person will not let it slide. One of my favorite engineers had a little comic
strip tacked to his cube, the punchline was something along the lines of
"You're right, let's do it the stupidest fucking way possible because it is
easier for you personally."

Regarding the second, I tend to see their frustrations come out when
interacting with the "politician," the kind of person who puts on a polite
veneer but uses it as a shield. This is the kind of person who will tell you
they aren't doing something because they don't feel like it, but when
management gets involved starts acting surprised at the accusation while
playing into the "brilliant asshole's" known-quantity.

If you see someone at work getting frustrated with another, don't just buy
into the "he's an asshole" narrative. Do a little investigative legwork.

~~~
phantarch
Often times I get frustrated with the second type you describe because they
seem to assume that I have deliberately (or otherwise) chosen to do something
suboptimal out of laziness or neglect when often it is simply from not being a
subject matter expert myself.

There is a lot to be said for not taking any shit when it comes to getting
things right in a project. However, I think that the most brilliant engineer
is the one who helps people who make mistakes or are not as smart/experienced
as they. Implying the only reason someone would not do "The Right Thing" is
because they're bad is a sort of self fulfilling prophecy.

~~~
mieseratte
That’s definitely problematic behavior you’re describing, there is a big
difference between starting from a place of reason and moving to stern due to
repeated behavior and starting with stern. The latter is the “good asshole.”

------
blowski
Excellent writing, I really enjoyed the content of the post and the way it’s
written.

This phrase particularly stood out to me:

> We are stronger by considering the opposite first.

That’s something I’m not very good at, but work hard to do. In many situations
I have a tendency to assume I’m right, and that as soon as my interlocutor
understands my argument, they will see I’m right. “I’m a rational person and I
believe X, so if you don’t believe X you must be irrational.” So I spend lots
of time clarifying my argument, and it gets nowhere.

By genuinely spending a larger proportion of my time thinking about others’
points of view, I arrive at better solutions.

~~~
AstralStorm
Good old syllogism in defense of ego. (Post hoc ergo propter hoc and reduction
fallacy kinda, but really just jumping to conclusions.) "Rationalist" meets
hypocrisy.

------
lostphilosopher
> When I find myself itching to interrupt someone with my thoughts about a
> topic I try to ask myself “what am I being asked to be an expert in here?”
> Often I realize that in my enthusiasm to show my casual knowledge I’m about
> to correct someone that who has devoted a considerable amount of time and
> effort into developing their expertise in the topic. I never regret keeping
> my mouth shut and letting them speak.

This definitely resonated with me.

~~~
amoitnga
there is rarely a really good reason to speak. All our meetings would be about
10% of what they are if

\- ppl weren't interrupted

\- stayed on point

\- things weren't repeated more than once

~~~
AstralStorm
That last bit of only valid if minutes are taken.

------
mangoman
>When I was in a traditional office environment I used to tell my people: If
it’s 2pm and you’ve finished your work for the day and you have no meetings,
just go home

I've often had this thought - what is the ultimate cost of giving someone a
random friday off, not counted against any sort of vacation policy? "Hey,
you've been working really hard and the team is better off for the work you've
done, take a three or four day weekend". Would that really harm the bottom
line? I mean, in a metrics driven environment, if we hit our metrics, then why
not spend some time gearing up for the next thing by recharging?

------
B-Con
> But trust also degrades naturally over time. Italian researchers Cristiano
> Castelfranchi and Rino Falcone have a model of trust in which it’s
> observability not success that is the key factor. Under their theory an
> entity that is silently successful can end up seen as less trustworthy than
> an entity that visibly fails.

I would believe it.

From what I know, trust is a fickle, and irrational attribute. It places
disproportionate value on first hand sensory input, and it isn't nearly a
commutative as would seem reasonable.

~~~
thelittleone
The most trusted client relationships I had in tech consulting where those
that had gone through a major foul up (usually a software issue on our side)
that was honestly and diligently corrected. Accountability is a big factor in
the equation of trust. Finger pointing has the opposite effect.

------
wslack
> Places where no one is sure who owns what, or who is responsible for what
> are unlikely to have proper monitoring and much more likely to be two or
> three upgrades behind. The seams are where things get lost, sometimes for
> years. So if your mandate is security or availability the seams are your
> best bet of finding a big pay off.

So true. Sometimes there's a person behind the scenes keeping it all working
with bailing wire and elbow grease, but that person is also a huge point of
failure.

~~~
jlokier
Sometimes the opposite of one person keeping it all together behind the scenes
is "diffuse responsibility", where many people are theoretically responsible,
and in practice _nobody_ keeps on top of things because they leave it to
others, or even finger-point that "someone else" should have done something.

Diffuse is different from distributed.

In distributed responsibility, there is redundancy. Multiple people ensure
things operate. This is good.

In diffuse responsibilty, people cancel each other out, so it's worse than
having one person.

An office version of the bystander effect, if you will.

This is particularly bad in volunteer organisations, where wishes and reality
do not mix well.

Single point of failure is in important thing.

So I've seen people try to convert a SPOF system, where one or two people are
keeping the business and systems running, to a diffused responsibility system.

With the result that one or two people still keep the business running... out
of exasperated necessity.

But with more complaining by others, because that's not supposed to happen.

If it were complaining by others that more people aren't taking up meaningful
responsibility and doing the work, that makes sense to me. But it's usually
complaining by others about the people doing the work. And since they are
volunteers, that's a shitty position to be in.

Complaints include that they aren't "letting" others do it. Which couldn't be
further from the truth.

People keep being asked to help, and keep being individually not very
available. Or, worse, available in not really useful way (impractical hours
for example, or sessions too short), or on balance unhelpful.

Those few being meaningfully responsible are, however, not "letting" others
access critical databases such as personal data, and safety critical systems,
without building up a trust reservoir and track record first, and in some
cases formalised relationships. And that seems to make would-be volunteers
rather grumbly, in a public way.

At least in volunteer organisations, the bottom line is most people avoid work
if they think they can rationalise why it shouldn't need to be done, will gut
requirements and constraints, if they don't personally like them, and will
avoid taking initiatives on things they think are stalled, if they can get
away with portraying it as someone else's fault.

In short, they are contradictory, wanting thing to happen, but rarely taking
actions that lead to it.

That doesn't match what actually needs to be done, so it falls on the same few
shoulders again and again, and usually at crunch times, as those shoulders are
criticised if they take action too early.

Then we end up with "hidden single point of failure", which may be worse than
the visible kind.

------
refurb
Of all the advice articles I’ve read, most of them are contrite, seemingly
obvious and not actionable.

This one was pretty good. Not going to argue it’s all gold, but she did a
great job of putting some thought into it.

------
nzjrs
Nice article, but every time someone mentions imposter syndrome it grinds my
gears - it always strikes me as a thinly veiled humblebrag.

~~~
thecatspaw
Can you elaborate?

For me imposter syndrome usually reads as "I undervalue my own work/skill"

~~~
johnday
I think the person above you is saying that it sometimes reads as "I cannot
believe just how good I really am", or something to that effect.

------
contingencies
My collection is at
[http://github.com/globalcitizen/taoup](http://github.com/globalcitizen/taoup)
.. though not exclusively non-engineers, I find it genuinely useful to
recalibrate if stuck for fresh perspective.

------
Nimitz14
Really enjoyed that!

Minor nitpick though:

> Another thing he used to say a lot was “when you punch someone you need to
> pull your arm back, before you launch it forward. If you don’t your hit will
> be weak.”

This is not true.

------
elwell
> If it’s 2pm and you’ve finished your work for the day and you have no
> meetings, just go home.

It never makes sense to me when people say this. As a Software Engineer,
there's always work that can be done. How many people actually have a list of
"work for the day"?

~~~
rabidrat
I generally pick a goal for the day, and then work hard towards it. If I've
done it right, I don't have the energy to start another big rock mid day. Best
I can do is think about what tomorrow's big rock is going to be, and get
myself set up to hit the ground running. That feeling of never-ending work
(and thus, work until your brain is toast) is anathema to being maximally
productive. It just makes me take longer on each day's big rock so I'm not
burning myself out in the long term anyway.

------
gniv
“To go left, turn right.”

I encountered this idea in a different context, and I too thought it was
insightful/funny:

(On some divided highways) “Left turn from right lane”

The jughandle would make as good a symbol for a philosophical movement as the
yin-yang.

~~~
m12k
A variation is "never replace/remove something if you can't explain what good
it does". The classic example is the big code rewrite, where years of bugfixes
and nuances get lost in the 'clean' reimplementation.

~~~
lordfoo
Also, Chesterton's Fence

[https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence](https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence)

------
vectorEQ
"I never regret keeping my mouth shut and letting them speak." love it. even
though i like to annoy people with my dumb comments, this is sound advice for
sure. :)

~~~
Spellman
Asking the "dumb" questions is actually often a good thing.

For one, you learn faster. Secondly, there's a chance someone else was
thinking the same question and was too afraid of looking "dumb" to ask it.
Just make sure you don't occupy all of their time with questions, especially
in a public forum, thereby wasting other peoples' time.

The quote was actually talking more towards speaking up in an attempt to
impress the expert with the little bit of knowledge you have in the subject.
It's patronizing and they often see right through your front. It is much more
effective to let the expert do their thing and for you to learn than trying to
impress them with your little bit of subject matter knowledge.

------
RocketSyntax
Regarding #5 - thinking about a schema is the hardest part! The rest is just
busy-work.

------
AtlasBarfed
It's not "curated"?

------
appleflaxen
> “People like us make our money in the seams of things” Who said it: a Senior
> Official at the National Security Agency (NSA)

I find this sentiment to be terrifying when it comes from the government, let
alone the NSA.

Government employees should be worried about nothing except than the efficient
and legal discharge of their legal obligations/goals. I hope the wider context
of the conversation makes this more innocent than it initially sounds.

~~~
random42
I read "make our money" to be "earn our salaries", ie their job is primarily
involved with the "seams"

------
sailfast
I liked this article and it was nice to think through some of these things in
these contexts.

That said, if I was speaking at a big government meeting (where the sign on
the door often indicates a classification that is above what you can say on
Medium) and found myself quoted in a blog post later I would be pissed.

In future, I would recommend the author take all the names of the
organizations out or get permission from the person. The quote would have been
just as powerful without the agency name drops in a security context.

~~~
PopeDotNinja
Mikey Dickerson is a fairly public figure, so in this context I think it's
fine.

~~~
sailfast
Agreed, and he probably wouldn't mind.

In this case I was talking about name dropping agencies and how they operate.
Example: "A Senior NSA Official" in what was likely a classified meeting with
DHS officials and state department, and calling out how they were speaking
with each other.

I'm not saying making it public is bad for the public overall, but I'm not
sure that was the intent (based on the focus and purpose of the article) and
generally those kinds of discussions are covered by NDAs and aren't for public
record.

------
rurban
Her #1: "Security and reliability are more likely to go wrong in the seams
between components".

Cannot confirm for security. Too naive thinking. Security mostly goes wrong in
the very core, not at the seams.

One of her next is also a big red flag

> A big part of what I do as an engineering manager is stopping truly
> brilliant people from executing on plans that begin with the words “I can
> just do this myself in a weekend.”

It completely denies the impossibility of doing great work in a team. Someone
has do it somewhen. She'll loose the brilliant guy who offered to do it
properly, and she'll come up with the typical business solution. Unscalable
and unmaintainable.

I stopped reading then. Way too self-congratulating engineer bashing.

~~~
TheSpiceIsLife
Is the world not _full_ of great work people have done as teams?

If I look around my lounge room right now, literally everything my eyes can
see was put together by, not just a team, but a _company_ (literally a team of
teams), and much of it is actually very good and has already lasted for many
years without fault.

I challenge you to name one person who has built a thing _on their own_
without anyone else’s help.

~~~
rurban
On the contrary the best works were made by 1, max. 2 people. A team helps
with testing or docs, but not much else.

Show me a good project made by more than 2. I doubt you'll find any.

~~~
leksak
What's the definition of a good project in your mind? I believe you, and the
person you are replying to, are coming at this from two different frames of
mind.

Is the quality of the final product all that matters? Is how the people
working on the project felt during it a factor?

I'm, for instance, quite happy with the keyboard I am using at the moment. I
doubt, very much, that it is the result of the work of a lone individual or a
pair. Is your point that the original design might have been drawn by a lone
individual, and you view the rest of the work performed by other people as
mere augments to that person's vision?

Or does your interjection only apply to software?

~~~
rurban
I also did a lot of other projects. Like building engines or houses or
planning cities or doing a movie.

Only in software you have the luxury to do it alone or in a pair. In
architecture it sometimes works, in movies rarely (but such things do exist,
like Shane Carruth), in engineering very rarely. In architecture or movies we
call that phenomenon, many cooks don't make good meals. Or planning by
committee. Never give up your project to a committee. Eg. Guido or Larry made
a huge mistake.

Compared to those other fields and comparing the results you see excellency
mostly with projects made by the fewest amount of people.

In SW its trivial to see. All projects managed by a big team are barely
successful and more look like managed towards destruction. All managed still
by a good founder do look great. Genetic arguments rarely count here.

