Skip to main content

Concentrate on the Work

A software manager must be able to balance creative independence, strong technical opinions, staff

turnover and business continuity.  Personnel factors such as work/life balance, diversity and personal growth also add complexity to this mix.  When navigating all of this becomes tough, my advice is to get back to focusing on the work.

When I was re-reading Instructions to the Tenzo – an ancient Zen text for the monastery cooks - this paragraph seemed to be applicable to the modern day software development:

“Do not just leave washing the rice or preparing the vegetables to others but use your own hands, your own eyes, your own sincerity. Do not fragment your attention but see what each moment calls for; if you take care of just one thing then you will be careless of the other. Do not miss the opportunity of offering even a single drop into the ocean of merit or a grain atop the mountain of the roots of beneficial activity.”

These instructions that have lasted centuries contain several layers of information and seem to be too detailed, but within that specificity one can find the secret to longevity.  For instance, bringing the attention back to “washing the rice” is similar to bringing attention back to “building the product,” or “solving customers’ problems”.

- When there are problems with egos, the best way to diffuse this is to focus on solving the problem.
- When you feel like your colleague is not pulling his weight, the best way to confront this is in the context of solving the customers’ problem.
- When someone is carelessly breaking the build, the best way to handle this is to focus on actually fixing the problem, rather than passing judgment about someone’s work style.

As a manager, when focus drifts away from work, it is good to ask yourself: “Do I have the right environment that allows good people to focus?”

In his book, “Hard Thing about Hard Things,” Ben Horowitz cites a conversation he had about bad organizations:

“Let me break it down for you. In good organizations, people can focus on their work and have confidence that if they get their work done, good things will happen for both the company and them personally. It is a true pleasure to work in an organization such as this. Every person can wake up knowing that the work they do will be efficient, effective, and make a difference for the organization and themselves. These things make their jobs both motivating and fulfilling.
In a poor organization, on the other hand, people spend much of their time fighting organizational boundaries, infighting, and broken processes. They are not even clear on what their jobs are, so there is no way to know if they are getting the job done or not.”
 Horowitz, Ben (2014-03-04). The Hard Thing About Hard Things

When the conversation can’t stay focused on the work and solving customer problems, the first thing to ask is, “Do you have the right environment, vision and visibility to let people know that the work is the reason they are there in the first place?”

-mb

If you liked this blog post you might want to check out: Three Pillars of Engineering Management and Win Forever posts.

Comments

Popular posts from this blog

Quality of Code is Quality of Life

About 20 years ago when I started working in technology companies I remember “the best” engineers had similar patterns:
-They worked crazy hours
-They knew the systems no one else knew
-They could react and deliver something faster than anyone else
You could always hear other employees say: “Bob is really smart, no one knows how to get anything done in system X besides him!”

This reinforced optimization around being the only person who knew how to do something in some part of the code.  That in turn reinforced job security and bargaining for those engineers, but also chained them to a particular system.  We had big code bases of C++ or Java code where some “Bob” hacked up features as soon as he possibly could.  “Bob” would have occasional nuclear disasters where he’d sleep in the office or through the weekend and then everyone would thank him for how he “saved the day.”  “Bob” sacrificed his quality of life to get praise when he hacked stuff up quickly and then the second time when n…

SDET / QA Engineer Interview Checklist

After interviewing and hiring hundreds of engineers over the past 12+  years I have come up with a few checklists.  I wanted to share one of those with you so you could conduct comprehensive interviews of QA Engineers for your team.

I use this checklist when I review incoming resumes and during the interview.  It keeps me from missing areas that ensure a good team and technology fit.  I hope you make good use of them.  If you think there are good questions or topics that I have missed - get in touch with me!


SDE/T or QA Engineer interview checklist from Mike Borozdin
If you like this checklist you might want to check out these posts:
Emotional Intelligence in Software Teams  and Good-bye manual tester, hello crowdsourcing!

Code versus Configuration

At Ethos we are building a distributed mortgage origination system and in mortgage there is a lot of
different user types with processes that vary depending on geography.  One of our ongoing discussions is about how much of the logic resides in code vs. being in a workflow system or configuration.  After researching this topic for a bit, I have arrived at a conclusion that the logic should live outside of code very infrequently, which might come as a surprise to a lot of enterprise software engineers.

Costs of configuration files and workflow engines First thing that I assume is true is that having any logic outside of the code has costs associated with it.  Debugging highly configurable system involves not only getting the appropriate branch from source control, you also need to make sure that the right configuration values or the database.  In most cases this is harder for programmers to deal with.  In many FinTech companies where the production data is not made readily accessible…