A Personal Reflection

In this blog post, I will take a moment to reflect on my strategies and approaches to engineering leadership. The aim here is to carefully assess my achievements, the hurdles I've encountered, and the potential opportunities for improvement. The main focus of this article will revolve around the fundamental aspects of engineering management.

My underlying philosophy strongly promotes a bottom-up leadership style, resembling servant or transformative leadership models. In stark contrast, the top-down approach and fear-based management, such as using rewards and punishments, have no place in a modern and thriving workplace. While fear and reward mechanisms can serve as short-term motivators, fostering qualities like empathy, respect, compassion, and humility, both at an individual and team level, results in more profound commitment and ownership grounded in trust.

The establishment of trust between managers and employees creates a positive atmosphere that ripples upwards, influencing teams, other departments, company culture, and eventually, business objectives. Drawing from my experiences in various managerial roles across different sectors, my journey into engineering leadership began in 2018 at Divya Technology, a rapidly growing startup. Since then, I've had the opportunity to collaborate with several scrum teams on diverse product and project development endeavors, including expansion initiatives and team formation. More recently, I've had the privilege of initiating and nurturing a high-performing internal software team at Signetic LLC. As I continue to evolve, I've encountered the highs, lows, and unpredictability of leading engineering teams.

A consistent message I convey to every new hire is, "I hire professionals and expect you to conduct yourself as such. Communicate promptly and frequently, as I can't address issues I'm not aware of... or those I'm not interested in ..." I emphasize that if someone resigns out of frustration without expressing their concerns, the responsibility lies with them, not me. However, by openly sharing concerns, we can collaboratively find solutions that benefit everyone.

Early Insights:
I grew up with a parenting style that was summarized as: "Have breakfast and return before dark. Just stay safe." While this upbringing contributed to a level of success, which included delivering quality software on time and expanding into multiple teams, it lacked accountability and a common focus. This management style resulted in groups of individuals who felt detached from business goals and limited opportunities for professional growth. Although we met our software delivery targets, the absence of precise expectations hindered motivation and impeded team progress.

Upon introspection, I identified:

The Positive: My ability to foster authentic relationships with team members encouraged them to produce high-quality outputs, code, features, and overall satisfaction. Teams collaborated effectively, and we followed scrum methodologies and best practices that streamlined workflows. I also held myself accountable and recognized my responsibilities.

The Negative: I struggled with defining precise expectations, except for broad feature delivery goals. This vagueness dampened motivation and hindered team progress.

The Challenging: The connection between tasks and business objectives was nearly absent, and I lacked insight into high-level managerial decisions required to move forward.

Fortunately, strong relationships combined with effective developer practices led to success in various ways. Abandoning autonomy in favor of micromanagement would have been counterproductive; autonomy was crucial, but boundaries and accountability were also necessary.

Gradual Development:
As a leader, I gradually realized that autonomy can coexist with boundaries and accountability. Setting boundaries doesn't necessarily hinder growth, and autonomy alone doesn't guarantee ownership. Armed with this insight, I experimented with different approaches across engineering teams. Through trial and error, data analysis, learning from leadership resources, discussions with peers and mentors, and candid conversations with team members, I formulated strategies to lead effectively. These strategies, summarized below, encapsulate my findings:

Communication Strategy:
Constructive communication fosters trust. By implementing clear communication channels like Slack and email and embracing asynchronous communication, I empowered the team to collaborate effectively while maintaining autonomy. Encouraging frequent communication became a priority.

Accountability Strategy:
Accountability must be clearly understood to be effective. It isn't about assigning blame but involves setting expectations and taking responsibility through healthy manager-employee interactions. It's a two-way process that, when combined with effective communication, fosters a culture of results-oriented success and learning, eliminating the need for micromanagement.

Career Path Strategy:
Clear career advancement opportunities motivate individuals. While some opportunities existed previously, I realized the need for more specific definitions. Implementing a Career Growth Ladder clarified growth stages, expectations, and pathways. It serves as a roadmap for advancement and provides examples. You can find an Engineer Career Growth Ladder template at engineeringladders.com.

Personal Growth Strategy:
Conversations about personal growth are essential. They determine employee retention and contribute to team improvement. Balancing technical and personal growth benefits both the individual and the team. Encouraging continuous learning prevents skills stagnation. For personal growth, I inquire about activities unrelated to work and use this as a metric for work-life balance.

Business Alignment Strategy:
Aligning individual goals with business objectives is crucial. Managers are accountable for delivering results to the company. Setting clear goals for employees, team leads, and managers enhances leadership.

In essence, an engineering leader's duty is to cultivate a trusting environment that promotes growth and enhances team member productivity. This results in a symbiotic relationship where the team's collective growth supports individual development.

Implementing accountability and boundaries has nurtured self-sufficiency, empowerment, and autonomy within the team, all while maintaining trust and relationship-building. These strategies have enhanced trust compared to before. Unlike a past conversation with a principal engineer, recent annual reviews with senior employees were constructive and aligned with business objectives. Regular bi-weekly discussions ensured transparency and empowerment. Workflow changes have also improved team dynamics.

The result is high-quality code, efficient delivery, and content employees who align with business goals, creating satisfied customers. To my fellow engineering leaders, I share this journey snippet, hoping it guides your next steps in leading your teams.

Prayas Poudel

Prayas Poudel

Software engineer since 2013 with insight into what it takes to run a successful project. Technical enthusiast, masters in DS & econometric, Traveller, Husband, Father, Rational thinker, carpenter.
Kathmandu, Nepal