Working With Engineers

Leadership Skills

10 minute read

Engineers are my work besties. Pure and simple. I admire their brilliance and problem-solving skills - watching them crack complex challenges is like witnessing daily magic. They're the invisible force behind every product, the unsung heroes of innovation. That's why working well with them isn't just a priority, it's a must especially since we're in this together, building the future, one solution at a time.

Software Engineer Resume: Examples, Tips, and More | Coursera

Understand Your Engineers Work Styles
Prioritize gaining a deep understanding of your engineers. Typically, engineers are intellectually driven individuals who thrive on tackling challenging problems and acquiring new knowledge. Invest time in learning about each engineer on your team, discovering the unique ways they work most effectively. For instance, while some engineers might prefer being sent a list of priorities, others may need a thorough explanation of the reasoning behind specific decisions to avoid frustration.

Understanding individual work styles is crucial in this dynamic. Some engineers may prefer the quiet contemplation that email communication offers, allowing them to digest information and respond thoughtfully in their own time. Others might find their best ideas in the ebb and flow of conversation – regular, lively check-ins could be their ideal platform for a creative exchange of thoughts.

Communication and Clarity
Effective communication is the bedrock of a strong PM-engineer partnership. It goes beyond simply explaining what engineers need to build; it involves painting a vivid picture of the product's "why" and "how." At Apple, for instance, PMs are known to present engineers with detailed narratives of the user experience, helping engineers understand the 'why' behind their work.

Speak their language
Speaking the engineers' language isn't about fancy words or impressing them with tech jargon. It's about building a bridge between your ideas and their tools.

Think of it like this: You have a brilliant product vision, a delicious-sounding cake recipe. But the engineers are the bakers, with their own ovens and mixing bowls. If you only talk about "sweetness and sprinkles," they won't know how much flour to add or what temperature to set. And if they only talk about "algorithms and optimization," you might miss out on the fluffy perfection you imagined.

That's where speaking their language comes in. Learn their basic tools and terms, enough to ask clear questions and understand their perspective. But then, bring it back to the user. Discuss the cake in terms of the person eating it, their needs and desires. This translates your vision into their world, aligning everyone on the "why" behind the technical details.

Remember, it's a two-way street! Encourage engineers to break down their challenges in simple terms, share their expertise without the tech mumbo jumbo. Let your user research guide their technical decisions. And don't hesitate to use relatable analogies or metaphors to bridge complex concepts and spark creative solutions.

Active Listening
I used to think it was enough to clearly articulate the product vision and throw in some data for good measure. But I learned the hard way that effective communication with engineers is like a fine recipe – it needs more than just the right ingredients. Active listening turned out to be the secret spice. Before, I'd bombard them with details and miss the nuances in their feedback. Now, I embrace their insights, even when they challenge my plans.

Embrace Diversity and Cultivate an Inclusive Environment
Building strong relationships with engineers transcends purely technical understanding. It demands embracing diversity and encouraging an inclusive environment. This means acknowledging and respecting individual differences, ensuring everyone feels valued and empowered to contribute their unique perspectives and skills.

Why Inclusion Matters:

  • Diverse teams are more innovative and successful: Studies show that diverse teams generate more creative solutions and achieve better results.
  • Inclusion unlocks untapped potential: When everyone feels valued and heard, it unlocks hidden talents and promotes a spirit of collaboration.
  • Fairness and belonging boost morale: Creating an inclusive environment improves employee morale and satisfaction, leading to higher retention and engagement.

Promoting Inclusion in Action:

  • Be mindful of unconscious bias: Recognize and address your own implicit biases to ensure fair treatment and opportunities for all.
  • Celebrate diversity openly: Acknowledge and appreciate different backgrounds, experiences, and viewpoints within the team.
  • Empower underrepresented voices: Actively seek out and listen to input from individuals from underrepresented groups.
  • Promote equal access to opportunities: Ensure everyone has equal access to training, mentorship, and career advancement opportunities.
  • Create a safe space for open dialogue: Encourage conversations about diversity and inclusion, allowing team members to express their experiences and perspectives constructively.

By cultivating an inclusive environment where everyone feels valued and empowered, you are encouraging a stronger sense of belonging and collaboration within the team. This, in turn, leads to a richer exchange of ideas, more innovative solutions, and ultimately, a more successful and impactful partnership with your engineers.

🚨Important: Inclusion is an ongoing process that requires constant effort and intentional practices. By making it a priority and integrating it into your daily interactions, you can create a truly inclusive environment where every engineer feels empowered to contribute to their fullest potential.

