AllBusiness.com
    • Starting a Business
    • Career
    • Sales & Marketing
    • AI
    • Finance & Fundraising
    • M & A
    • Tech
    • Business Resources
    • Business Directory
    1. Home»
    2. Company Culture»
    3. How to Manage Software Engineers»
    Manager working with his software engineer

    How to Manage Software Engineers

    Sarah King
    Company CultureCompensation & BenefitsStaffing & HROperations

    Having an effective software engineering team can be critical to a company’s success. This article describes a number of key steps an engineering manager should consider implementing for the benefit of the team and the company.

    Although the tips outlined in this article are specifically directed toward managing software engineering teams, many of these strategies can be more broadly applied to managing other employees as well.

    Build trust with the engineering team

    Building trust is one of the most important things you can do as an engineering manager. Studies have shown that high-trust environments regularly outperform more structured environments in which employees have a lot of oversight.

    Know your engineering team

    Your engineering team is made up of individuals with differing experiences, expertise, ambitions and personalities. It’s important to take the time to get to know each member of the team on an individual basis. You should determine their strengths, weaknesses, challenges and professional ambitions.

    Here are some tips for getting to know your team:

    • Build rapport through one-on-one meetings
    • Listen to the team
    • Ask questions
    • Spend time working with them directly
    • Ask about their preferred work style
    • Ask about their preferred communication style (phone? email? Slack?)

    Motivate team members

    Understanding what motivates team members can make you a better manager. It will also encourage team members to do better work with more autonomy and less oversight.

    Here are some tips to motivate your team:

    • Frequently acknowledge individual contributions
    • Recognize exemplary work, particularly when sharing updates from the team with cross-functional stakeholders and executives
    • Reward exceptional performance
    • Spend time with team members to learn about their career goals and what motivates them
    • Find career experiences that align with individual career interests
    • Create opportunities for your team to develop new skills to grow their careers

    Be inclusive

    Software engineering teams operate in remote, hybrid, and in-office models. The people on your team often will come from a variety of backgrounds and diverse cultures from all over the world. As a result, it’s important to foster an inclusive culture where everyone can apply their various strengths while doing their best work.

    Here are some tips to help team members feel included:

    • Highlight the expertise new members bring to the team
    • Pair new team members with other engineers
    • Have a conversation with new hires to learn about any accommodations that they need to be successful
    • Help new engineers develop key relationships
    • Support synchronous and asynchronous communication styles
    • Create space for team members to participate in team conversations

    Encourage collaboration between engineers

    While it’s important for an engineering manager to know the engineering team, it’s also important for team members to learn about each other, too. As an engineering manager, you need to give team members the space to do their work, while also encouraging the team to collaborate with each other.

    Here are some tips to encourage engineers to collaborate together:

    • Keep team initiatives high-level so that projects require teamwork
    • Bring the team together when kicking off new projects
    • Leave time to celebrate and learn after achieving team milestones
    • Encourage the team to focus and finish current team objectives together before individuals move onto the other priorities

    Do not micromanage

    A good manager knows how to delegate. You need to trust your team. To be a successful manager, you have to avoid any tendency to do all the work yourself. Micromanaging is not productive and causes anxiety and stress within the team. Team members want to feel they are trusted and respected. Inspire and guide the team instead of just issuing assignments.

    Develop and refine the mission

    As an engineering team leader, it’s critical to have a clear vision and mission for your team. Your team needs to understand where they are going and whether or not they are making sufficient progress. Clear communication ensures that your team and adjacent teams have a consistent picture of your team’s status.

    Create a 30,000-foot view

    Your team needs to move quickly. It’s your responsibility to help your team zoom out and consider their work in the context of other company goals.

    Here are a few ways to help your team focus on what is important:

    • Highlight how your team’s work impacts company initiatives
    • Spotlight two or three key problem areas that you want your team to keep in mind
    • Regularly review product and technical KPIs with the team
    • Consolidate team documents into a concise two-page executive summary

    Define success

    You must have an in-depth understanding of each project that the team is working on. As the leader, you need to clearly understand the key goals and milestones for the project and everyone’s roles. Make sure that you create clear goals for the team, but also seek the team's input to refine goals into actionable work that the team can execute and work together on.

    Here are some tips for defining success:

    • Make sure the team understands the bigger picture and goals
    • Communicate potential problems early and solicit solutions
    • Ensure cross-functional stakeholders are bought in
    • Ask the team how confident they are in achieving success
    • Foster a fast, continuous feedback loop

    Communicate clearly

    Giving updates to the team

    Communications with your team should be clear and concise. Regular updates to the team are beneficial. Regular updates to management are desirable as well.

    Here are some communication tips:

    • Consider your audience when you are communicating, whether it is the team, stakeholders, or executives
    • Lead with key information before expanding into additional technical details
    • Make it clear what input you are looking for from your audience
    • Share communication templates that will level up technical conversations within your team

    Resolve disagreement

    You have a high-trust team that has a clear direction, but your team needs to deliver on its promises. Occasionally the team may reach an impasse and may need some help to maintain forward momentum.

    Here are some tips to help resolve disagreements:

    • Define a strong ownership model to make it clear who is responsible and accountable to make a decision
    • Simplify the problem that needs to be solved to reduce technical complexity
    • If the team is stuck, and multiple good options exist, rely on your technical expertise and known context to choose a path forward
    • Schedule a future time to re-evaluate a decision while committing the team to a particular technical strategy

    For more information, the book Crucial Conversations is a great resource for how to effectively lead through high-stakes conversations.

    Make It safe to provide honest estimates of time needed to complete work

    Software engineering managers need to provide high-level estimates to coordinate their team’s work with other parts of the company. It’s critical to the company’s success that teams can work together to forecast when various initiatives can realistically be completed.

    Here are some tips to create a culture of honest estimation:

    • Start by building trust within the team and making estimation a safe practice. Otherwise, estimates may create a toxic team culture
    • Don’t micromanage estimates. It’s okay if a four week project takes five weeks, but it’s not healthy for a company when a one month project takes six months (or more!) to deliver
    • Seek the team’s feedback if estimates are unrealistic or have known risks
    • Use estimates to determine when to break down complex projects into more manageable chunks
    • Understand your team’s effectiveness (how much of your team’s time is impacting the team’s strategic goals)
    • Understand your team’s efficiency (how reliably your team is able to deliver planned projects on time)
    • Regularly use estimation to improve the health of the team rather than micromanaging individual performance

    Define “done”

    It’s often challenging for engineering teams to provide consistent evaluations of their work. One source of variation is that engineers may have different views of what it means for their work to be “done” or might not consider other steps after writing the code itself.

    Here are some tips to define “done”:

    • Set expectations that completing work includes taking time for testing, QA, deployment, release, validation, and verification
    • Ask engineers to pair with stakeholders (such as product managers, design, or customers) to seek early feedback before releasing software
    • Encourage the team to verify their work is released as expected and is having the intended impact
    • Ask the team to share learnings and insights from recently released work and how the work measurably impacted KPIs

    It’s important for the team to effectively develop, iterate, test, deploy and release. See this helpful article: Gillespie, Deploy !=Release (Part 1 and Part 2).

    Learn, improve, and iterate

    Engineering managers are responsible for continually refining and improving their teams. There is no one-size-fits-all solution for all teams, but leaders can use these strategies to help a team quickly learn and improve.

    Here are a few tips to help your team learn, improve and iterate:

    • Schedule regular team retrospectives to learn what is working as well as what is getting in the way of the team's success
    • Solicit the team for feedback and ideas on how to modify team practices
    • As the team's effectiveness and efficiency increases, consider removing processes and controls that have proven to be ineffective
    • Provide coaching and support to individual team members
    • If individual team members become bottlenecks for team effectiveness, you may need to make tough decisions for the benefit of the team and the company

    It’s essential for the team leader to provide accurate and in-depth performance reviews. When it’s not working out with a team member, sometimes warnings are appropriate, but other times the employee will need to be let go. You absolutely have to do this in a legal manner. Coordinate with the company’s HR department or in-house counsel to take the proper steps. Be fair to the employee, but also be fair to the company.

    Encourage knowledge growth

    Encouraging your team to grow their knowledge is a great way for engineering managers to keep their team engaged and motivated. Continuous learning helps your team strengthen key skills, develop new skills, and incorporate best practices from the industry.

    Here are a few ways to encourage the team to expand their knowledge:

    • Share news and updates from tools that your team builds with
    • Encourage employees to join groups or clubs that specialize in languages or frameworks that your team uses
    • Ensure people leverage their learning and development budget by raising awareness of applicable learning opportunities or conferences
    • Leverage your network to invite customers or other technical leaders to present to your team
    • Ask your network about opportunities that align with the motivations and interests of individuals on your team

    Encourage the use of AI with appropriate precautions

    Artificial intelligence (AI) is starting to become an amazing tool to assist software engineers to more accurately and efficiently develop software. As team leader, you should be guiding and encouraging the engineers on the proper use of AI tools.

    However, there are several major caveats in using AI for software engineers.

    First, users have to understand that the first output from an AI application could have major mistakes or omissions. The engineer using the output should check for bugs and ensure the viability and reliability of the code. It is better to view the initial AI output as a first draft that may need heavy editing.

    Second, there have already been reported instances of confidential company information being uploaded to AI applications and that information inadvertently later becoming publicly available. Engineers should be directed to avoid providing any identifying or confidential company information.

    Applying these practices of successful management to your engineering team

    Start by building trust within your engineering organization, develop and refine the mission of your team, reliably deliver projects, and encourage your team to expand and share knowledge with each other. Together these practices have helped teams excel and create an environment where people are able to do their best work.

    About the Author

    Post by: Sarah King

    Sarah King is a software and technology leader and successful entrepreneur with over 14 years of experience, including five years of management experience. She has worked in the EdTech, FinTech, media, mobile apps, gaming, payments, and autonomous vehicles spaces. She has a B.S. in Computer Sciences from Harvey Mudd College. She has managed engineering teams at Netflix, Ripple, and Cruise Automation.

    Connect with me on LinkedIn.

    Hot Stories

    Signing a co-founder agreement

    What to Include in a Co-Founder Agreement for Your Startup

    Using ChatGPT to write business content

    An Intro to ChatGPT: 10 Frequently Asked Questions

    Profile: Sarah King

    Sarah King is a software and technology leader, entrepreneur, and AI innovator with over 15 years of experience, including 7 years managing high-performing engineering teams. She has leveraged artificial intelligence and machine learning to drive innovation across diverse verticals—ranging from autonomous vehicles and data platforms to EdTech and FinTech. Sarah has guided AI-driven engineering initiatives at leading organizations such as Netflix, Ripple, and Cruise Automation. Connect with her on LinkedIn for collaboration opportunities and insights into transformative AI solutions.

    BizBuySell
    logo
    AllBusiness.com is a premier business website dedicated to providing entrepreneurs, business owners, and business professionals with articles, insights, actionable advice,
    and cutting-edge guides and resources. Covering a wide range of topics, from starting a business, fundraising, sales and marketing, and leadership, to emerging AI
    technologies and industry trends, AllBusiness.com empowers professionals with the knowledge they need to succeed.
    About UsContact UsExpert AuthorsGuest PostEmail NewsletterAdvertiseCookiesIntellectual PropertyTerms of UsePrivacy Policy
    Copyright © AliBusiness.com All Rights Reserved.
    logo
    • Experts
      • Latest Expert Articles
      • Expert Bios
      • Become an Expert
      • Become a Contributor
    • Starting a Business
      • Home-Based Business
      • Online Business
      • Franchising
      • Buying a Business
      • Selling a Business
      • Starting a Business
    • AI
    • Sales & Marketing
      • Advertising, Marketing & PR
      • Customer Service
      • E-Commerce
      • Pricing and Merchandising
      • Sales
      • Content Marketing
      • Search Engine Marketing
      • Search Engine Optimization
      • Social Media
    • Finance & Fundraising
      • Angel and Venture Funding
      • Accounting and Budgeting
      • Business Planning
      • Financing & Credit
      • Insurance & Risk Management
      • Legal
      • Taxes
      • Personal Finance
    • Technology
      • Apps
      • Cloud Computing
      • Hardware
      • Internet
      • Mobile
      • Security
      • Software
      • SOHO & Home Businesses
      • Office Technology
    • Career
      • Company Culture
      • Compensation & Benefits
      • Employee Evaluations
      • Health & Safety
      • Hiring & Firing
      • Women in Business
      • Outsourcing
      • Your Career
      • Operations
      • Mergers and Acquisitions
    • Operations
    • Mergers & Acquisitions
    • Business Resources
      • AI Dictionary
      • Forms and Agreements
      • Guides
      • Company Profiles
        • Business Directory
        • Create a Profile
        • Sample Profile
      • Business Terms Dictionary
      • Personal Finance Dictionary
      • Slideshows
      • Entrepreneur Profiles
      • Product Reviews
      • Video
    • About Us
      • Create Company Profile
      • Advertise
      • Email Newsletter
      • Contact Us
      • About Us
      • Terms of Use
      • Contribute Content
      • Intellectual Property
      • Privacy
      • Cookies