01Understand before you act
I ask a lot of questions. Sometimes more than people expect.
That's how I understand complicated systems, whether we're talking about software architecture, organizational structure, delivery processes, or team dynamics.
Slow delivery can mean unclear requirements, technical complexity, too many handoffs, or friction between teams. Burnout might be about deadlines, conflict, scope churn, or some combination of those things.
The solution depends on the cause.
I'd rather spend time understanding a problem than confidently solving the wrong one.
02Make the tradeoffs explicit
Engineering doesn't operate separately from the business.
Sometimes the business genuinely needs us to move faster. My job isn't to reflexively say no, and it isn't to quietly turn that request into a death march.
If we need more speed, what changes? Scope, quality, capacity, sequencing, or risk? If we hire more people, how long before that capacity becomes useful? If we change our process, what problem are we actually trying to solve?
Engineering capacity is an investment, and I want to understand what the business expects in return. Sometimes the right decision is to stabilize a platform, sometimes it's to prioritize new functionality, and sometimes it's to stop an experiment that hasn't demonstrated enough value to justify continuing. I don't believe every technical investment needs an immediate financial return, but we should understand what we're trying to accomplish, what we're willing to spend, and what would cause us to reconsider.
Every week spent on one thing is a week not spent on something else. I'm willing to put off work engineers would love to do when something else matters more to the business right now. When we take on technical debt, it should be a decision someone made out loud, not something we discover later.
When we try something new, including changing how we build software with AI, I want to know what would tell us it isn't working. An experiment can teach us a lot and still not be worth continuing, and I try not to confuse learning something with building something the business needs. Some risks aren't ours to trade at all: security, compliance, and regulatory obligations limit what the business can accept, however attractive the deadline.
I want the business and engineering to understand what they're choosing, including the consequences. Then we can make a decision together and own it.
03Step in when it matters
I believe strongly in ownership.
If a production system is on fire, I'm not going to watch from the sidelines. I'll be there asking questions, helping diagnose the problem, and doing what I can to get things under control.
If something important has no clear owner, I'm not comfortable watching it fall through the cracks. I'll step in.
But taking ownership in the moment shouldn't mean becoming the permanent owner. Once the immediate problem is resolved, we need to understand how the gap happened and make ownership clear.
I step in when clarity or risk demands it, and then I make sure the system doesn't depend on me next time.
04Seniority should create leverage
I don't want the most experienced engineer on a team spending their days cleaning up everyone else's work.
That's an expensive janitor.
A strong senior engineer raises the quality of the people around them. They coach, explain why something matters, offer useful feedback, and help others develop judgment. They learn to give away the Lego blocks.
I see leadership the same way. My job isn't to make myself indispensable.
05Build an organization that can make decisions
I believe an Engineering Manager is responsible for people, process, and outcomes, in that order. That isn't because outcomes matter less; capable people working in a healthy system are what produce results that last. The goal isn't to create managers who have all the answers. It's to develop people who can think through difficult problems, make sound decisions, and take ownership without constantly looking upward for permission.
Some good managers still write code and some rarely do. What I care about is whether the people around them are growing, and that usually means teaching them how to weigh alternatives and risks rather than handing them the answer.
That philosophy extends to how I think about organizational design. Teams should have clear responsibilities and meaningful authority over the systems they own, with decisions made as close to the work as practical and escalated when they affect other teams or carry real risk. I prefer lightweight processes that help people make decisions rather than committees that require everyone to agree. Sometimes that means an architectural decision record with a clear owner and the right reviewers, sometimes it means involving the right subject matter expert, and sometimes it means recognizing that the organization itself needs to change.
Consulting people isn't the same as needing everyone's agreement. The exception is risk that belongs to someone else: security and compliance should have real authority within their domains, not just a seat at the table.
06Hold a high bar without forgetting the human
An engineering organization is a team, not a family.
I care about the people I lead. When someone is struggling, I want to understand why. I'll work with them to identify the issue, give clear feedback, and establish a measurable path to improve.
But empathy doesn't mean avoiding accountability.
When coaching isn't enough, expectations and consequences need to be clear. Sometimes that means a formal improvement plan; sometimes it ultimately means making a difficult personnel decision.
Avoiding that responsibility isn't fair to the person who's struggling, or to the rest of the team.
07Own your decisions
I'm going to make mistakes. Every leader does.
When I get something wrong, I want to own it publicly, explain what we're going to do to fix it, make the correction, and recognize the people who helped put things right.
Owning a decision also means being honest about what kind of failure it was. Sometimes I made a poor call. Sometimes the call was reasonable and the outcome still went against us, or the engineering was solid and the business bet didn't pay off. Those deserve different responses, and none of them is a reason to hold up an engineer as the cause. I'll explain the business impact to the people above me, the team's manager will lead the fix, and the engineers closest to the problem will help us understand what happened. The postmortem is for learning, not for finding someone to blame.
Credibility doesn't come from pretending to be right all the time. It comes from being accountable when you're not.
08Know when to get out of the way
When a team is healthy, delivery is predictable, people trust each other, and decisions are being made effectively, I don't need to be at the center of everything.
I fade into the background.
I'll stay close enough to see emerging friction, coordinate when needed, and be there when something requires my attention. But the team should be able to operate on its own rhythm.
My job isn't to be the hero. It's to create the conditions where the team can succeed without me.
// selected impact The philosophy matters, but so does what happens when you put it into practice. Here's a selection of the teams, systems, and products I've helped build.
Hometap · Engineering Manager → Director of Engineering · 2024–present
Developing Engineering Teams and Leaders
- Engineering teams led
- 3 3
- Engineer promotions supported
- 4 4
- AI initiatives adopted
- 4 4
At Hometap, I lead three engineering teams supporting the home equity investment business. I joined as an Engineering Manager in 2024 and became Director in 2026. These days, more of my attention goes toward coordinating delivery across teams, resource allocation, and balancing engineering capacity against business priorities.
I've helped refine our engineering career ladder and supported four engineer promotions. I've also championed AI adoption across engineering and the business, including CodeRabbit and Claude Code alongside two internal initiatives. One reached production use, while the other became a reporting tool that allowed us to retire an existing SaaS product.
Grifin · Head of Engineering · 2022–2024
Strengthening a Fintech Platform for Growth
- Customer assets migrated
- $8M $8 million
- Customer retention through migration
- 95% 95%
- Engineering team growth
- 2 → 5 2 to 5
At Grifin, I made the decision to prioritize a major Expo and React Native upgrade over new feature development. We were running on an older Expo SDK approaching the end of its supported life, and changes to the navigation stack meant upgrading would require significant work. I assigned the project to our senior engineer who knew Expo best. We could absorb the engineering cost then or risk reaching a point where we couldn't ship new versions of the iOS app.
At the same time, we were migrating between brokerage infrastructure providers. An external consultancy was already handling much of the development, and I focused on completing the migration and gradually winding down that engagement. I was hands-on throughout, writing data migration scripts, reconciling account data, and helping move brokerage accounts. We completed both initiatives during my tenure. The brokerage transition involved roughly $8 million in customer assets, with 95% customer retention through the cutover.
Denim (formerly Axle Payments) · Head of Engineering → Director of Engineering · 2021–2022
Building an Engineering Organization for Growth
- Engineers
- 3 → 12 3 to 12
- Invoice review and approval time
- −60% down 60%
- SecurityScorecard rating
- D → A D to A
When I joined Denim, engineering was a small team with a hands-on CTO and three engineers. As the business grew, we introduced structured onboarding, defined career paths, and eventually added two Engineering Managers. We also invested in development infrastructure so the larger team could work more independently. One of our product initiatives automated parts of invoice review, reducing Operations' review and approval cycle time by approximately 60%.
One thing I'd do differently is consider contractors more proactively as a way to augment engineering capacity. I hadn't really explored that option until we lost a key engineer and needed additional help. The contractor we brought in turned out to be an excellent addition. I wish I'd considered that flexibility earlier.
BrightHive · Principal Systems Architect → VP of Engineering · 2019–2021
Building Engineering Through a Business Transition
- Engineers hired in six months
- 0 → 8 0 to 8
- Engineering retention
- 90% 90%
- Sensitive records supported
- 1.5M+ more than 1.5 million
I joined BrightHive as Principal Systems Architect, helping build its early data trust platform, and later became VP of Engineering as the company transitioned from consulting toward SaaS. We grew the engineering organization to eight people in six months while supporting existing customer commitments and developing a new customer-facing product.
Looking back, I think we spent too much time building things ourselves while still searching for product-market fit. I architected a framework that automatically generated APIs from data schemas, an ambitious solution to a problem we probably didn't need to solve ourselves. We made similar investments in other parts of the platform when we could have looked more seriously at existing alternatives. The ideas weren't necessarily wrong, but we lacked focus, and I wish I'd challenged our build-versus-buy decisions much earlier.
GST Weather Group · Lead Software Engineer · 2013–2019
When Engineering Decisions Become Business Decisions
- First-year DirectMet revenue
- $650K $650 thousand
- Ahead of competitors to market
- 2 months 2 months
- Aviation weather systems deployed outside the U.S.
- 6 6
At GST's Weather Group, I architected and helped bring DirectMet to market, a commercial platform for processing NOAA GOES-R satellite data. We built it using Docker-based microservices, with a relatively small team and budget. The MVP reached market two months ahead of competitors, and the product generated approximately $650,000 in first-year revenue.
I also worked on commercial aviation weather systems and supported six deployments across the Caribbean, Latin America, and Asia.