Managing Developers – HackerRank Blog https://www.hackerrank.com/blog Leading the Skills-Based Hiring Revolution Thu, 22 Aug 2024 18:27:55 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://www.hackerrank.com/blog/wp-content/uploads/hackerrank_cursor_favicon_480px-150x150.png Managing Developers – HackerRank Blog https://www.hackerrank.com/blog 32 32 Building a Mentorship Culture in Tech: Benefits and Best Practices https://www.hackerrank.com/blog/building-a-mentorship-culture-in-tech-benefits-and-best-practices/ https://www.hackerrank.com/blog/building-a-mentorship-culture-in-tech-benefits-and-best-practices/#respond Thu, 22 Aug 2024 18:27:55 +0000 https://www.hackerrank.com/blog/?p=19551 Fostering a mentorship culture has become essential for organizations aiming to attract, develop, and retain...

The post Building a Mentorship Culture in Tech: Benefits and Best Practices appeared first on HackerRank Blog.

]]>
Abstract, futuristic image generated by AI

Fostering a mentorship culture has become essential for organizations aiming to attract, develop, and retain top talent. Mentorship programs help bridge the skill gap and create a supportive environment where employees thrive. 

Increasingly, companies and tech teams are recognizing the profound impact these initiatives have on individual and organizational success.

In this article we cover why mentorship is a must for tech companies and the best practices to build a successful mentorship program. 

Why Mentorship Matters in Tech

Mentorship has become a cornerstone of professional development for tech teams. According to a 2024 study by MentorcliQ, 98% of U.S. Fortune 500 companies have established mentoring programs, with 100% of the top 50 U.S. Fortune 500 companies adopting these initiatives. This significant shift reflects a broader trend: the increasing recognition of mentorship as a critical tool for fostering technical skills, employee growth, and a strong engineering culture.

Mentorship programs offer numerous benefits, including:

  • High ROI on Learning and Development (L&D) Programs: Effective mentorship programs are instrumental in building core competencies, such as technical skills, emotional intelligence, communication, and negotiation. These programs ensure that employees are continuously learning and adapting to new challenges, which is crucial in the fast-paced tech industry.
  • Enhanced Internal Relationships: Mentorship fosters stronger relationships within the organization, creating a sense of belonging that can lead to higher employee retention and improved workplace morale. This sense of community is particularly important in tech, where teamwork and collaboration are key to success.
  • Confidence and Career Development: Mentees often experience increased confidence, leading to lower levels of anxiety and more streamlined career progression. Mentors, too, benefit from these relationships by honing their leadership skills and gaining fresh perspectives from their mentees.
  • Positive Impact on the Bottom Line: Research has shown that companies with mentorship programs tend to outperform those without. According to Forbes, companies with mentoring programs saw profits that were 18% better than average, while those without such programs had profits that were 45% worse than average. 

Types of Mentorship Relationships

Mentorship relationships in the tech industry can take various forms, each catering to different needs and organizational goals. Here are some common types of mentorship relationships to consider:

1. Traditional Mentorship

In this model, a seasoned professional partners with a less experienced colleague to provide resources, offer connections, and help them build competencies. Traditional mentorship often focuses on career progression and leadership development. However, mentors also benefit from reverse mentoring, gaining insights into current trends and innovations from their mentees.

2. Peer-to-Peer Mentorship

This form of mentorship occurs between individuals at similar career stages. It builds connections and fosters a sense of community within the organization or across the industry. Peer-to-peer mentorship is particularly valuable for enhancing team effectiveness and developing a collaborative culture.

3. Group Mentorship

In this model, a single mentor or a group of mentors is paired with several mentees. This approach is cost-effective and promotes knowledge sharing within the organization. It’s especially useful when there’s a shortage of mentors or when mentees prefer learning in a group setting.

4. Onboarding Mentorship

New hires are paired with internal company mentors who help them understand the organization’s culture, values, goals, and team dynamics. Onboarding mentorship can significantly improve new employees’ sense of belonging and job satisfaction, leading to quicker integration and higher retention rates.

5. Virtual Mentorship

With the rise of remote work, virtual mentorship has become more prevalent. This approach removes geographic barriers, allowing employees from different locations to connect and collaborate. Virtual mentorship is also aligned with diversity, equity, and inclusion (DEI) goals, providing equitable access to mentoring opportunities regardless of location.

Best Practices for Building a Mentorship Culture

Creating a successful mentorship program in tech requires careful planning and clear communication. Here are some best practices to ensure your program’s effectiveness:

#1. Set Clear Goals and Expectations

Mentors and mentees should clearly understand what they hope to achieve through the mentorship relationship. Define specific outcomes, such as skill-building, career development, or networking, and establish a plan for meeting these goals. This clarity will prevent misunderstandings and ensure that both parties are aligned in their expectations.

#2. Find the Right Match

Matching mentors and mentees is critical to a successful mentorship program. When pairing a mentee with a mentor, consider not only the mentee’s desired skill set and career goals but also the mentor’s expertise and willingness to share knowledge and connections. Equally important is ensuring that both parties have compatible communication skills and styles, as this can significantly impact the effectiveness of their collaboration.

#3. Establish a Structured Program

A well-structured mentorship program includes defined timelines, meeting frequencies, and formats. For example, pairs might agree to meet monthly for one-hour virtual or in-person sessions. Establishing these parameters upfront allows both parties to focus on the content of their discussions rather than logistics.

#4. Encourage Regular Feedback

Regular check-ins and feedback sessions are essential for the ongoing success of the mentorship relationship. Encourage mentors and mentees to discuss what’s working well and what could be improved. This continuous feedback loop will help address any issues early on and ensure the relationship remains productive.

#5. Educate and Support Mentors

Mentoring requires a specific set of skills, including active listening, empathy, and the ability to provide constructive feedback. Offer training and resources to help mentors develop these skills and remind them that their role is to guide, not to dictate. Encouraging mentors to recognize their knowledge’s limits and connect mentees with other resources when necessary will enhance the overall mentorship experience.

#6. Promote Psychological Safety

Creating an environment of trust and psychological safety is crucial for effective mentorship. Both mentors and mentees should feel comfortable discussing challenges, asking questions, and expressing concerns without fear of judgment. Establishing guidelines for communication and conflict resolution will help maintain this safe space.

The post Building a Mentorship Culture in Tech: Benefits and Best Practices appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/building-a-mentorship-culture-in-tech-benefits-and-best-practices/feed/ 0
How to Establish Career Paths for Your Tech Employees https://www.hackerrank.com/blog/establish-tech-career-paths/ https://www.hackerrank.com/blog/establish-tech-career-paths/#respond Fri, 14 Jun 2024 15:34:45 +0000 https://www.hackerrank.com/blog/?p=19518 Career pathing is more than just a human resources buzzword; it’s a strategic approach to...

The post How to Establish Career Paths for Your Tech Employees appeared first on HackerRank Blog.

]]>

Career pathing is more than just a human resources buzzword; it’s a strategic approach to employee development that aligns personal ambitions with organizational goals.

For organizations, structured career paths attract top talent and improve retention by offering clear advancement opportunities. For employees, these paths provide a roadmap for professional growth, enhancing job satisfaction and engagement.

So how can you establish solid career paths that benefit the company and employees? This article will cover the benefits of career pathing and provide actionable steps to build effective career trajectories for your tech employees.

Benefits of Establishing Career Paths

For Companies

Attracting Top Talent

In a LinkedIn survey, 59% of tech talent listed career growth opportunities as the top reason they accepted a new role. Companies that showcase clear career advancement opportunities will be better able to attract potential hires to their workforce.

Increasing Retention

Career pathing helps employees visualize their future within the organization, leading to higher job satisfaction and retention. Companies that actively upskill employees reduce turnover and replacement costs. A LinkedIn study revealed that 94% of employees would stay at a company longer if it invested in their career development. On the flip side, employees who feel their organization has no opportunities for career growth are 12 times more likely to leave.

Improving Business Performance

Structured career paths motivate employees to perform better, leading to significant business benefits. Gallup found that highly engaged teams experience 81% less absenteeism, 18%-43% less turnover, and 23% higher profitability. Employees at tech companies that innovate and grow rapidly are more likely to stay with the company.

For Employees

Professional Growth

Clear career paths provide employees with a professional development roadmap, allowing them to acquire new skills and advance in their careers. According to a report by Deloitte, 71% of millennials expect their employers to provide opportunities for them to develop their skills and move forward in their careers.

Job Satisfaction

Employees feel more valued and engaged when they see opportunities for growth and development within their organization. A survey by the Work Institute found that lack of career development was the primary reason for voluntary turnover, with 22% of employees leaving their jobs for this reason.

Skill Development

Career pathing encourages continuous learning and skill acquisition, making employees more proficient and versatile. A study by the World Economic Forum found that by 2025, 50% of all employees will need reskilling due to changes in job requirements. Providing structured career paths helps employees keep up with these changes, ensuring they remain competitive and valuable within the organization.

Career Stability

Career paths offer employees a sense of stability and direction in their professional lives by providing a clear trajectory. This stability is essential in today’s volatile job market, as it reassures employees that they have a future within the organization. The same Deloitte report indicated that employees who feel their jobs are secure are 42% more engaged and 36% more productive. 

 How to Build Career Paths

1. Assess Your Business Needs

Building career paths starts with evaluating your business’s current and future skill needs. To identify key skill areas to build career paths around, you should:

  • Identify critical roles, succession plans, and emerging job functions. 
  • Create detailed job descriptions for these roles, including the required skills, qualifications, and experience. 
  • Assess departments and teams to identify skill gaps within your organization. This essential step ensures that your career pathing aligns with organizational goals and proactively maintains crucial skills needed for growth.

2. Discuss Career Goals with Employees

Hold regular discussions with your team members to understand their career aspirations. Encourage open dialogue about their short- and long-term goals and identify the skills and future job opportunities each employee seeks. This personalized approach helps create tailored career paths that align with employee ambitions and business needs.

3. Build Career Pathways

Craft detailed career pathways that outline the skills, knowledge, and experience required for each role. Ensure these pathways are flexible, allowing for non-linear progression, as employees in tech often move laterally or across functions based on their interests and the company’s needs. This approach provides clarity and direction, empowering employees to visualize their career trajectories within the organization.

4. Create an Upskilling and Mobility Plan

An internal mobility strategy is a framework that facilitates the transition of employees between roles, departments, or locations within a company. Instead of looking outward when a position opens, companies first assess their internal talent pool. 

Continuous learning is crucial in the tech industry. Develop an upskilling plan that includes:

  • On-the-Job Training: Encourage employees to take on new responsibilities and projects that challenge their skill sets.
  • Online Courses and Certifications: Provide relevant courses and certifications using platforms like HackerRank, Coursera, and Udemy.
  • Conferences, Webinars, and Workshops: Facilitate attendance at industry events to keep employees updated with the latest trends and innovations. These workshops can include sessions with department leaders, interactive activities, and personalized career planning.
  • Mentoring and Coaching: Pair less experienced employees with seasoned mentors to foster knowledge transfer and professional growth.

5. Monitor and Evaluate Progress

Ensure that career pathways remain relevant and up-to-date by regularly reviewing and updating them based on industry trends, technological advancements, and organizational changes. 

Use upskilling tools, presentations, and project evaluations to measure skill improvements. Engage in two-way communication to provide and receive feedback, ensuring that the career pathing process remains dynamic and responsive to changing needs. This keeps the career development process dynamic and aligned with the evolving needs of the business.

6. Reward and Recognize Growth

Acknowledge and reward employees’ progress along their career paths. This can be through promotions, pay increases, or public recognition. Celebrating achievements boosts morale and motivation, reinforcing a culture of continuous development. 

Career pathing is a continuous and evolving process, much like the tech field itself. Regularly revisit and refine your strategies to ensure they remain relevant and effective, driving success for your employees and your business.

The post How to Establish Career Paths for Your Tech Employees appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/establish-tech-career-paths/feed/ 0
How to Upskill Your Software Engineering Team https://www.hackerrank.com/blog/upskill-your-software-engineering-team/ https://www.hackerrank.com/blog/upskill-your-software-engineering-team/#respond Thu, 06 Jun 2024 13:25:04 +0000 https://www.hackerrank.com/blog/?p=19488 When it comes to succeeding in tech, staying current is not just an advantage—it’s a...

The post How to Upskill Your Software Engineering Team appeared first on HackerRank Blog.

]]>

When it comes to succeeding in tech, staying current is not just an advantage—it’s a necessity. New algorithms, programming languages, and tools emerge constantly. Upskilling your software engineering team is essential for maintaining a competitive edge and ensuring your company remains at the forefront of innovation. In this article, we’ll break down how tech companies and engineering managers can identify the skills their software engineering teams need and develop an effective upskilling strategy.

Why You Should Upskill Your Software Engineering Team

The U.S. Bureau of Labor estimates job opportunities for software developers, quality assurance analysts, and testers will grow by 25% between now and 2032. Over 153,000  jobs are projected yearly due to workers retiring or entering a different industry. To put this into perspective, the average projected growth across all occupations during that same time is only 2.8%

This rapid growth means that, in the long term, companies are likely to face significant challenges in finding the engineering skills they need. Additionally, existing teams will need to continuously learn new skills to keep up with the pace of innovation.

Upskilling is an increasingly attractive solution for closing these skills gaps and realizing a range of compelling benefits.

1. Enhanced Productivity and Efficiency

Upskilled employees can leverage new tools and technologies to streamline workflows and automate repetitive tasks, thereby increasing productivity. And continuous learning enhances problem-solving abilities, enabling employees to tackle challenges more efficiently and reduce downtime. This focus on complex, value-adding activities can significantly boost operational efficiency.

2. Improved Employee Retention and Reduced Turnover

Developers recognize the importance of learning new skills and staying relevant. According to LinkedIn, 94% of employees would stay at a company longer if it invested in their career development. 

High turnover rates are costly, with productivity losses estimated to cost 30% to 200% of an employee’s annual income. Then there is the cost of replacing an employee, roughly equivalent to nine months of their salary. Upskilling helps companies avoid these costs while improving efficiency and innovation. 

3. Competitive Advantages

As technology evolves, specific skills become obsolete while new ones emerge. Continuously upskilling employees ensures they are prepared to handle upcoming technological shifts and challenges. This proactive approach positions companies at the forefront of industry changes.

By upskilling, companies bridge the skills gap, boost productivity, foster innovation, and retain valuable employees. This strategic approach ensures the company and its workforce are well-prepared for the future. Upskilling is not just a response to current challenges; it’s an investment in long-term success.

How to Identify Skills Gaps

Before you can effectively upskill your data science team, you need to identify your skills gaps. This involves both a high-level overview of your team’s capabilities and a deep dive into individual competencies.

Start by reviewing your current projects and pipelines. What are the common bottlenecks? Where do the most challenges or errors occur? Answers to these questions can shed light on areas that need improvement. 

Next, look at the individual members of your team. Everyone has their own unique set of strengths and weaknesses. Some may be fantastic with code reviews but could improve their communication skills. Others might be proficient in Python but not as adept with SQL. You can identify these individual skill gaps through regular performance reviews, one-on-one check-ins, or even anonymous surveys. 

Remember, the goal here is not to criticize or find fault but to identify opportunities for growth. The process of determining the skills gap should be collaborative and constructive and should empower team members to take ownership of their professional development.

Once you have a clear picture of the skills gaps in your team, you can start to strategize about the most effective ways to bridge these gaps. 

Upskilling Strategies

  1. On-the-Job Training: Learning by doing is highly effective. Encourage your team to take on new responsibilities or projects that stretch their skills. Provide resources and support, but give them the autonomy to learn and grow.
  2. Online Courses and Certifications: The internet is full of learning resources. Platforms like HackerRank, Coursera, and Udemy offer courses in various tech subjects. These courses often come with certifications that validate your team’s new skills.
  3. Conferences, Webinars, and Workshops: These events offer opportunities to learn from industry experts and stay updated with the latest trends. Encourage your team to attend these events, either in person or virtually.
  4. Mentoring and Coaching: Pairing less experienced team members with seasoned professionals can facilitate knowledge transfer. Mentors share their successes and mistakes, while mentees bring fresh perspectives.
  5. Experiential Learning: This educational approach emphasizes learning through direct, hands-on experiences. For example, hackathons provide developers with practical, immersive learning opportunities.

