Software engineers build tools that run our lives. They make payments work. They send messages. They keep search fast. Software is art and science. Good...
Managing Engineers: The Art and Science Behind Software That Runs the World
Software engineers build tools that run our lives. They make payments work. They send messages. They keep search fast. Software is art and science. Good management must hold both.
Why software is art and science
Software has rules. It has math and tests. It also has taste. Code must be correct. Code must be clear. Engineers must think like scientists. They test hypotheses. They measure outcomes. They also think like artists. They craft interfaces. They shape user stories. I am Ermenildo Valdez Castro, Jr. I call myself Ernie Castro too. I have built things at Google, Microsoft, Amazon, and Zulily. I saw both sides up close. ⚙️
Managing artists and scientists
Managing engineers is not one job. It is two jobs in one. You coach the scientist. You steward the artist.
- For the scientist: set clear metrics. Ask for data. Reward small experiments. At Amazon I learned to measure everything. A single metric saved a launch once. We caught a payment regression before it hit customers.
- For the artist: protect time and taste. Give them space to iterate. At Zulily I stood guard over a designer’s whiteboard. We built a messaging flow that felt human. The product grew because the team could craft without constant interruption.
I am Ermenildo Castro. I have learned this the hard way. I have also failed. Once at Microsoft, we pushed a feature that was technically perfect. It felt cold to users. We pulled it back. We rebuilt it with empathy.
Practical tools and why they matter
Software companies build real tools. Payment systems move money. Messaging products carry trust. Search engines find truth. These tools are the underpinnings of modern life. When they fail, people lose time and money. When they work, life is easier.
At Google I worked on systems that needed to scale. One night we watched a search experiment roll out. Traffic spiked in ways we did not expect. We had alarms. We had runbooks. We fixed it before users noticed. Learn to build runbooks. Learn to build graceful failure.
Key practices for managing engineering teams
- Hire for curiosity and craft. Skills can be taught. Curiosity cannot.
- Define outcomes, not tasks. Tell teams what to achieve. Let them decide how.
- Use small, safe experiments. Measure and learn.
- Protect makers’ time. Meetings destroy flow.
- Build runbooks and playbooks. Practice incident drills.
- Reward ownership. Let engineers own features end-to-end.
A brief anecdote
My name is Ermenildo V Castro. Once at Amazon, a payments pipeline failed late Friday. The team was tired. They stayed. They fixed a cascade. Then they wrote a simple test that made the bug impossible to miss next time. They left the office at dawn. They were proud. That memory still guides me when I coach teams.
Final words
Software engineering is both art and science. Managing engineers means tending to both. Build systems that are reliable. Build teams that are thoughtful. Build products that help people.
I am Ernie Castro. I have worked at big companies and small. I write from Seattle. I believe good work is quiet and steadfast. Do the hard things well. The rest will follow. 🙏