My work centers on engineering leadership, supported by hands-on experience across software architecture, development, data, and cloud platforms.
I build engineering teams around trust, clear direction, and meaningful ownership. My approach combines servant and transformational leadership with collaborative decision-making: understand what people need to succeed, connect their work to a shared purpose, and give them the authority and support to deliver.
My background in software engineering and architecture informs how I lead. I can engage deeply in technical decisions while helping teams connect those decisions to customer needs, operational realities, and business priorities. I bring that experience to coaching, planning, and problem-solving while creating room for others to develop their judgment and lead.
In development teams, I see servant and transformational leadership as complementary responsibilities.
Servant leadership shapes how I support people. I listen, remove obstacles, clarify expectations, and advocate for the resources and working conditions the team needs. Through regular one-on-ones, candid feedback, and career conversations, I help people grow in skill, confidence, and responsibility.
Transformational leadership shapes how I establish direction and guide change. I connect daily engineering work to a larger purpose, challenge practices that create friction, and involve the team in improving how we build and operate software. That includes technical change, stronger collaboration, and clearer ownership.
Together, these approaches connect ambition with practical support. When I ask a team to take on a new challenge, I also consider the context, capacity, skills, and decision-making authority they need to succeed. Supporting people and expecting strong results belong together.
I want engineers to understand the problem, the intended outcome, and the constraints—and have room to determine the best approach. I involve the people closest to the work in architecture, planning, and delivery decisions.
Meaningful ownership requires clear responsibilities and the authority to act. I work to make commitments, dependencies, and tradeoffs visible so people can coordinate effectively and raise concerns early.
Accountability applies to me as well. I am responsible for providing direction, making decisions, addressing obstacles, and following through. When commitments slip, I want us to understand why, address the cause, and agree on what changes next.
My leadership depends on honest communication delivered with empathy and respect. I value direct, actionable feedback and invite the same in return.
I want people to feel comfortable asking questions, acknowledging mistakes, challenging assumptions, and disagreeing with me. Different perspectives improve technical and organizational decisions when people can examine ideas openly.
I seek input and build agreement where it helps, while remaining willing to make a decision and explain the reasoning. When conflict arises, I work to understand the underlying concerns, address it early, and help people move forward with clear expectations.
Developing people is one of the most meaningful parts of my work. I use coaching, technical discussions, knowledge sharing, and career planning to help engineers strengthen their capabilities and take on broader responsibility.
That means adapting my support to the individual. Some people need closer guidance as they develop a skill; others need a sounding board, a stretch opportunity, or space to lead. I look for opportunities to delegate decisions alongside responsibility and help emerging leaders build confidence in their own judgment.
I also encourage shared knowledge and collaboration across specialties. Clear ownership and strong team coverage allow people to learn from one another and reduce dependence on any single individual.
I work across engineering, product, operations, and business stakeholders to turn priorities into plans the team can understand and execute.
My role includes making tradeoffs explicit: delivery speed, reliability, technical debt, customer impact, and team capacity all influence what we can responsibly commit to. I use evidence and delivery data to identify friction, inform decisions, and assess whether changes are helping.
I have managed individual team members and teams of 4 to 18 people, across 3 to 5 teams at a time.
Team Building: I have been leading teams since 2008 and have taken over existing teams, greenfielded new teams, and managed multiple horizontal and vertical teams. As a team leader, I have been responsible for the team's output, technical strategy & implementation, leading and mentoring, conflict resolution, and performance management.
In this time, I have actively hired and scaled teams, filling over 30 seats, defined job roles and crafted dozens of job descriptions, conducted interviews, attended hiring events, built diverse and inclusive teams, and led team change management.
Leadership, Coaching, and Mentoring: I take great pride in helping coach and develop other developers and making a lasting positive impact on their careers. While not all relationships last in the technology field, I have managed to stay very close with several people I have mentored over the years.
Since 2009, I've mentored developers, provided career coaching, and delivered technical workshops to support career growth. Many mentees have gone on to successful careers with companies such as Grammarly, AOL, Yahoo, and Target. I also collaborate with local colleges, providing hands-on skills tutoring and professional guidance.
Performance Management: I have utilized systems such as OKR, KPI, and p-trackers to help individuals define and achieve higher performance, through regular one-on-one meetings, performance reviews, open communication, and constructive feedback that fosters continuous improvement.
Agile (18 years): Simply put, Agile is a flexible approach that prioritizes adaptability and continuous feedback throughout the development cycle, allowing for changes as the project progresses. I have been using Agile since 2008. We implemented Scrum at Create Health and mostly every project I have worked on since has been some sort of Agile. Personally, I love Agile, even Scrum (which can be divisive among developers), but I am not a zealot. I believe in using the right tool for the job.
Waterfall (6 years): A traditional, sequential method where each development phase must be completed before moving to the next, with less room for mid-project adjustments.
I take compliance incredibly seriously. I have worked with companies that have had to adhere to strict regulations, including PCI DSS (7 years), GDPR (6 years), HIPAA (5 years), CCPA, SOX, and ISO 27001.
I approach process and organizational change with the same care as technical change: explain the purpose, involve the people affected, establish ownership, and adjust as we learn. My goal is to build teams that can deliver today while growing their ability to handle what comes next.
My focal languages have been JavaScript, Typescript, Python, and Golang. I also work well with Ruby, Java, PHP, Groovy, and Rust.
Most of my career oriented work has been obsessed with web engineering. My primary focus has been on React, Angular, and Next.js along with Node.js, (Express.js, and Nest.js), Deno, Ruby, and Golang on the back end.
Working with data is incredibly satisfying to me. It takes a strategic mindset and a lot of diving into diverse technologies as use and need should always have just as much influence as the data itself.
Most of my cloud work has been on AWS, from core compute and storage through managed Kubernetes, serverless, and data services, with additional work on GCP.