Remember, different team members have different learning styles. Some may prefer structured online courses, while others thrive on practical application. Offer a mix of learning opportunities to accommodate these diverse preferences.

Measuring Success and Tracking Progress

How can you determine if your upskilling efforts are yielding results? Here are some key metrics to measure success: 

  • Improvement in Project Outcomes: Look for better work quality and efficiency as team members apply new skills, such as faster turnaround times or higher-quality code.
  • Increased Efficiency: Expect greater autonomy and efficiency within your team, including bringing previously outsourced tasks in-house and streamlining processes.
  • Feedback from Team Members: Regularly gather insights from your team to assess the effectiveness of upskilling efforts and identify areas for improvement.
  • Skill Assessments: Measure skill improvements through quizzes, presentations, or project-based evaluations conducted regularly.
  • Retention Rates: Monitor turnover rates to gauge the success of upskilling initiatives. Employees are more likely to stay with a company that invests in their growth.

Utilize this feedback to fine-tune your program as required. Tracking progress aims to provide insights rather than impose pressure, helping you comprehend the team’s development. Celebrate achievements and perceive obstacles as chances to enhance your upskilling approach.

The post How to Upskill Your Software Engineering Team appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/upskill-your-software-engineering-team/feed/ 0
5 Skills Every Engineering Manager Needs to Have https://www.hackerrank.com/blog/skills-every-engineering-manager-needs/ https://www.hackerrank.com/blog/skills-every-engineering-manager-needs/#respond Thu, 13 Jul 2023 12:45:35 +0000 https://www.hackerrank.com/blog/?p=18915 Software engineering is all about creating, innovating, and optimizing solutions. Yet, without proper management, the...

The post 5 Skills Every Engineering Manager Needs to Have appeared first on HackerRank Blog.

]]>
Abstract, futuristic image generated by AI

Software engineering is all about creating, innovating, and optimizing solutions. Yet, without proper management, the brightest minds can flounder and the most innovative solutions can lose their impact. A skilled engineering manager stands as the linchpin, guiding technical teams to successful outcomes and ensuring the broader objectives of an organization align with the day-to-day execution of projects. 

Indeed, a study by Google’s Project Oxygen, which looked at what makes a great manager, found that effective management significantly impacts team outcomes, turnover rates, and overall job satisfaction. When considering these findings, it becomes clear that the difference between success and failure often rests on the shoulders of an engineering manager.

As the Google study showed, the significance of effective engineering management truly can’t be overstated. These professionals act as the bridge between technical teams and business stakeholders, demonstrating communication, leadership, strategy, and, not least of all, profound technical understanding. 

But what skills does it take to navigate this pivotal role effectively? What are the talents that set apart those who excel in engineering management, driving not just the success of their teams but also the larger success of the organizations they serve? In this article, we’ll delve deep into these questions, exploring the key skills every engineering manager needs and providing tangible examples to illuminate the path for aspiring engineering managers and those tasked with hiring them. 

1. Technical Expertise

The first skill in our exploration is the bedrock of any engineering role: technical expertise. An engineering manager, at their core, is still an engineer. They might not be in the trenches coding every day, but a thorough understanding of the domain, the technology stack, and the nitty-gritty of the team’s work is a must.

Technical expertise enables engineering managers to guide and support their teams through the complexities of their projects. They can effectively evaluate the feasibility of solutions, foresee potential roadblocks, and provide tangible help to their team members. This expertise, combined with leadership skills, allows them to act as a resource for their team, rather than merely a supervisor.

Consider an engineering manager leading a team developing a machine learning algorithm. They might not be writing the algorithm themselves, but they should understand the principles of machine learning, the programming languages being used, and the potential challenges that could arise. 

One day, the team hits a roadblock: the algorithm isn’t learning as expected. The manager, with their technical expertise, can guide the team, suggesting potential adjustments or identifying overlooked data patterns that may be affecting the algorithm. This guidance can be the difference between a successful project and a stagnant one.

Hence, an engineering manager’s technical expertise is not just about understanding what the team is doing but also being able to guide, support, and facilitate the team’s work. The aim is not to be the most skilled individual contributor, but rather a leader who can navigate the technical landscape with proficiency and confidence. 

Having solid technical foundations not only earns the respect of the team members but also equips managers with the tools to make informed decisions that directly affect project outcomes. It’s a skill that is honed over years of hands-on experience and continuous learning, and its value in the realm of engineering management is beyond measure. 

2. Communication and Collaboration

An engineer may spend a lot of their time interfacing with machines, but an engineering manager spends a considerable amount of their time interfacing with people. In fact, a recent report found that the average engineering manager spends 17.9 hours per week in meetings. Hence, one of the paramount skills every engineering manager needs is the ability to communicate effectively and foster collaboration.

Engineering managers are often the conduit between various stakeholders — the technical team, other department leaders, clients, or executives. They need to be able to translate technical jargon into business language and vice versa. For instance, they might need to explain to the C-suite why investing in a particular technology will give the company a competitive edge. On the flip side, they need to communicate the business’s needs and vision to their team to guide their work in the right direction.

But communication is not merely about talking; it’s also about listening. Active listening fosters open dialogue, encourages team members to share their ideas, and creates a collaborative environment where everyone feels their input is valued. The best engineering managers are not just effective communicators, they are also adept at building strong relationships within their team and beyond.

Let’s paint this with a real-world example. Suppose a critical bug is discovered in a software application. The engineering manager needs to communicate this to the client, explaining what the issue is, how it happened, and how it will be fixed. Simultaneously, they also need to discuss with their team to understand the technical details, guide them through the resolution process, and ensure everyone is on the same page.

In this scenario, the ability to communicate clearly and collaborate effectively can make the difference between a swiftly resolved issue and a prolonged problem that strains client relationships and team morale.

Explore verified tech roles & skills.

The definitive directory of tech roles, backed by machine learning and skills intelligence.

Explore all roles

3. Leadership and People Management

The shift from an individual contributor to a managerial role often involves moving from doing the work to guiding others in their work. As such, one of the most significant skills every engineering manager needs is the ability to lead and manage people effectively.

Leadership and people management involve many sub-skills. A good engineering manager knows how to set clear expectations and define achievable goals. They know how to delegate tasks based on the strengths of their team members, and they understand how to provide constructive feedback that helps their team grow. Perhaps most importantly, they know how to motivate and empower their team, fostering a positive and productive work environment.

Consider the scenario of a cross-functional team working on a major product release. This team comprises software developers, testers, UX/UI designers, and maybe a data scientist or two. Each of these team members has a different skill set, and they likely see the project from their unique perspective.

In this scenario, the engineering manager’s leadership and people management skills come to the forefront. They need to ensure everyone understands the project’s goals, delegate tasks effectively, and ensure all the pieces come together seamlessly. They need to maintain open lines of communication, manage conflicts, and keep the team motivated even when facing tight deadlines or unexpected challenges.

Successfully leading a team to achieve a major milestone like a product release requires a deep understanding of people management. The manager needs to understand what drives each team member, how they work best, and how to bring out their full potential. It’s not just about managing the work; it’s about leading the people who do the work.

To put it succinctly, leadership and people management skills are about inspiring others to do their best work. These skills are crucial for any engineering manager and lay the foundation for a high-performing, cohesive team. 

4. Strategic Thinking and Problem Solving

Beyond the confines of day-to-day project management and team leadership, engineering managers must possess the ability to think strategically and solve problems. As much as they’re the captains of their respective teams, they’re also the navigators, charting the course toward the organization’s broader goals.

Strategic thinking involves identifying long-term goals and aligning them with the overall business objectives. This might mean selecting which projects the team should tackle based on the company’s strategic priorities or deciding to adopt a new technology that will position the company for future success.

Closely related to strategic thinking is problem solving, another crucial skill every engineering manager needs. In an industry where change is the norm, engineering managers must be adept at analyzing complex problems and making data-driven decisions. They need to understand the cause-and-effect relationships, foresee potential obstacles, and develop robust solutions.

Imagine an engineering manager faced with scalability issues as the user base of their company’s application grows. This is not a problem that can be solved with a simple bug fix. Instead, it requires a strategic approach, analyzing the root causes of the scalability issues, and considering various potential solutions.

The manager needs to balance the immediate needs of handling increased user traffic with the long-term goals of developing a scalable architecture that can support future growth. They might have to make tough decisions, like prioritizing refactoring code or investing in more robust infrastructure, which could delay new feature development in the short term but would provide significant benefits in the long run.

In this example, the ability to think strategically and solve problems is pivotal. It ensures the manager not only addresses the immediate issue at hand but also sets the foundation for the application’s future success, aligning it with the company’s growth objectives.

In essence, strategic thinking and problem-solving enable engineering managers to guide their teams and the organization toward a successful future. They allow managers to navigate through the complex landscape of engineering, making informed decisions that propel the team and the business forward.

​​5. Adaptability and Continuous Learning

In an industry characterized by rapid technological advancements and constant evolution, the ability to adapt and learn continuously is a non-negotiable skill every engineering manager needs. Embracing change, navigating ambiguity, and staying ahead of industry trends are crucial aspects of an engineering manager’s role.

Adaptability is about more than just coping with change. It’s about embracing it, harnessing it, and using it as a tool for innovation and improvement. Engineering managers need to be agile in their approach, willing to pivot strategies, adopt new technologies, or reorganize projects as needed.

For example, consider the impact of emerging technologies such as AI, blockchain, or quantum computing. An adaptable engineering manager recognizes the potential these technologies present and proactively seeks to understand them and consider how they could be incorporated into their team’s work or the company’s broader strategy.

Continuous learning goes hand-in-hand with adaptability. The most successful engineering managers are those who never stop learning. They keep abreast of industry trends, new technologies, and best practices. They also foster a culture of learning within their teams, encouraging team members to learn, share knowledge, and continuously improve.

In this light, continuous learning is not merely a personal attribute, but a key cultural element within a team. An engineering manager that promotes a culture of learning creates a dynamic, curious team that is not afraid to explore new territories, take on challenges, and grow both personally and professionally.

Navigating the Road to Successful Engineering Management

Through our exploration, we’ve dissected the intricate mosaic of skills every engineering manager needs. Yet, the pursuit of these skills is not a destination but a journey. No engineering manager will have mastered all these skills to perfection. But the aspiration to continuously grow in these areas, the quest to refine these skills day after day, is what separates a good manager from a great one.

These skills form a clear roadmap for anyone involved in the engineering management field. Whether you’re a seasoned professional looking to sharpen your skills or you’re just embarking on your journey, understanding these skills provides a path to follow. It’s not about ticking boxes or achieving an abstract ideal. Instead, it’s about holistic growth as a leader who can inspire a team, steer successful projects, and contribute to your organization’s larger vision.

Engineering management is a richly layered role that goes beyond technical knowledge. The heart of it lies in creating an environment that champions innovation, cultivates open communication, and celebrates continuous learning. With a focus on these key skills, you can shape the direction of your team, influence the broader technology landscape, and leave your mark as a leader in this vibrant field.

This article was written with the help of AI. Can you tell which parts?

The post 5 Skills Every Engineering Manager Needs to Have appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/skills-every-engineering-manager-needs/feed/ 0
How to Build a Strong Engineering Culture https://www.hackerrank.com/blog/build-strong-engineering-culture/ https://www.hackerrank.com/blog/build-strong-engineering-culture/#respond Mon, 13 Feb 2023 21:38:45 +0000 https://bloghr.wpengine.com/blog/?p=18558 With a direct impact on product quality, employee engagement, and team turnover, having a strong...

The post How to Build a Strong Engineering Culture appeared first on HackerRank Blog.

]]>

With a direct impact on product quality, employee engagement, and team turnover, having a strong engineering culture is essential for every technical team. But the prospect of building and maintaining an engineer culture can also feel abstract. What is an engineering culture? And how can you create organizational processes that foster a culture of innovation across a global workforce?

What Even Is Engineering Culture, Anyway?

A company culture is the set of shared values, goals, and practices that define an organization. More specifically, it’s how things get done in a workplace, and it’s defined by a combination of organizational processes and the people that make up that organization.

Every company has a unique culture that defines its business practices. However, companies that employ engineers also have an additional set of values known as an engineering culture, which can be defined at the company, department, or team level. 

Features of engineering culture include:

  • Code reviews
  • Agile development
  • Process automation
  • Technical mentorship
  • Professional development
  • Engineering excellence

Why Is Engineering Culture Important?

To succeed, an engineering team needs to have certain organizational practices not present in other disciplines. A strong engineering culture is vital for fostering these practices and values, which are likely not established by the broader company culture. 

Without a strong engineering culture, key concepts like innovation, code quality, engineering excellence, and code reviews disappear from an organization. In this way, a company’s engineering culture directly impacts the quality of the products, systems, and its profitability.

Imagine an engineering team without a cultural expectation of engineering excellence. 

In the short term, such a team would likely have cursory or non-existent code reviews, leading them to ship products and features with a poor technical foundation. At scale, this could lead to service outages, high labor costs, a poor user experience, and low customer retention. 

In the long term, an engineering team with a weak culture would likely fail to develop innovative new products. Within a few years, the company has a higher risk of falling behind competitors and fading from relevance.

Fortunately, establishing a strong engineering culture doesn’t just avoid negative business outcomes. It also provides a number of benefits, including:

  • Reduced employee turnover
  • Higher employee engagement
  • Reduced support costs
  • Reduced technical debt
  • Innovative products
  • Clean, high-quality code

How to Build an Engineering Culture

Structure for Innovation

Building an engineering culture is a pretty abstract concept. Culture is often described in terms of key values or shared beliefs. However, for an engineering culture to thrive, it also needs to have tangible structures that guide the day-to-day operations of the engineering team. There are a few organizational models out there for encouraging innovation.

The pod-centric approach

A pod-centric model is an organizational structure that establishes small, cross-functional teams that are completely dedicated to solving one problem. A small team with a narrow focus is more likely to come up with innovative solutions, particularly if focused around problem statements, not just functional areas. One example of a pod-based organization is Spotify, which developed its own organizational model for an engineering culture that balances autonomy and scalability.

The 80/20 model

Another option for team organization is the 80/20 model. Under this structure, 80% of the engineering team focuses on executing the company roadmap and addressing customer needs. The other 20% of the team, however, invests in re-architecture and prototyping new ideas. In the 80/20 model, multitasking is forbidden. Each engineer is either entirely focused on production or innovation. This structure helps teams keep up with typical production demands while making space for constant innovation.

Shift from Culture-Fit to Culture-Add

If employees are the foundation of a company’s culture, then the principles driving the hiring process will have a direct impact on that culture.

The phrase “culture fit” is widespread in hiring processes, with 82% of hiring managers citing it as a key hiring factor. Often, hiring teams that use the term are looking for candidates whose values and behaviors align with the existing culture. 

However, companies are starting to notice a number of drawbacks to culture-fit hiring, including:

  • High turnover
  • Unconscious bias
  • Underperforming DEI initiatives
  • Poor company performance
  • Lagging innovation

In contrast to culture-fit, many companies are shifting to culture-add hiring. Culture-add hiring is the concept of hiring candidates who will contribute to and evolve a company’s culture, rather than conform to an existing one.

A culture-add approach is important for engineering teams because it leaves room for the team culture to change and improve with each new perspective added to the team. In that way, an engineering team’s culture undergoes the same process of continuous improvement as the technologies they’re working on.

Prioritize Upskilling

Engineering culture is also punctuated by how well an employer supports its current workforce. One of the best ways to do that is through upskilling programs that ensure engineering teams stay up to date with the latest technologies and skills. On a basic level, upskilling involves identifying the missing skills on your team and providing learning opportunities for employees to cultivate those skills.

How to Demonstrate Your Engineering Culture to Candidates

Use Modern Interview Tech 

Developers and tech teams work at the forefront of innovation. But many companies continue to conduct technical interviews with outdated tools. 

It’s 2023, and it’s still common to force candidates to code in word processors, share screens—or even write out solutions longhand with pen and paper.

If a company wants to establish and communicate an innovative engineering culture, these approaches send the wrong signal. The tools you use to interview candidates should demonstrate a commitment to a higher level of innovation.

The key change is to adopt an integrated development environment (IDE) built specifically for technical interviews. IDEs allow candidates and interviewers to code, create and collaborate on questions in real time, while giving hiring teams the admin tools they need to make smarter hiring decisions.

Interview for Real-World Skills

The first time an employee learns about a team’s culture isn’t when they join the team. It’s actually during the hiring process. And for developers, one of the most important criteria for accepting a role is the quality and relevance of the interview questions.

In a survey of our community of developers, 32% reported that the relevance of questions was the first thing they noticed about an interview process. In another survey, 65% of developers reported that they want more interview questions that test real-world skills. And there was also noticeable interest (15%) in more collaborative question formats.

These findings shouldn’t come as a surprise. Engineers care about solving exciting, challenging, and relevant technical problems. And so, when interviewing for a role, an engineer uses the questions the hiring team asks them as a gauge for what problems they would get to solve at the company. In this way, interview questions are a key channel for communicating an engineering team’s culture. 

Algorithmic coding challenges signal to candidates a dated engineering culture. In contrast, questions that test a candidate’s real-world skills signal to candidates a strong, skills-based engineering culture focused on solving real-world problems.

The post How to Build a Strong Engineering Culture appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/build-strong-engineering-culture/feed/ 0
How Vanguard’s Engineering Manager Leverages HackerRank to Hire Top Talent https://www.hackerrank.com/blog/vanguard-leverages-hackerrank-hire-top-talent/ https://www.hackerrank.com/blog/vanguard-leverages-hackerrank-hire-top-talent/#respond Tue, 06 Apr 2021 16:48:01 +0000 https://blog.hackerrank.com/?p=16912 The Vanguard Group, Inc. is an American registered investment advisor based in Malvern, Pennsylvania with...

The post How Vanguard’s Engineering Manager Leverages HackerRank to Hire Top Talent appeared first on HackerRank Blog.

]]>

Illustration of a laptop, a magnifying glass and sheets of paper and the word "Vanguard" written on top

The Vanguard Group, Inc. is an American registered investment advisor based in Malvern, Pennsylvania with about $6.2 trillion in global assets.

Nick Alexandro is a Senior Software Engineering Manager at Vanguard working as a Vanguard Digital Advisor. Nick oversees four scrum teams comprised of eight people each focused on various aspects of Vanguard’s software development. The team is made up of developers whose experience ranges from many years to just a few months. 

Nick also leads the development of Vanguard’s technical assessments, which are used in the hiring of all entry-level software engineers. “We are always looking for great new talent to bring in their passion for technology and their new ideas,” says Nick. 

Challenge: Identifying the right candidates in a large pool of applications 

Vanguard receives a large number of applications for entry-level positions each year. With the sheer volume of applications coming in, it was nearly impossible to identify the right candidates.

Nick found that the best use for HackerRank was to quickly weed out the candidates who were lacking core technical competencies and highlight those candidates who they were most interested in interviewing. In these interviews, Nick wanted to further explore how deep their technical understanding goes, as well as their suitability for Vanguard.

“While many of these applicants are technically amazing, we needed a toolset that would help us quickly identify the candidates who are the best fit from both a cultural and technological perspective,” says Nick.  

Solution: HackerRank reduces time-to-hire by identifying top candidates sooner

Today, Vanguard uses HackerRank in the early stages of the hiring process for all entry-level software development candidates. As soon as a candidate begins the process through their careers website, they are sent a HackerRank assessment.  

“HackerRank acts as an early filter to help us identify the most qualified candidates,” says Nick. “This allows us to be far more efficient with the entire interview process.”

Since implementing HackerRank, Nick’s team has seen significant improvements to their hiring process and quality of candidates. “The quality of candidates has been much higher, leading to more offers,” says Nick. “We also have seen a significant reduction in the number of interviews needed in order to hire the same number of high-quality candidates. Additionally, the average level of technical competence of the candidates is notably higher."

Enhancing the Candidate Experience

The interview process is the first in-depth experience with Vanguard for most candidates, and Vanguard is committed to making that a positive experience. 

“We want the test to be challenging, but not feel impossible,” says Nick. “This helps our candidates understand that knowledge and problem-solving skills are important, but we don’t expect perfection.”

Vanguard quote in blue box

Improving Assessment Quality

HackerRank helps Nick identify the most qualified candidates from a technical perspective. He primarily evaluates technical skills, but they do sometimes look at a candidate’s code for design and communication skills to help determine if the candidate is a good fit. 

“I really like how we can see how much time a candidate spent on each question, down to the second,” says Nick. “This helps us calibrate our test and understand if a particular question is too hard or too easy in comparison with the other questions. We don’t generally use this type of information to make hiring decisions, but we instead use it as feedback to understand the test overall.”

“HackerRank’s team has been very helpful in understanding the options available to us,” says Nick. “They help us get a sense of what other companies using HackerRank have found successful and unsuccessful, and identify specific tactics we can implement to improve our hiring process.”

What’s next? Nick is hoping to eventually integrate HackerRank into their senior-level hiring process. 

remote hiring solution blog banner

The post How Vanguard’s Engineering Manager Leverages HackerRank to Hire Top Talent appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/vanguard-leverages-hackerrank-hire-top-talent/feed/ 0
3 Reasons You’re Not Building Compatible Tech Teams https://www.hackerrank.com/blog/building-compatible-tech-teams/ https://www.hackerrank.com/blog/building-compatible-tech-teams/#respond Tue, 10 Nov 2020 08:38:48 +0000 http://bloghr.wpengine.com/?p=13328 Building out a technology team is a huge undertaking.  Not only do you evaluate skills...

The post 3 Reasons You’re Not Building Compatible Tech Teams appeared first on HackerRank Blog.

]]>

tech teams working blog header

Building out a technology team is a huge undertaking. 

Not only do you evaluate skills and technical knowledge, but you also have to curate a team that works well together.

Ultimately, building the right team is a function of two basic variables:

  1. Having complementary skill sets
  2. Having complementary working styles

A team of skilled individuals that can’t work together is like a can of premium gasoline without a car to put it in. Having gasoline is an essential component in moving the car but you won’t have much luck getting it from point A to B without the vehicle.

Mismatched teams not only bode poorly for each individual’s future performance, but they also heighten the risk of short tenures. Incompatible teams run the risk of huge time losses—forcing team leaders to hire the same roles over and over.

If you find yourself struggling with how to build a team that’s compatible, check out this Recruiter Cheat Sheet or continue reading for highlights. 

Top reasons why you’re not building a tech team that’s compatible 

1. You're missing the intricacies of each role

As tech stacks become more and more fragmented, the line between some specialized technical roles is admittedly blurry.

For example, take the difference between data analysts and data scientists. A data analyst and data scientist might both be focused on interpreting data for non-technical stakeholders. But a data analyst might focus on interpolating historic data, whereas a data scientist might focus on extrapolating predictions from historic data. 

And especially at smaller companies, a data scientist might even be doing both.

Solution: 

Ultimately, this challenge boils down to misalignment between hiring managers and recruiters. Historically, research has shown that aligning on expectations is hiring managers’ biggest hurdle.

Even if you’re recruiting for a role you’ve seen a dozen times before, don’t assume the ask is the same. Take the time to deep dive into each individual role, and understand the finer points they need in order to be a successful team member.

2. You're not putting enough emphasis on EQ

Emotional intelligence (EQ) describes the ability to identify and manage your emotions, plus the emotions of others. It’s an important indicator of how candidates will conduct themselves on the job. It’s shown a strong correlation with job performance, leadership capabilities, and much more.

But when it comes to technical roles, most recruiters are focused more on technical skills and less on potential EQ signals—like endorsements from past coworkers. 

On some level, that’s fair. After all, finding qualified candidates is the most time-consuming part of hiring for both hiring managers and recruiters.

Solution:

Ultimately, the best way to emphasize EQ is to make the time for it. Establish a process to vet technical skills systematically and uniformly. The less time you spend on verifying a candidate’s stated skills, the more time you can spend getting to know them as a person.

3. You aren't evaluating candidates in the context of your current team

Let’s say you’re hiring a senior back-end developer. Some qualities you might be looking for include:

  • Senior back-end developer
  • Some light front-end knowledge (for context)
  • Work with a team of 35 developers
  • Work primarily with 2 product managers, 3 front-end developers, and 1 other back-end developer

You come across a candidate with the following qualities:

  • 8 years of full-stack development experience
  • Stellar results on skills tests
  • Full-stack capable, but back-end focused
  • A career spent working with small teams (teams of 3-5 developers total)

On paper, this candidate might look great. They have the skillset you’re looking for, and they’re seasoned enough to be independent. But we can catch a few red flags:

Full-stack capable, but back-end focused

Have they ever worked with a front-end developer, or are they used to doing the work themselves? Do they know how to communicate with them in a meaningful way to get things done? How much ownership do they expect to have over the process?

A career spent working with small teams (teams of 3-5 developers total)

Coming from a small company means the candidate is likely self-sufficient. But are they too self-sufficient? How do they work in a team? Do they openly collaborate with others, or do they tend to silo themselves off from the group? Neither option is bad––but one might be a better fit for your team than the other.

Solution:

While a candidate might look solid on paper, think about how they will fit within your team and specific needs. Look for red flags that might shift the team dynamic or hinder team performance

Finding the right match for your tech team

Finding developers with the right mix of technical skills, soft skills, and team compatibility can be a challenge. This blog post is just the abridged version. 

If you want to dig deeper into building a winning team, bookmark this Recruiter Cheat Sheet. We explore what to expect from key technical roles, how to build effective teams, plus data on what languages and frameworks developers know best.

recruiter-cheat-sheet-read-now

The post 3 Reasons You’re Not Building Compatible Tech Teams appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/building-compatible-tech-teams/feed/ 0
How to Build High-Performing Engineering Teams https://www.hackerrank.com/blog/how-to-build-high-performing-engineering-teams/ https://www.hackerrank.com/blog/how-to-build-high-performing-engineering-teams/#respond Fri, 06 Mar 2020 19:31:51 +0000 https://blog.hackerrank.com/?p=15572 This is part 2 of a 3-part series based on a conversation between HackerRank’s CEO...

The post How to Build High-Performing Engineering Teams appeared first on HackerRank Blog.

]]>
photo-of-people-sitting-beside-wooden-table-3182762

This is part 2 of a 3-part series based on a conversation between HackerRank’s CEO and Co-founder, Vivek Ravisankar and Atlassian’s Head of Platform, Mike Tria, on engineering management. 

This post discusses how to assess developer candidates and build high-performing engineering teams. Catch part 1 and hear Mike’s advice on building key engineering management skills here.

HackerRank’s CEO and co-founder, Vivek Ravisankar, and Atlassian’s Head of Platform, Mike Tria, are both developers who have built and lead engineering teams. Drawing from their experiences, they share which interview assessment methods spotlight the right candidates—and common mistakes first-time engineering managers make.

How to assess individual contributors and managers

When hiring new grads, junior developers, and even senior developers, it’s the industry standard to evaluate a candidate's skills with a technical assessment before extending an offer. But developers disagree about whether companies should require seasoned individual contributors (ICs) and hiring managers to code during the interview process.

For developers who have 10+ years of experience and a robust portfolio, the request to invert a binary tree on a whiteboard can be insulting and irrelevant. When it comes to take-home challenges, developers who work full-time don’t want to spend 3+ hours completing a lengthy assignment.

During the hiring process at Atlassian, every IC and hiring manager goes through some form of technical vetting, but the type of assessment differs for each role. 

Assessing individual contributors

Since ICs are responsible for the heavy lifting on high-stakes projects, Mike believes every IC should receive a coding evaluation. “On the IC track at Atlassian, everyone from the junior dev to the top-level architects are expected to write code,” says Mike.

His reasoning? He’s seen first-hand moments when ICs with rusty coding skills struggle. “When they jump in on a problem that might require them to be the one that innovates on a solution, they’re unable to do it. So, we test for that, for every single level of engineer.”

Assessing engineering managers

For engineering managers, Mike says there’s a different type of technical assessment for each level of seniority. A first-level manager is required to write code. Managers at higher levels are required to show their experience with architectural and system design questions. 

Mike doesn’t assess more senior managers’ coding abilities for one simple reason: engineering managers require more than a technical skill set. Instead, managers need a mix of strong soft skills and technical skills. Some of the crucial soft skills include team-building, active listening, communication skills, and a sharp business acumen.

According to Mike, if the manager has a proven technical foundation, they shouldn’t be required to code during the interview. “You can bring in a VP who hasn’t coded in 8 years, and you might be completely comfortable with them representing the team because they’re current on the technology, they understand architectural principles. And that’s sufficient for them.”

Mike asks questions focused on systems design and real Atlassian technical problems to accurately assess a candidate’s skill level. “The technical problem could be related to improving one of Atlassian’s products, like: ‘How do we solve this storage problem?’ or ‘How can we deliver a better performance to our users?,” says Mike. “We’ve failed managers that have managed 100s of people at well-known public companies because they were not able to pass these. So technical matters, but coding specifically for managers after the first [level] we don’t do.”

Atlassian’s take on role-specific assessment questions

To provide a candidate-first experience, more companies are positioning their technical assessments to give candidates a preview of the day-to-day work they’d see on the job. While this approach is beneficial to both the candidate and the employer, it’s hard to scale. Larger companies might not have the time or resources needed to create an assessment specific to each role they’re hiring for.

At Atlassian, they use generalized real-world problems in their assessments. “We will do coding based on a similar set of problems, and those coding problems tend to be grounded in problems we actually have at Atlassian.”

Once Atlassian stopped asking brain teaser questions and focused on problems they face in their products, they were able to better identify the best-fit candidates. It also paints candidates a clearer picture of what their day-to-day would consist of—a huge benefit for candidate experience. 

While Mike promotes real-world problems in assessments, he advises teams to keep a reasonable time limit on the assessment. Sending multi-day simulation problems might work for junior candidates who just graduated from a college program. But, Mike says assigning a multi-day assessment to candidates who are working full-time is a big ask. “Outsourcing your job to a candidate during an interview can be a really hard thing to ask and it limits your pool.” 

Common mistakes first-time engineering managers make when building teams

With 13+ years of experience leading engineering teams, Mike has noticed several common mistakes new engineering managers make when building teams. Here are the top 3 team building missteps first-time managers should avoid:

Hiring people just like you

The most common mistake is hiring candidates who hold the same values, work styles, personality, and interests as the manager. While it’s natural to connect with candidates who are just like you, focusing solely on  those candidates negatively impacts the entire direction of your team. “If you end up bringing in people who are just like you, you’ll end up with a team with blind spots you can drive a truck through, and you’re going to make big mistakes when the time comes,” Mike says. 

Atlassian conducted in-depth research on the values of balance & belonging, and creating diverse teams. All of this research points to one consistent fact: diverse teams are the teams that win.

Not setting clear expectations for their team

Another mistake Mike sees new engineering managers make? Not outlining clear task and performance expectations. Even if your team members display leadership and project management skills, it’s still the manager’s responsibility to check in with the team and communicate expectations.

“It’s very easy to have a team and give them a ton of autonomy,” says Mike. “If you don’t set any expectations of what you expect as a manager, they’re just going to go off-road quickly. Your job is to give them expectations.”

Not giving your team enough autonomy

On the other end of the spectrum, some new managers don’t give their team enough autonomy. In order to build a high-performing team, you need to create space for your team to tackle problems in their own way. Making room for each member of your team to introduce a new process or offer a different perspective gives them a sense of ownership and responsibility. 

According to Mike, the combination of diverse hiring, outlining expectations, and giving your team freedom to work in their own way is the formula to building high-performing engineering teams. “Hire the right people, ideally a diverse team,” says Mike. “Setting expectations of what success means for that team, and give them the room to do it.”

Tying it all together

Every engineering leader faces a learning curve when it comes to building and leading teams. Learning how to assess every type of developer, choose candidates who bring a different perspective to the table, and communicate expectations, while also encouraging autonomy, are skills that take time to hone and perfect. But the more experience you gain in each of the above, the closer you’ll be to mastering the art of building high-performing engineering teams.

The post How to Build High-Performing Engineering Teams appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/how-to-build-high-performing-engineering-teams/feed/ 0
Building Key Engineering Management Skills https://www.hackerrank.com/blog/building-key-engineering-management-skills/ https://www.hackerrank.com/blog/building-key-engineering-management-skills/#respond Wed, 06 Nov 2019 22:37:55 +0000 https://blog.hackerrank.com/?p=15081 This is part 1 of a 3-part series based on the conversation HackerRank’s CEO and...

