My path led me to become a director of engineering through strategic problem-solving, technical innovation, a proactive focus on "why," and a motivation to help others succeed. I found that harnessing my experience to help others allowed me to "force multiply" the impact I could have in the world and help create the next generation of engineering leaders.
[ Learn best practices for implementing automation across your organization. Download The automation architect's handbook. ]
How I climbed the engineering career ladder
A college professor steered me toward computer science. After giving me a bit of a push, he encouraged me to try it. I eventually became one of the first students from Juniata College to earn a web-development minor. I've now built a 20-year career in software engineering covering both professional services and product-based industries that span tech, the public sector, and higher education verticals.
There were three things I loved: technology, solving problems, and working with others. I began my career as a software engineer building web applications. I made mistakes, but others coached and mentored me to improve. Eventually, I was ready to solve harder problems and moved into a senior software engineer position.
As a senior software engineer, I continued developing code and added higher-level responsibilities. I had a greater influence on systems design, project planning, risk management, and stakeholder involvement. I began enabling my peers.
The next chapter added people management. As an engineering manager, 50% of my responsibilities included building software and 50% included people management. In a small team, the duties were reasonable. However, I quickly learned that as my responsibilities and my team grew, the context switching between being deep in code and my managerial responsibilities was challenging.
I pivoted from management to a technical architect role. Technical architects think deeply and surface complexities to problems that require definition. The discipline is heavy on enterprise architecture, systems design, large-scale challenges, and subsequently helping to oversee the success of the efforts delivered. Technical architects are an excellent resource that drives success by reducing the degrees of freedom. A successful technical architect can manage the risks of making a poor investment or going down a bad path. Technical architects can also be significant enablers for teams to have proper requirement definitions and stress-testing approaches.
Bringing the depth of experience I gained in my technical architect role and my ability to have a large impact on customers, I transitioned back to management. I loved working with teams. I then accepted a director of engineering position where I oversaw multiple delivery teams and the entire lifecycle from conceptualization, planning, delivery, and maintenance of software projects. I followed up the director role and started serving as a VP of engineering, where I continued to support teams and projects but added more executive responsibilities that bridged engineering success with business and strategy.
[ Become a Red Hat Certified Architect and boost your career. ]
Combining everything I enjoyed—leading people, technology, problem-solving, and strategic thinking—allowed me to shift into product development. I wanted to have a deeper impact and invest in products that served many customers. I accepted a senior director of engineering position at a product-based company where I oversaw eight teams responsible for building, maintaining, and supporting Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS)-based products. The challenge of building great products customers love, enabling teams, and the fine art of prioritization has been both complex and fun. It is a rewarding role that thoughtfully brought together everything I enjoyed from my previous positions.
Why this journey makes sense for me
I have the extroverted, intuitive, thinking, and judging (ENTJ) personality type, typically characterized as extremely rational and logical with an affinity for problem-solving and taking charge. These are not the most common traits found in software engineering, but they benefited me for my specific career path.
One driving force for becoming an engineering leader was my desire to motivate others to become their best and harness the collective opportunity for a team to have an impact. Coming from a hands-on software engineering background helps me bring empathy into my relationships with engineers. I wanted my influence to help others thrive, impact more people, and solve higher-level problems.
Macro problems can be broken down for teams to address issues that lead to much larger, impactful outcomes. And those problems provide opportunities to help people learn, grow, and drive the broader team's efficacy. I care about having an impact, working through the intersection of business strategy, developing effective technical solutions, and aligning teams to deliver on ambitious goals.
[ Download 10 resources to make you a better communicator. ]
In business, leadership takes on many different forms. In terms of engineering, it can be demonstrated in three specific ways: product management, engineering, and guiding teams. In product, leadership is exemplified by prioritization and value for customers. In engineering, it is about delivery execution and excellence. When you work with teams, you're actively helping people reach their fullest potential and accomplish amazing outcomes together.
I bring my own leadership style and expertise to align the three to solve those higher-level problems. It is incredible to watch people accomplish what they think is too ambitious when all three elements are aligned and effective.
A typical day for a director of engineering
Of course, data is a key driver in measuring success. But it's also not all that matters. The nonfunctional requirements (NFRs)—documentation, customer experience, compliance and regulatory, and performance—are critical to leading teams just as much as the "-ilities" of software (usability, maintainability, scalability, availability).
There's much more to being an engineering director than day-to-day operations like project management, agile ceremonies, hiring, and collaboration. Yes, I am in a lot of meetings. But I am active in those meetings. Listening, asking good questions, thinking critically, and following up are crucial skills.
At scale, I'm always seeking "signal versus noise" to best understand the broader context across many stakeholders. It is important to speak to customers—everyone in this industry should. There's also the effort to drive a culture of trust, lead with a positive influence, and create initiatives to help organizations succeed.
[ Learn 5 tips for succeeding with stakeholders in architecture projects. ]
A good place to start is ensuring teams are great at the basics. A huge part of building a culture of trust is recognizing people. A leader's fundamental responsibility is ensuring teams and individuals feel acknowledged for their wins, learning, and commitment. Leaders leverage day-to-day work as opportunities for professional development. As a director, managing those fundamentals helps build the foundation teams need to drive success.
I also try to be an influence for thoughtful decision-making. Engineers can tend to jump head-first into technical solutions (and I love this passion), but without knowing the "why" behind the problem, it can be a waste of time. Having a strategic focus and grounding solutions with a vision is important. This due diligence exemplifies working smarter, not harder, even though engineers love to dive right into building solutions.
I've tried to be an influence over the purpose and importance of the work to help inform holistic solutions. Ineffective solutions can introduce technical debt or put products into customers' hands that do not meet their needs. This erodes trust. You must balance a desire to move fast with the consequence of what may need to be addressed later. There is no guarantee remediation will be a future priority.
But, engineering directors need to be accountable for the commitments and success of their teams. Oversight of execution is required, and directors must help challenge the norm to invite creative problem-solving when challenges arise. Awareness of company goals and remembering to practice risk management to weigh the tradeoffs (like technical debt, cost, or delivery timelines) should be top of mind when working toward solutions. The trifecta of time, investment, and scope are always present. But, I still feel that being excellent at this role requires you to be great at aligning all stakeholders and bringing people together towards mutual success.
Looking ahead
When I look ahead, I dream bigger. My focus always seems to be drawn to having a larger impact. Being an engineering director still affords challenges and daily growth. I love learning every day from intelligent and capable people, working with customers who get value from products, and operating with a mentality of continuous learning. I don't see that changing.
That is the wonderful thing for me about building products. You can always improve something. Whether it's the people, the product, or the outcomes, I'm highly motivated by having an impact, and any next step in my career will emphasize opportunities to have more.
Looking ahead, my career may grow in different directions. It could involve learning more about the business side of products. It could also be creating a product from idea through delivery to the market. I'm drawn to products with an innovative focus.
The skills I've acquired are highly applicable in several ways, and there is still so much to learn. I love and welcome future challenges, helping create strategies to execute on those challenges, and having a degree of autonomy to lead efforts to fruition. It's essential for me to continue challenging myself, growing, and bringing others with me on a high-impact journey.
[ Check out Red Hat's Portfolio Architecture Center for a wide variety of reference architectures you can use. ]
About the author
Adam is a product engineering leader with around twenty years of experience currently serving as Director of Software Engineering for Red Hat's Developer Tools organization. He is passionate about leading teams, building impactful products for customers, and helping free and open source communities thrive. He specializes in software engineering, DevOps, Agile, and full-stack digital technologies. Adam enjoys coffee, craft beer, running, and spending time with his family.
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem Catalog
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit