novation and idea. Mental power is our
most precious resource.
Part of this is being able to leverage
the power of abstraction—focusing on
what is important and leaving out the
unnecessary details. Sometimes details are important; other times they are
not. We cannot talk about everything in
absolute terms. Compared to assembly
code, C is declarative. But compared to
transistors and gates, assembly code is
declarative. Developers need to recognize these levels of abstractions.
A good engineer knows how to handle
leaky abstractions and can swiftly go up a
level or dive deeper down when needed.
But that same engineer also has to accept
that you can never understand everything.
We need to be asking, “How can we
design systems so that computers can
handle more of the work for us?” For
example, a lot of developers are still creating programs as text. A lot of the tools
we use to manipulate programs are still
too primitive because they treat code as
sequences of bytes. We need to be much
more mindful of how we can use computers to help do our jobs.
The whole point of “The Humble
Programmer” is that your brainpower
is your most limited resource, so using
smart tools is a good thing. Good developers understand that they can’t do everything, and they know how to leverage
tools as prosthetics for their brains.
Kate’s takeaway: You should read (or
reread) “The Humble Programmer.”
And always be on the lookout for ways
to work smarter—better tools, intelligent systems, and enlisting help. Focus
your mental energy on the task with the
most dividends.
What qualities make someone into an
amazing engineering manager?
First, you must have deep technical
knowledge. But it’s also important to have
self-awareness, empathy, and emotional
intelligence. You have to be able to understand other people, and you have to
be able to steer people and move people.
In management, there is a communication feedback loop. In one direction, a manager interacting with his or
her reports requires emotional intelligence. He or she has to know what
drives the other person to get optimal
results. A great manager will help people do their best work.
The second part of the loop is the
reports back to their manager, and
the skill that matters here is empathy.
You have to understand what they are
trying to say despite the noisy channel
between you and your reports.
Each direction of the loop introduces uncertainty. You might hear
something, but that isn’t what was
said, and vice versa. It is your job as
the manager to make sure this communication is optimized. It is on you
to make sure that the feedback loop is
a virtuous cycle—the better you understand your reports, the more empathy
and emotional intelligence you have
in that relationship.
By taking a Bayesian approach, you
can increase your empathy by performing error correction on what you hear
and increase your emotional intelligence by inserting redundancy into
your communication. One way you get
that error correction and redundancy is
through peer feedback and 360 reviews
to train your neural net continuously.
In your mind you create a model
of someone. When something happens, you hear something or observe
something; then you are updating your
prior assumptions. This is where you
must watch your biases. In the beginning, you don’t know anything about
someone, but the more interactions
you have over time, the more the uncertainty in your model diminishes.
Kate’s takeaway: The feedback loop is
an interesting way to think about your
interactions and relationships. If you
want another lens on a similar topic,
Erik wrote a paper on “The Responsive Enterprise” that talks about these
loops in an organizational context.
4
What book do you wish all software en-
gineers would read, and why?
How to Win Friends and Influence
People.
1 That book gives you really
complete ways of thinking about human relationships and how you interact with other people. It is written
in a way that makes you consider the
lessons by putting yourself in other
people’s shoes. How do they think or
feel in these situations? And what can
you do differently?
I print out the Wikipedia summary
of the book and glue it into the notebooks I carry around everywhere to
“Once you get
stuck and stop
pushing yourself,
you are toast.”