The post Building Key Engineering Management Skills appeared first on HackerRank Blog.

]]>
A meeting in an office, where some employees are seen smiling

This is part 1 of a 3-part series based on the conversation HackerRank’s CEO and co-founder, Vivek Ravisankar had with Atlassian’s Head of Platform, Mike Tria, on engineering management. 

This post discusses how to know if engineering management is for you and how to build key engineering management skills (through improv comedy and other methods).


HackerRank’s CEO and co-founder Vivek Ravisankar and Atlassian’s Head of Platform Mike Tria are both developers who transitioned into managerial roles and have gone on to hire many engineering managers. Drawing from their experiences, they break down why engineering management isn’t and shouldn’t be for all developers, and also share what skills an engineering manager needs in order to be successful. 

How to know if engineering management is for you

It’s important to recognize that engineering management is not the only way developers can advance their careers. At Atlassian, there are two separate career ladders mapped out for developers: one leads to becoming an engineering manager and the other to becoming a principal developer. 

“We really wanted to treat these as two separate career tracks, both equivalent to another,” says Mike. “We actually mapped our career ladders to have the same exact levels for managers and developers. It works that way from a compensation perspective, to the nature of how the actual promotion up those ladders works. And so, the move from a senior engineer to a manager is seen as a lateral move within Atlassian.” 

Ways to Assess if Engineering Management is the Right Fit

If you're unsure whether you should become an engineering manager, use some of these methods to see whether engineering management is for you.

Approach your manager and see if they’re open to assigning you smaller managerial tasks so that you can experience what the role of a manager is like. You can also build relationships with engineering managers and see if you can find a great mentor who can help you gain a better understanding of the role. Last, if your employer provides manager apprenticeships or rotational programs, take advantage of those offerings. 

If after these experiences you realize that management isn’t for you and you prefer being an individual contributor, Mike believes some management experience is still valuable. 

“I've actually found some of the best developers we have are people that tried management and went back, so they now have an understanding and respect for the work that goes into it,” says Mike. 

The 5 core engineering management skills

If you’ve had a taste of what engineering management is like and you realize it’s the right role for you, here are the top 5 engineering management skills that Mike and Vivek agree you need to learn:

1. Have a team-oriented mindset

When moving from being a developer to an engineering manager position, Mike and Vivek believe many developers (themselves included) may initially struggle with moving to a team-oriented mindset. 

Instead of valuing the code you write, as an engineering manager you need to value what your team produces. While personal technical skills are still important, a successful leader is someone who should be invested in the work of the entire team.

2. Become an active listener

As a manager, it can be easy to dominate conversations or implement procedures and policies that have worked for you in the past. However, it’s vital for you as a leader to take the time to listen to your team so you can begin to understand what your team needs and how you can help. Enforcing plans without input from your team will cause you to quickly lose credibility as a leader and lose the trust of your team.  

Mike has a few suggestions for how first-time engineering managers or leaders who are joining new teams can become better listeners. 

“Actually jumping into the trenches a little bit and understanding their work helps. I also like to take on a project in my first 3 months. So, pick a meaty project and get in there and just shadow and ask questions,” says Mike. “At Atlassian, we have this expression where it's like you go from listening to speaking to deciding and I think for that first 60 days it really is a matter of looking and speaking.” 

3. Hone your communication skills 

Another key soft skill that engineering managers need is the ability to clearly communicate, both verbally and in writing. 

“You need to be a really strong communicator which is not something that you usually give weight when you're trying to hire an engineer and suddenly when you're getting promoted to an engineering manager, you’re getting involved in cross-functional team meetings, you need to be able to communicate why we're doing what we're doing,” says Vivek. 

Mike chose an unconventional way to hone his communication skills. He joined an improv comedy group.

“So, I was naturally not a great communicator but it was also very lucky because I did a lot of improv comedy throughout my career,” says Mike. “And so, it just so happened that a lot of the skills around listening and how to be able to stand in front of a whole bunch of people, in front of your team, and talk about something that maybe you just heard about one hour ago and didn't have time to prep a slide deck, that's a skill that I think some of the improv can teach you.”

4. Sharpen your business acumen

Along with being able to clearly articulate the work that you and your team are doing, it’s important to understand and build partnerships with other departments in your company. 

An engineering manager role requires you to work cross-functionally. You need to be able to understand the business and how your work fits in with the work of the company’s other departments such as sales, marketing, and customer success teams. To do this, start by consuming content outside your field of expertise, and have 1:1s with peers outside of engineering.  

5. Don’t let your technical skills get rusty

To ensure that you always have a clear understanding of the work being done by your team and to maintain credibility as an engineering leader, you need to keep your technical skills sharp. Technology is always moving at a rapid pace so the technical skills that were relevant 2 years ago, may not be as relevant to the business now. 

“You have to be up on the tech that your team is using, not that you can get down in the trenches and write critical code but, you know, fix a bug every once in a while, load up Jira or look at a few issues and talk to the team about the backlog...Actually do those things that help maintain your credibility that you can then pass on to your team,” suggests Mike.  

Tying it all together

Engineering management is not the only option that developers have when it comes to progressing their careers and companies need a mix of principal engineers, senior developers, and engineering managers to be successful. At the end of the day, engineering managers should be individuals who are interested in and able to represent a technical team. This requires an in-depth knowledge of the responsibilities an engineering manager has as well as building key soft and technical skills such as communication skills and business acumen.

The post Building Key Engineering Management Skills appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/building-key-engineering-management-skills/feed/ 0
How Should You Structure Your Engineering Team? https://www.hackerrank.com/blog/how-should-you-structure-your-engineering-team/ https://www.hackerrank.com/blog/how-should-you-structure-your-engineering-team/#respond Tue, 22 Oct 2019 02:41:11 +0000 https://blog.hackerrank.com/?p=14998 The following post was originally published on Atlassian’s blog. It’s been a few years since...

The post How Should You Structure Your Engineering Team? appeared first on HackerRank Blog.

]]>

The following post was originally published on Atlassian’s blog.


It’s been a few years since the “Spotify Model” became the latest trend for structuring an engineering team. But, like its predecessors, the model based on tribes and squads has some pitfalls. How to structure an engineering team is a question that’s been covered at length, from the strengths and weaknesses of common team structures to a matrix of organization based on risk and scale to why you should choose your own model.

The main goal of an engineering team structure is to balance trade-offs to maximize effectiveness. (See sliders graphic below.) For instance, technology teams might be organized around front-end or mobile development specialists, matrix teams are cross-functional but report to different managers, and product teams are cross-functional teams who report to the same manager.

Differences in common engineering team structures

But knowing when and how to change from one setup to another is complicated, and engineering leaders are compelled to evaluate their team structures regularly. To get at the crux of all this forming, storming, and norming, we reached out to these engineering pros: Asanka Jayasuriya, SVP of engineering at Invision; Steven Chen, Engineering Director, Platform Ecosystem at Slack; Tina Schuchman, Director of Product and Engineering for Ecosystem at Dropbox; Karl Mendes, former CTO of Darbysmart; and our very own Stephen Deasy, Atlassian’s Head of Engineering, All Teams and Platform.

If you’re struggling to decide if you need a change, or which engineering team structure to organize for successful execution of your strategy, consider these questions, trade-offs, and best practices before making the next move.

Tweaking the “triad”

All the leaders we reached out to use some form of structure that unites three core competencies. Atlassian and Invision have teams which consist of a representative from design, engineering, and product. Asanka Jayasuriya from Invision describes it this way: “It’s three legs of a stool: product, engineering, design. In ‘Trios,’ every piece should be involved. It scales up through product, and has peers in every branch.” In many orgs, design often isn’t given equal weight. “Since design is at the core of what we do,” he says, “we feel design needs an equal seat at the table.” A common challenge in this traditional “three-legged” setup, however, is decision-making.

At Dropbox, the competencies are the “3Cs” – Content, Coordination, and Communication. And Slack uses a mix of small team triads who work together with other teams within their organization. “At a high-level, ours is a ‘business unit’ setup,” says Steven Chen. “The base unit is triad, and we have pseudo tribes, and guilds. But we don’t necessarily call it that.”