Treat Engineers as Trusted Advisors
Building successful products depends on creating genuine partnerships with engineers. It's essential to involve them throughout the product's life cycle - from the early brainstorming stages to the analysis after launch. Sharing clear, transparent insights into the decision-making process encourages them to grasp the "why" of their work.

Software and Workflows for Distributed Engineering Teams

Immerse them in the user experience through customer visits and research sessions, cultivating empathy and a user-centric mindset. It's also crucial to actively seek their input and value their expertise, reinforcing the trust and respect in your partnership. Prompt and thoughtful attention to their feedback and concerns ensures that every team member's voice is considered, creating an environment where all contributions are acknowledged and valued.

💡
Keep in mind that engineers are at their most productive and inspired when they feel valued, have a clear understanding of the reasons behind the tasks they're working on, and perceive a genuine interest from you in their methods and technical expertise.

Empathy and Technical Understanding
Develop a deep understanding and respect for the engineering perspective. This doesn't mean a PM must be a coding expert but should have a basic grasp of technical constraints and processes. For instance, Google's development of its search algorithms involves PMs who comprehend the technical complexity, enabling them to set realistic goals and timelines.

This understanding helps PMs to better communicate with stakeholders and advocate for their team's needs. It’s about bridging the gap between technical and non-technical realms, translating engineering challenges into business impacts, and vice versa. This level of insight also allows PMs to anticipate potential roadblocks and collaborate on solutions proactively, rather than reacting to issues as they arise.

A PM’s comprehension of technical aspects should extend beyond mere surface-level knowledge. It involves a continuous learning attitude, staying updated with the latest technological trends and understanding how they impact the team’s work. This proactive approach in learning not only helps in keeping the project aligned with current tech standards, but also in inspiring confidence and trust within the engineering team.

Respect Technical Limitations
Embrace feedback and limitations as opportunities for collaboration, not obstacles to overcome. When faced with pushback on a design or a customer request, resist the urge to react defensively. Instead, actively seek to understand their reasoning. Before reacting to an engineer saying they can't do something, take the time to first understand their perspective and reasoning. Explore comparable functionalities in other products, and engage in open dialogue to understand their effectiveness and potential implications for your own implementation.

This collaborative approach allows you to transform constraints into opportunities for joint problem-solving, cultivating trust and mutual respect with your engineers. Moving beyond an "all-or-nothing" mindset prevents frustration and encourages open communication, keeping engineers engaged and invested in the product's evolution.

Technologic Limitations:

  • Legacy systems: Outdated infrastructure or software dependencies may not support desired features or limit performance and scalability.
  • Compatibility issues: Integrating with third-party systems or services can introduce compatibility challenges or data exchange restrictions.
  • Security concerns: Implementing certain features might introduce vulnerabilities or require significant security measures, impacting development time and costs.
  • Technical debt: Prioritizing short-term fixes over long-term architectural improvements can create a backlog of technical debt that eventually hinders new feature development.
  • Limitations of programming languages or frameworks: The chosen technologies may have inherent limitations in terms of performance, scalability, or feature compatibility.

Avoid setting deadlines on behalf of your engineering team
When working on project timelines and deadlines, it is imperative for Product Managers (PMs) to avoid setting deadlines without the input and final approval of their engineering teams. Presuming to commit to dates without consulting engineers can be perceived as overbearing and disrespectful. This approach not only undermines their autonomy, but also disregards the complexity and scope of their work.

Engineers, particularly in Agile environments, have a keen sense of the time required for tasks, with tools like story points providing estimated timelines. However, it is essential for engineers to have the final say in setting these timeframes, and it is prudent to include a buffer period to accommodate unforeseen factors like testing challenges or Quality Assurance (QA) discoveries, which could uncover bugs and extend the required time.

Many PMs tend to underestimate the time engineering work requires. Beyond coding, there are tasks like writing and runnings tests, setting up and managing infrastructure, documenting code, reviewing code, designing system architecture and managing deployment schedules. Coding itself can be time-consuming, as engineers must consider various edge cases and integrate different system components. This comprehensive approach often means that the actual time required can surpass initial estimates.

To set realistic goals and expectations, a feasibility analysis is crucial. PMs should work collaboratively with engineers early in the planning process to assess the feasibility of proposed features or timelines. A prime example of this collaboration is Spotify, where engineering teams are involved right from the product ideation stage to gauge technical viability.

Additionally, creating balanced roadmaps that harmonize business needs with technical considerations is essential. Amazon’s approach of working backward from customer needs is an exemplary model. This method ensures that both PMs and engineers are aligned on the end goal, facilitating a productive partnership where both the business objectives and the realities of technical implementation are given equal importance.

Respect their space
Early in my PM career, I was eager to learn the technical side of things. Every line of code felt like this fascinating puzzle. But I realized I got carried away, constantly popping by engineers' desks with questions which disrupted their workflow. Interrupting frequently isn't just inconsiderate, it can be counterproductive. Context switching throws off focus, potentially leading to bugs, missed deadlines, and frustration for everyone involved. Remember, there are dedicated times built into the workflow for question-asking, like technical days, ceremonies, and regular 1-on-1s. Utilize these spaces to dive deeper into the technical aspects.

Do You Have What It Takes to Become a Software Developer?

And whether you're in the office or remote, respect an engineer's focus. Seeing them on a walk, away on their screen, or simply busy doesn't equate to laziness. Sometimes, quiet concentration is exactly what they need to solve complex problems. Respecting their time isn't just a courtesy, it's a vital element of a productive working relationship. Trust that they'll deliver, and let them know you're available for those dedicated discussion times.

Minimize Re-work
Dealing with changing requirements is a common challenge, but being upfront about expectations can make a big difference. Clearly communicate from the start which aspects of the product decisions are firm and where there might be room for future changes. This approach not only prepares engineers mentally, but also encourages them to take shortcuts and adopt flexible strategies that can accommodate potential adjustments.

As a PM, you can finalize several elements before your engineers crack a line of code. This proactive approach saves time, creates ownership, and sets the stage for a successful project. Here are some examples:

Define the Core Problem & User Needs:

  • Usability studies: Observe users interacting with existing products or prototypes to understand pain points and desired functionalities.
  • User interviews and surveys: Gather user feedback on potential solutions and validate your assumptions about their needs.
  • Competitive analysis: Research existing solutions and identify opportunities for differentiation and improvement.
  • Stakeholder workshops: Facilitate brainstorming sessions with key stakeholders to define the problem statement, vision, and success metrics.

Craft the Product Strategy & Roadmap:

  • User journey mapping: Visualize the user's experience throughout the product lifecycle, identifying key touchpoints and potential improvements.
  • Prioritization exercises: Collaborate with stakeholders to prioritize features based on user needs, business objectives, and feasibility.
  • Develop a detailed product roadmap: Define the sequence of feature releases, deadlines, and dependencies.
  • Create user stories and acceptance criteria: Clearly define the functionality and expected behavior of each feature.

Lay the Technical Foundations:

  • Gather system architecture and infrastructure requirements: Outline the technical platforms, tools, and resources needed to build the product.
  • Conduct API research and integrations: Identify needed APIs and assess their feasibility and potential complexities.
  • Define non-functional requirements: Specify performance, security, accessibility, and scalability considerations.
  • Prepare mockups and design assets: Provide clear visual representations of the user interface and user experience for engineering reference.

Additional Proactive Tasks:

  • Secure resources and budget: Ensure necessary personnel, budget, and equipment are allocated before development starts.
  • Establish communication channels and cadence: Set up regular meetings, collaboration tools, and communication protocols for the team.
  • Define the review and feedback process: Outline how feedback will be gathered and incorporated throughout the development cycle.

By finalizing these critical elements before engineering kicks off, you set the project on a smooth course. You ensure the team is aligned on the user needs, technical feasibility, and roadmap, allowing engineers to focus on building the best possible product. Remember, the key is to strike a balance between thorough preparation and leaving room for agility and adaptation as the project progresses.


Final Words 📖

Collaborating with engineers is an incredibly rewarding aspect of the job; it's both a gift and a privilege. Their natural intelligence and superior problem-solving skills set them apart. When working with engineers approach interactions with humility and a willingness to learn – a mindset championed by leaders like Satya Nadella by adopting a 'learn-it-all' rather than a 'know-it-all' attitude.

Engineers possess a unique way of thinking and approaching problems, often seeing solutions that others might overlook. By showing genuine respect for their work and thought processes, and valuing them not just as colleagues but as individuals, you'll earn their respect in return. This approach transforms the dynamic from being solely a stakeholder advocate to a valued, integrated member of the team.

Building this relationship involves actively listening to their ideas, considering their perspectives, and appreciating the depth of their technical expertise. It's about creating a collaborative environment where their contributions are acknowledged and their insights are sought after. By doing so, you'll not only encourage a stronger team spirit, but also tap into the wealth of knowledge and creativity that engineers bring to the table, ultimately leading to more innovative and effective solutions.


Next Steps 🚀

  1. How top product managers work with engineers
  2. How Product Managers Can Build Successful Relationships With Engineers
  3. How product managers and engineers at Asana develop great relationships
  4. How Do Product Managers Work With Engineers: A Guide To Effective Collaboration And Success
  5. Communication is Key to Product Managers working with Engineers