Managing Humans: Biting and Humorous Tales of a Software Engineering Manager
Rate it:
Open Preview
Kindle Notes & Highlights
4%
Flag icon
My definition of a great manager is someone with whom you can make a connection no matter where you sit in the organization chart.
4%
Flag icon
Every single person with whom you work has a vastly different set of needs. They are chaotic beautiful snowflakes. Fulfilling these needs is one way to make them content and productive. It is your full-time job to listen to these people and mentally document how they are built. This is your most important job. I know the senior VP of engineering is telling you that hitting the date for the project is job number one, but you are not going to write the code, test the product, or document the features. The team is going to do these things, and your job is managing the team.
6%
Flag icon
I ask the same question in every interview I have: “Where do you need help?”
6%
Flag icon
A manager’s job is to take what skills they have, the ones that got them promoted, and figure out how to make them scale. They do this by building a team that accentuates their strengths and, more importantly, reinforces where they are weak.
6%
Flag icon
A manager’s job is to transform his glaring deficiency into a strength by finding the best person to fill it and trusting him to do the job.
7%
Flag icon
Managers who don’t have a plan to talk to everyone on their team regularly are deluded.
7%
Flag icon
Real work is visible action managers take to support their particular vision for their organization. The question you need to answer for your manager is simple: does he do what he says he’s going to do? Does he make something happen?
8%
Flag icon
Politically active managers are informed managers.
10%
Flag icon
I don’t know the inner workings of Amazon, but when I see strategies that diverge wildly from conventional wisdom, I smell Volatiles at work.
11%
Flag icon
The Rands Test: 11 Possible Points Let’s start with bare-bones versions of the questions, and then I’ll explain each one. Do you have a one-on-one? Do you have a team meeting? Do you have status reports? Can you say “no” to your boss? Can you explain the strategy of the company to a stranger? Can you explain the current health of business? Does the guy/gal in charge regularly stand up in front of everyone and tell you what he/she is thinking? Are you buying it? Do you know what you want to do next? Does your boss? Do you have time to be strategic? Are you actively killing the Grapevine?
15%
Flag icon
Meetings must exist, but meetings cannot be seen as the only solution for making progress. If you must meet, start the meeting by remembering that the definition of a successful meeting is that when the meeting is done, it need never occur again.
19%
Flag icon
A Disaster is the end result of poor management. When your employee believes totally losing their shit is a productive strategy, it’s because they believe it’s the only option left for making anything change.
21%
Flag icon
when communications are down, listen hard, repeat everything, and assume nothing.
28%
Flag icon
Twenty years in, I can safely say there is one law—not in the book by Greene and Elffers—that is true: if you’re only interested in building power, you’re going to lose.
28%
Flag icon
“Computer Science has some of the most colorful language of any field. In what other field can you walk into a sterile room, carefully controlled at 68 degrees Fahrenheit, and find viruses, Trojan horses, worms, bugs, bombs, crashes, flames, twisted sex changers, and fatal errors?” He continues: “A software metaphor is more like a searchlight than a road map. It doesn’t tell you where to find the answer; it tells you how to look for it.”
34%
Flag icon
How do we grow? As I wrote in my book Being Geek (O’Reilly, 2010), the curse of Silicon Valley is that great engineers are often promoted to leadership for their hard work. While many succeed in this role, an equal part fails because the skills required to lead are vastly different than the ones required to be an engineer. The curse is that we’re often placing our most valuable engineers in a role where they’re predisposed to fail. Think of it like this: there’s a large population of immensely talented engineers that should not be leaders. There is no amount of training that would make up for ...more
42%
Flag icon
The story is, “Did you know it’s a statistical fact that people with larger feet tend to be better spellers? [Insert awe.] It’s because people with bigger feet are older.”
51%
Flag icon
The first five of these conversations can be awkward for managers because it’ll be obvious after your first two questions (“What is it?” and “How does it work?”) that you have absolutely no clue what’s going on and you think it’s a manager’s job to appear knowledgeable. Wrong. It’s a manager’s job to be clued in. You work in an industry populated with engineers, and these are folks who are paid a lot of money to care about the details, and that means they see right past feigned knowledge. Sure, they’re not saying anything because you’re the boss, but, um, you look stupid.
54%
Flag icon
Believe this; an individual tends to be very bad at work estimates until they’ve begun the work.
59%
Flag icon
A project manager is responsible for shipping a product, whereas a product manager is responsible for making sure the right product is shipped. A program manager is an uber-mutated combination of both that usually shows up to handle multiple interrelated projects like, say, an operating system.
60%
Flag icon
Gantt charts are great at showing the order of operations for building software, but never in history of ever have they effectively been used to measure when to ship that software.
61%
Flag icon
This section starts with what might the most important lesson regarding main¬taining a healthy team: bored people quit.
84%
Flag icon
Every month, your team produced something and it’s your job to document that production. I do this by spending an hour a month jotting down reflections of the team for the past 30 days.
93%
Flag icon
Automation — QA buzzword to describe testing that can be done by a machine instead of a human. Automation is always pitched as a time saver … but it’s usually a time sink.
95%
Flag icon
Milestone — Poorly defined, heavily over-communicated date within the software development cycle, where the software development team reflects on how screwed they are.