All these teams follow some version of the “basic” structures, but they’ve experimented and tinkered and iterated a lot to find a system or model that works for them.

How the triad team structure integrates engineering, design and product

In other words, though the triad model works well for these organizations, generally speaking, all continue to iterate to balance trade-offs around speed, scale, autonomy, and people.

Team structure to execute at scale

If there’s one driver of team structure, it’s executing at scale. With any small company or small team, at first you’re just that: the team. Your goals, needs, and problems–and personnel to match–are right in front of you, literally and figuratively. But what happens when you scale from ten people to 50, 150, 300, and more? When you grow, team organization suddenly becomes paramount. How do you prioritize? How do you test and measure? Now, you’ve got teams of engineers and designers, not just one team. Dunbar’s Number explains that there are turning points at each organization size, and at approximately 150 people, most organizations feel strong growing pains.

Atlassian’s Stephen Deasy talks about a common mindset shift. “When the team has 15 people, the manager can probably physically see everyone. They can look over their monitor to talk to people and they generally know what each person is working on. At 40 people, team members are sitting on a different floor or in another building. You might have a bi-weekly sync to talk about big milestones. But when you get to 150 people, teams interact on a more transactional basis on projects, and the overall group starts to feel less like a coherent team with a shared mission.”

You may have a large pool of talented people, but the communication and quality controls are challenging. Thus, the need to evaluate, and reevaluate, the team structure and adapt as needed.

At this bigger scale, some orgs try the “business unit” structure: each team is sort of a mini-company, with an eng/product/design group dedicated to an initiative. This can create more focus, but with the higher level of autonomy, there’s less control. Then there’s the “Spotify” (or matrix) model, which alters roles for leads and managers, who become people managers and not product leaders. These teams set goals and pursue them on their own. Leaders are coaches to that team, but don’t sit within the team. But, executives can get uncomfortable because they sometimes don’t know what’s getting built, they only know what problems need to be solved. It requires a lot of communication and managing up to be successful.

“Organizational changes will never be perfect,” says Dropbox’s Tina Schuchman. “It’s always a tradeoff. It’s a balance among aligning product goals, coding efficiency, and morale.”

“You can have all these ‘names,’ but every org is unique,” adds Steven Chen. “Your business is unique. Every concept is unique. Everyone says they’re agile, but no one’s ‘Agile.’ Buzzwordy and strict ‘agile’ is great, but not easily adaptable to everyone. You’re going to know best what your team needs.

Before you iterate on your team’s structure…

“As an org grows,” says Karl Mendes, “it needs to grow and adapt. Many stick to the old way too long.”

Before structuring (and restructuring) your team, keep some basic principles close to heart. You’ll have a much higher success rate, and you won’t go blindly and change for change’s sake.

As Steven Chen says, “We do a mini-reorg every year. Almost on schedule, but not on purpose. We’ve done it because priorities change, depending on what we’ve built and get the right people on the right problem.” He emphasizes the inevitability of change – and the need to embrace it. “Teams that are flexible can do different things,” he says. “They’re very responsive and flexible. If you keep doing the change, people get used to it. Because, think of it: add one new person? That’s a new team. Change is always happening.” Teams are too often considered static things and should be more dynamic.

“There are two competing philosophies around reorgs,” says Tina Schuchman. “The first is that they revolve around people – identify the leaders in the org first, and then build teams around them. The other way is to start with product goals, and then slot in people. Obviously, there’s a bit of push and pull, and you need to make sure you design an organization that has clear goals for each product area as well as the right leaders to lead these areas. My personal approach is to start with product goals, then align this to the people I have on the team. I can make small adjustments if they make a big impact to key people. However, if I start with people, I tend to find a suboptimal solution for the business.”

Atlassian’s Stephen Deasy always goes back to first principles. That is, strategy, structure, people. “Structure around strategy first,” he says. “What are you trying to accomplish? Then solve for the organization: how will you execute? Then take a look at the people you have. They have different skills and experience, and moving people around might have unintended consequences. For example, if a leadership role opens up, do you move someone into that role that might be lacking some experience, but allow them to stretch, or do you hire someone from the outside? But if you bring in another person, have you blocked the growth for your current employee? These are all trade-offs you have to think about when moving people into different teams.”

6 tips to consider before changing your team’s structure

  1. Understand the problem. You must diagnose the problem before you can solve it. In other words, if you can’t name the problem, you can’t solve it. Is it a communication problem? A collaboration problem? A lack of direction? Achieving clarity here and really understanding what you’re trying to solve is more than half the battle. Stephen Deasy advises looking for patterns in your retrospectives, running regular health monitors and plays (like roles and responsibilities), and to consider bigger shifts that show up in annual or bi-annual vital signs surveys that look across the company.
  2. Who’s the audience? Always center decisions on your end users, your customers. Involve your leadership team, but also a wide variety of people in the organization to gather ideas and co-create a picture of the desired future state. It’s better to focus everyone on the long-term mission of what you want to build, rather than shuffling to the latest management trend or cool new project.
  3. Don’t make change a big deal. If you create an expectation that change only happens once every two years, it emphasizes the severe impact. But if you make smaller iterations, you’ll probably find better designs and people will be more comfortable with change. Instead, team structure updates should be driven by changes in organizational size due to growth and hiring, and updates to strategy (at Atlassian, reorgs usually happen just after annual planning, because we’ve nailed the strategy, now we need to execute by putting together the right teams). New team formations are hard, but it’s helpful to get different expertise. Steven Chen says, “If you embrace change, you become a better collaborator, better engineer. We deal with change all the time. PTO. Deadlines. Don’t focus on the “change” necessarily, because you get caught up in it. Change is growth. View it as a positive. It’s an opportunity.”
  4. Decide who decides. Equal seats at the table sound great on paper, but who decides? “Be really really clear about who owns each responsibility and who contributes,” says Asanka. “Who decides if a thing is good enough?” Those subtleties become harder and harder at scale, so make sure roles and responsibilities are crystal clear. Make them very specific.
  5. Create room for experimentation. There tends to be a lot of creativity in products, but teams are more afraid to experiment in organizations. “We can’t be afraid to make changes,” says Karl Mendes. “We need to iterate on it like we iterate on a product.”
  6. Over-communicate. There’s a human cost in these changes so, especially as leaders, knowing priorities and communicating–even over-communicating–is critical. Make sure you understand the why and be very clear that it’s the right thing to do. “They’re (changes) not free,” says Asanka. “They have costs, so make sure you understand what it’s going to cost. The biggest heartburn is changing managers, which after a few times in quick succession leads to attrition. It can erode trust because managers are responsible for career paths, compensation, and how you’re presented up the chain.” The best solution is to communicate frequently and openly about all aspects and consequences of changes.

The case for continuous improvement

Change is constant, and never easy. As teams form, and reform, it’s really important to know why you’ve decided to try a certain team structure. Most team structures have basic commonalities and, like anything, it’s helpful to know the rules before you consider breaking them. That is, being familiar with the setups of other engineering orgs gives you more reference points, and can only help you select what’s best for your team.

But boil everything down, and you arrive at this: find your own “organization-context fit.”

No team works the same way, or needs the same things. By nature, a team–a good team–understands that it should do things for the benefit of the team, not strictly to adhere to some “organizational model.” The goal should be to develop a culture of high trust and a willingness to iterate and make adjustments. This means open cultures of trust, radical candor, and the growth mindset. Combined, these touchstones propel teams into more fertile territory.

To enable agility in an organization, empower your leaders and teams, and leave top-down management for the history books. No pre-existing model that you copy will fix all problems. First, know your team. Then know your problem. Only then can you make needed adjustments based on established models, you, and your team’s dynamics and goals.

Banner reading "Engineering Leadership Guide - How To Build A Hiring Process for Engineering"


This piece was co-authored by Jamey Austin, a Content Marketing Manager at Atlassian, and Ashley Faus, an Integrated Marketing Manager at Atlassian.

The post How Should You Structure Your Engineering Team? appeared first on HackerRank Blog.

]]>
https://www.hackerrank.com/blog/how-should-you-structure-your-engineering-team/feed/ 0