Hristina Nedkova Transform your teams to effective engineering community

1 article/video left!

log in or sign up to unlock 3 more articles/videos this month and explore our expert resources.

Automatic Summary

The Art of Engineering Management: Herding Cats

In the world of engineering management, managing a team can often feel comparable to ‘herding cats’. This metaphor effectively encapsulates the intricate and unpredictable nature of leading a team of specialized individuals, each with their own unique skillsets and working styles.

My Journey into Engineering Management at Pay Safe

When I joined Pay Safe approximately three years ago, I found myself managing a mobile team, striving to grow this team into a larger, more effective mobile unit. With prior experience in various leadership roles and engineering, I was all too familiar with the common view that mobile teams are 'special snowflakes' - and not in the most complimentary way.

However, there’s a side to mobile team management that’s often overlooked - the distinct issues and challenges that come with mobile development, such as shipping compiled code for other people's devices and waiting for App Store approval.

Building Culture and Values within Mobile Teams

From my background as a free and open source software supporter, I believe that great software is built by great teams with an established culture, solidified by a strong sense of community. These values applied not just on a development level, but also operationally. One of our main goals was to achieve predictability in our teams, meaning regular schedules and stable velocity expectations to ensure smooth delivery of projects.

However, achieving this was no easy feat, as getting to consistent releases was indeed a difficult journey. It required hard decisions, persistence, and a lot of changes in our habits and systems. From my experience, I believe that the ownership of the release process and the predictable release cycle are the two core elements of any successful team.

Navigating the Challenges of Engineering Management

Despite our best efforts in navigating these challenges, unpredictability remained as conflicts arose from conflicting team incentives. Balancing user acquisition, engagement, and sustainable execution became a delicate juggling act that could quickly tip the scales into a hostile work environment if not properly managed.

To combat this, our focus quickly shifted to reinforcing common values such as engineering standards, quality standards, delivery expectations, and more. We leveraged style guides and best practices to establish a common language amongst our engineers and build consistent delivery standards.

Fostering Accountability within the Team

Peer accountability played a key role in our team as it’s a strong facilitator for individual growth and collaboration within the team. Encouraging accountable culture within a team requires nurturing an environment that enables people to freely express their ideas and admit their mistakes without fear.

Strategic Tech Decisions and Community Building

Our efforts to build a strong and responsible engineering team did not stop at mutual respect and communication. One of the subsequent challenges we faced stemmed from the architectural decisions carrying inevitable consequences for the whole app and team. To counter this, we implemented a more structured style guide and best practices, which are continually evolved based on our experiences.

Moreover, we organized regular meetings for discussing common topics, fostering cooperation, and giving engineers a platform to generate and share their thoughts for the future. This has not only encouraged collaboration but also resulted in significant improvements in our tools and systems.

Conclusion: The Importance of Growing a Community

In conclusion, the role of an engineering manager, particularly within mobile teams, is akin to 'herding cats'. The best an engineering manager can do is let the team create, test, and fight for their ideas. Giving engineers this opportunity fosters a solid team culture, facilitating the transition of a 'team' into a cohesive 'community' bound by common values and incentives.

Inspired by the concept of open-source programming, we have seen that great communities build great software, and have a definitive vision for future growth. Ensuring this growth and maintaining the strength of our teams is a continuous process, one which we are committed to in our journey in engineering management.

Be it resolving conflicts, fostering a culture of accountability, or making strategic tech decisions, the process of engineering management is an ever-evolving art of 'herding cats’. This journey has taught us valuable lessons and has undeniably strengthened our resolve to keep learning, adapting and growing.

Heeding the learnings from our journey, I hope you’ve found something useful to take home with you. Let's continue learning and growing together.


Video Transcription

Read More