fbpx
Categories
career progression

An Interesting Observation About Tech Leads

If you observe the career progression of tech leads in big techs and high-growth startups, you’ll notice something intriguing.

Many leadership roles in these organizations begin to utilize overlapping skill sets after a while.

Everyone working in engineering or product has a solid grasp of programming and computer-related concepts, and most have written code at some point in their careers.

At first glance, the roles of a tech lead, engineering manager, and product manager might seem distinct.

However, upon closer inspection, you’ll discover that these roles share a common thread – they all require a combination of technical understanding, leadership skills, and strategic thinking.

Let’s take a deeper dive into each of these roles and examine how they compare and contrast.

A Mental Model for Understanding Engineering Leadership Roles

To better understand the nuances of each role, let’s consider a mental model that splits day-to-day activities into three buckets:

  1. Strategy and Alignment: Developing and communicating the group’s vision, mission, and strategy. Ensuring alignment across teams, managing dependencies, and collaborating at a team level.
  2. People Management: Fostering a healthy team environment, supporting professional growth, and ensuring efficient execution.
  3. Building Software: All activities related to producing code that powers products, including planning, architecture, code structure, writing code, code reviews, deployments, and monitoring rollouts.

Visualizing These Roles

Now, let’s visualize how each role spends its time across these three buckets.

Keep in mind that these are rough estimates and may vary depending on the organization and specific role:

RoleStrategy & AlignmentPeople ManagementBuilding Software
Engineering Manager30%50%20%
Product Manager80%10%10%
Tech lead30%10%60%
tech roles visualized by responsibility

Where does that leave the tech lead role?

Based on the table comparison, the Tech Lead role remains a hands-on role, with a primary focus on building software (60%), but also shares responsibilities for strategy and people management through influence rather than authority.

This means that while the Tech Lead is still responsible for writing code and contributing to the technical aspects of the project, they are also expected to play a larger role in shaping the direction of the project and managing the team.

However, unlike the Engineering Manager, they do not have formal authority over the team members. Instead, they must rely on their influence and soft skills to drive collaboration and achieve consensus among the team.

Therefore, the Tech Lead role requires a balance of technical expertise, leadership ability, and interpersonal skills.

They must be able to work effectively with both technical and non-technical stakeholders, communicate their vision and goals clearly, and motivate the team to achieve them.

Specific Responsibilities of a Tech Lead

Let’s bring this down a level and talk about specifics.

As a Tech Lead, you’ll be expected to engage in various high-level areas, including strategy and alignment, people management, and building software.

Here are some specific responsibilities that fall under each of these categories:

Strategy & Alignment

  • Setting the standard for coding and implementing best practices: As a Tech Lead, you’ll be responsible for ensuring that your team adheres to industry-wide best practices and standards for coding, testing, and software development. You’ll also be tasked with identifying areas where new technologies or approaches could improve the team’s workflow and championing those changes.
  • Providing guidance and technical decision-making support to team members: When team members encounter technical roadblocks or have questions about the best approach to a problem, they’ll look to you for guidance and support. You’ll need to be able to provide informed recommendations and help your team make sound technical decisions.
  • Ensuring the successful implementation of projects: As a Tech Lead, you’ll be responsible for overseeing the progress of projects and ensuring that they’re completed on time, within budget, and to the satisfaction of stakeholders. This includes monitoring project timelines, identifying potential risks or bottlenecks, and working with your team to mitigate any issues that arise.
  • Alignment of Work to Initiatives: Tech Leads need to understand how their work fits into the broader strategy and initiatives of the organization. This means being aware of the company’s goals, values, and priorities, and ensuring that the work of the tech team aligns with these objectives.
  • Understanding the “Why”: It’s also important for Tech Leads to understand the “why” behind the work. This means going beyond just implementing best practices and standards, and instead, understanding the underlying reasons for doing so. For example, when implementing a new technology or approach, Tech Leads should consider not just the technical benefits, but also how it will impact the business and its customers. They should be able to articulate the value proposition of the technology and how it supports the company’s goals and objectives. By understanding the “why” behind the work, Tech Leads can help their team members see the bigger picture and feel more connected to the organization’s mission.

People Management

  • Possessing deep technical expertise and staying current with industry trends: As a Tech Lead, you’ll be expected to possess a deep understanding of the latest technologies, tools, and methodologies in your field. You’ll also need to stay up-to-date with emerging trends and be able to identify opportunities for your team to leverage new technologies or approaches.
  • Collaborating with cross-functional teams to drive innovation and excellence: As a Tech Lead, you’ll work closely with other departments, such as product management, design, and sales, to ensure that your team’s efforts align with the company’s overall goals and objectives. You’ll need to be able to communicate effectively with stakeholders, understand their needs, and translate them into technical requirements for your team.
  • Communicating effectively with stakeholders, including project managers, designers, and customers: Clear communication is crucial to the success of any project. As a Tech Lead, you’ll need to be able to explain complex technical concepts to non-technical stakeholders, provide regular updates on project progress, and address any concerns or issues that arise.
  • Mentoring and coaching team members to enhance their technical skills and knowledge: As a Tech Lead, you’ll be responsible for helping your team grow and develop their technical skills. This includes mentoring and coaching team members, providing feedback and guidance, and identifying opportunities for training or upskilling.

Building Software

  • Identifying opportunities for process improvement and advocating for changes that benefit the team or organization: As a Tech Lead, you’ll be responsible for continuously assessing your team’s workflows and processes, identifying areas for improvement, and advocating for changes that will increase efficiency, productivity, or quality.
  • Establishing and maintaining technical documentation and standards: Your team’s technical documentation and standards are critical to ensuring consistency, repeatability, and scalability in your software development processes. As a Tech Lead, you’ll be responsible for establishing and maintaining these documents, ensuring that they remain up-to-date and relevant to your team’s needs.
  • Participating in recruitment and interview processes to ensure the team is staffed with top talent: As a Tech Lead, you’ll be involved in the recruitment and hiring process, helping to identify top talent and ensure that your team is staffed with the right people. This includes reviewing resumes, conducting interviews, and providing input on candidate selection.

While the above is not exhaustive, it should help guide you in finding the foundational responsibilities for the Tech Lead role.

By fulfilling these specific responsibilities, a Tech Lead plays a critical role in ensuring the success of their team and the company as a whole.

They serve as a leader, mentors, and technical expert, helping to guide their team toward achieving their goals and delivering high-quality software solutions.

Career Progression for Tech Leads

Becoming a Tech Lead is a significant milestone in any software developer’s career.

It represents a recognition of their technical expertise, leadership abilities, and dedication to their craft.

However, for many Tech Leads, this role is not the end goal, but rather a stepping stone towards even greater opportunities.

Let’s explore two common career paths that Tech Leads can pursue: management and product management.

Management Path

One natural career progression for Tech Leads is moving into management.

As a Tech Lead, you’ve already demonstrated your ability to lead a team and manage projects.

The next step is to expand your scope and take on more responsibility.

Management roles for Tech Leads can include:

  • Engineering Manager: An Engineering Manager is responsible for leading a team of software engineers and overseeing the technical direction of a project or product. This role requires a deep understanding of software development principles and methodologies, as well as strong leadership and communication skills.
  • Director of Engineering: A Director of Engineering is responsible for overseeing the entire engineering organization, including multiple teams and projects. This role requires a broad technical background, as well as strong leadership, strategic thinking, and organizational skills.

Product Management Path

Another career path that Tech Leads can pursue is product management.

As a Tech Lead, you’ve worked closely with product managers and have a deep understanding of the product development process.

This makes you uniquely qualified to transition into a product management role.

Product management roles for Tech Leads can include:

  • Product Manager: A Product Manager is responsible for defining and executing the product roadmap, working closely with cross-functional teams to bring new features and products to market. This role requires a deep understanding of customer needs, market trends, and competitive analysis, as well as strong communication and project management skills.
  • Head of Product: A Head of Product is responsible for overseeing the entire product organization, including multiple product lines and teams. This role requires a broad understanding of the product portfolio, as well as strong leadership, strategic thinking, and decision-making skills.

Skills Required for Career Progression

Regardless of whether you choose to pursue a management or product management path, there are several key skills that you’ll need to develop to succeed:

  • Communication: Strong communication skills are essential for any leadership role. You’ll need to be able to articulate your vision, goals, and priorities to your team, stakeholders, and executives.
  • Strategic Thinking: As a leader, you’ll need to think strategically, making decisions that align with the company’s long-term goals. This requires a deep understanding of the business, market trends, and competition.
  • Influence: Influence is critical for leaders who want to drive change and achieve their goals. You’ll need to be able to build relationships, negotiate, and persuade others to follow your vision.
  • Decision-Making: Good decision-making is critical for leaders. You’ll need to be able to analyze data, evaluate options, and make informed decisions quickly and confidently.

Conclusion

Becoming a Tech Lead is a significant achievement, but it’s not the end of the road.

There are many opportunities for career progression, whether you choose to pursue a management or product management path.

By developing key skills such as communication, strategic thinking, influence, and decision-making, you can unlock new opportunities and continue to grow and succeed in your career.

Categories
growth

The Tech Leader’s Guide to Cultivating Team Growth

Imagine IBM 100 years ago, at the dawn of the 20th century, when they primarily focused on producing punch card tabulating machines for businesses and government agencies.

Back then, IBM’s mission revolved around data processing and automation, but they evolved with the times.

If they hadn’t adapted to emerging technologies, such as computers and mainframes, or if they ignored changes in data protection laws and the significance of software, they might have faded into obscurity.

Instead, IBM embraced growth, diversified its offerings, and transformed into the global technology giant we know today.

Hopefully, this quick example gives you a glimpse of understanding the importance of fostering a growth mindset within your teams.

Active Steps to Foster a Growth Mindset

The journey toward engineering excellence requires leaders to actively cultivate an environment where team members embrace learning, seek mastery, and find purpose in their work.

Let’s explore practical steps that engineering leaders can take to nurture this culture of continuous growth within their teams.

Embracing autonomy

In our previous discussion about accountability, we emphasized how autonomy is essential in building trust and improving accountability. 

Autonomy also plays a significant role when it comes to growth. 

Here are some ways to promote autonomy and foster growth.

Encouragement

To promote learning and development among team members, encourage them to take charge by simply asking what they plan to learn during the week.

Additionally, consider providing dedicated learning time during working hours to ensure that they feel safe to slow down on execution in order to learn.

Provide autonomy in project selection and decision-making

When employees are given the opportunity to choose their career path, it allows them to concentrate on the most important work that coincides with their interests.

This not only empowers them but also benefits the organization as a whole.

By focusing on areas of expertise and interest, employees can increase their productivity and overall job satisfaction.

This can lead to a more engaged and motivated workforce, resulting in higher levels of success for the organization.

Mastery Through Mentorship

One way to expand knowledge sharing within your organization is to create a dedicated platform for experts to share their insights and expertise.

This platform could be in the form of an internal blog, a knowledge base, or a community forum where employees can ask questions and receive answers from subject matter experts.

Additionally, you could organize regular knowledge sharing sessions or workshops where experts can present their latest findings or share best practices with their colleagues.

Finally, incentivizing knowledge sharing through recognition programs or performance evaluations can also encourage experts to contribute their knowledge and expertise to the benefit of the entire organization.

By implementing these strategies, you can create a culture of knowledge sharing that fosters collaboration, innovation, and growth.

Here are a few specific examples you could try within your own teams:

Mentorship programs

Mentorship programs can have a significant impact on your team’s growth, and it doesn’t have to be a complicated or time-consuming effort.

One simple example could be a book club where an expert guides discussions around each chapter.

It’s crucial to create a supportive environment that encourages team members to mentor each other, which can lead to more collaboration, knowledge-sharing, and ultimately a stronger team.

Don’t hesitate to explore various mentorship opportunities that fit your team’s unique needs and goals.

Pairing

Partnering with someone can be an incredibly valuable experience that opens up a world of knowledge and skills.

When you work with someone else, you have the chance to observe their thought process, decision-making, strategies, and techniques.

In turn, they can learn from your approach as well.

This creates an environment of mutual growth and learning, making collaboration an amazing opportunity.

So if you have the chance to work with someone else, don’t hesitate to take it – you never know what you might learn!

Differentiation in learning styles

Learning is a crucial aspect of personal and professional growth. Do you enjoy reading, watching videos, or listening to audiobooks?

Everyone has their own unique learning style, and it’s important to recognize and cater to these differences.

By understanding the different ways people learn, we can foster a growth mindset.

Here are several ways we can achieve this goal:

Encourage joining the local library

In recent years, libraries have evolved to become more than just a place for books. Instead, they now offer a wide range of learning resources in various formats, including digital ones.

This means that you can access a wealth of knowledge from the comfort of your own home or office by browsing their extensive collections. Whether you’re looking to expand your knowledge in a particular subject area or simply want to explore new topics, libraries are a valuable resource that can help you achieve your goals.

So why not take advantage of all that they have to offer and start exploring today?

Podcasts

It’s likely that you’ll discover a podcast related to your favorite topic given the recent increase in availability.

These days, you have the choice of various formats such as audio, video, and written summaries, which enables you to choose your preferred format and consume the content in the way that suits you best.

Online learning platforms

Currently, I have a preference for LinkedIn Learning and Safari Books Online when it comes to expanding my knowledge on technology and leadership through various formats.

For a more hands-on learning experience, I have found Codecademy and Coursera to be quite useful.

Although these websites often require payment, they also offer free options with exceptional content to help you get started.

If your company has the means, it could be worthwhile to inquire with your team which subscription would be most valuable to them and consider covering the cost.

Call to Action

As you embark on your leadership journey, it’s crucial to understand that cultivating a growth mindset is more than just a strategy – it’s a pledge to assist your team in realizing their complete potential.

By implementing these practical measures, you can create a workplace environment that fosters creativity, knowledge exchange, and personal growth.

Embrace transformation, prioritize education, and steer your team towards a thrilling future filled with possibilities.

Begin taking concrete steps today!

Categories
behavior management Team building

Turning Accountability into Action: Practical Tips for Leaders

The Merriam-Webster dictionary defines accountability as an obligation or willingness to accept responsibility or to account for one’s actions.

As leaders, we are often tasked with keeping our teams accountable and being accountable ourselves. The problem is that accountability is set as an expectation, but anyone in your organization will rarely show you how to hold your teams accountable.

Today, you don’t have to wonder anymore.

We’ll go over some common challenges leaders face, and explain a few ways you can enhance the accountability for yourself and your teams.

Let’s get started!

Why accountability?

If I were to further break down the definition of accountability, I would argue that our willingness to “accept responsibility” is further driven by our desire to belong.

Society works based on trust. We’ve learned that we can count on people to do what they say they’ll do, and when they don’t, we reduce our trust in them.

So accountability is about trust. It is our desire to know that I can trust you to do as you said you would.

Who are we accountable to?

Since we established that accountability is ultimately about trust when we are asked to hold our teams accountable, who are we expecting to trust?

I pondered about this for a while and ultimately understood that in business, we are always accountable to our customers. But we get there by being accountable to our peers.

When we talk about holding our teams accountable, we are, in essence, placing our trust in two critical directions: horizontally, toward our peers and colleagues, and vertically, toward our customers and stakeholders.

Trust in Our Peers and Colleagues (Horizontal Trust): Accountability within a team relies heavily on mutual trust among team members. As leaders, we expect our team members to trust us to provide guidance, resources, and support to help them achieve their goals. Simultaneously, we must trust our team members to fulfill their roles, meet their commitments, and contribute to the collective success of the team. This horizontal trust forms the bedrock of a cohesive and high-performing team.

Trust in Our Customers and Stakeholders (Vertical Trust): Ultimately, the success of any business hinges on the trust of its customers and stakeholders. We are accountable to them for delivering quality products, services, and experiences. To earn their trust, we must first demonstrate accountability within our teams. When our peers and colleagues trust us, this trust cascades vertically to our customers. They see a well-coordinated and accountable team dedicated to delivering value and meeting their needs.

Common challenges to helping your team be accountable

Celine Teoh, CEO Coach at Mochary Method, breaks down common challenges to accountability in their “How to Hold People Accountable” presentation. Let’s go over them in detail:

Ex-boss syndrome

Bad bosses are everywhere! luckily, since you are here, you care and are not one of those micromanagers that made you and your teammate’s life impossible. Don’t let a bad experience ruin the opportunity to build trust within your team to help them with accountability.

I am not an expert

How do you question someone more experienced than you? As leaders, likely, you are not the expert in the room, however, you are still accountable to your team and your customers.

Empathizer

You understand your team and feel deeply for the challenges they face. How can you expect accountability when their reasons are so valid?

I trust the team

You believe in your team and trust them so much you don’t feel the need to check on them.

Conflict avoidance

What if they get angry? what if my best employees leave? I am hesitant to hold them accountable out of fear of what they might do.

While these and other scenarios might seem valid to you, understand that to win over your customer and your peer’s trust, we have to overcome our fears and learn of ways to cultivate a culture of accountability.

Fostering an accountability culture

Carrots and Sticks

The prevalent way businesses have been fostering accountability has been by using carrots and sticks. If you are not familiar with the term, carrots, and sticks refer to when leaders use gifts (the carrot) as well as punishment (the stick) to incentivize behavior.

The basics of carrots and sticks look something like this

  • Set a goal and provide a bonus if you hit the goal (use a carrot)
  • No bonus if the goal is not met (remove the carrot)
  • We place you on a PIP and fire you if you don’t meet the goal (use a stick)
  • Meet your PIP goals and we won’t fire you (remove the stick)

Research has shown that carrots and sticks are well suited for tasks where the steps are well known. But well-known tasks are also tasks that are prone to automation, so we are left with a workforce whose value is created by being creative and solving challenging problems.

Unfortunately, carrots and sticks are detrimental when used to incentivize creative work. So how do we then get our teams, working on creative tasks, to be accountable for their work?

Intrinsic motivation

Rather than doing something to seek a reward or avoid a punishment, intrinsic motivation plays to our desire to do something simply because we find it interesting.

A great example provided by Dan Pink is the contrast between Microsoft’s Encarta encyclopedia and Wikipedia.

For Encarta, Microsoft went about implementing all the known carrot-and-stick approaches. Highly capable managers, a well-laid-out bonus structure, and very explicit goals.

On the other hand, Wikipedia is free to use and its content is entirely made from excited and engaged individuals who care for the information Wikipedia contains.

You don’t have to guess which encyclopedia is successful now. The intrinsic motivators driving Wikipedia contributions far outpaced any bonus structure put in place for Encarta.

How then do we foster intrinsic motivation to create a culture of accountability? Recent authors have given us excellent information on how to foster intrinsic motivation, here are some recent examples that I’ll use to illustrate actionable steps

These authors argue that when we care about something, we do a much better job at it, and to foster a culture of caring, we must help our teams understand the value they are adding and give them ownership over their work.

Let’s now take a look at specific action steps we can take as leaders to foster a culture of accountability by ensuring our team cares about their work.

Practical tips for leaders

A mental model I use to simplify what we’ve reviewed so far is that

“we foster accountability in our teams by providing autonomy via mastery and purpose”

This oversimplification covers most of the general idea, but let’s dig into the specifics of how we could implement it.

Autonomy

Your team works best when they feel ownership of their work, We allow for ownership by fostering autonomy, Here is how:

  • Define the mission and objectives clearly – follow up on progress on a pre-determined scheduled
  • Set high standards and clearly define what excellence looks like – repeat these often
  • Reaffirm your trust in your team. “I understand this work is challenging, and I want you to know that I believe in you and I have high expectations from your work.”
  • Allow decisions to happen where the information resides
  • Allow your team to choose their projects
  • Focus on outcomes rather than micromanaging the process
  • Let individuals define their own goals and metrics for success
  • Enable flexible work arrangements
  • Allow for open communication and active listening
  • Encourage your team to propose solutions
  • Foster “I intend to” statements by asking your team to bring up what they intend to do (new decision, next steps) rather than expecting you to tell them what to do next. On your end, focus on asking about the impact rather than focusing on the steps.
  • Don’t allow for excuses, autonomy = ownership. When given an excuse ask – what could we have done differently? what do you intend on doing next?
  • Lead by example by taking full responsibility for the successes and failures of your team. Never blame others or external factors for setbacks

Mastery

It is extremely difficult for your team to achieve their tasks autonomously if they don’t have the knowledge and expertise required to complete them.

To have Autonomy, we require mastery, and mastery is achieved with grit (talent + effort). Here are a few ways to help your team achieve mastery:

  • Offer continuous learning opportunities
  • Allow your team to tackle challenging projects, stretching their current knowledge
  • Setup a mentorship program
  • Encourage your team to attend conferences
  • Encourage cross-functional collaboration, so your team learns from others and builds empathy toward sister groups
  • Solicit and Provide constructive feedback so your team knows where to improve
  • Frame mistakes or setbacks as opportunities for growth by holding retrospective meetings after projects to identify what went well and what could be improved, fostering a culture of continuous learning
  • Organize “learning days” where team members can dedicate time to exploring new technologies, tools, or methodologies.
  • Set up a “learning board” where team members can post and discuss lessons learned from various projects, promoting shared learning
  • Start a book club on a subject related to an upcoming project
  • Foster a culture of open communication and active listening, allowing team members to freely exchange ideas and insights
  • Facilitate regular peer reviews, where team members provide feedback and suggestions on each other’s work
  • Implement a feedback loop that allows the team to make data-driven adjustments.

Purpose

To fully achieve Autonomy, Mastery, and Purpose, it is important to focus on the underlying reason for the work we do.

When we have a clear understanding of our purpose, we can take ownership of our work and feel empowered to achieve our goals independently, utilizing the skills and knowledge we have gained. To help your teams find purpose, follow these steps:

  • Communicate the team’s overarching mission and how each member’s work contributes to that larger purpose
  • Regularly remind team members of their work’s meaningful impact on the organization, customers, or society as a whole
  • Initiate discussions about the values and principles that guide the team’s work, helping individuals connect their tasks to a sense of purpose.
  • Involve team members in setting meaningful goals that align with the team’s mission and values, creating a sense of ownership
  • Encourage collaboration and teamwork by emphasizing the importance of mutual support within the team. Each team member should cover for and support their colleagues
  • Foster a culture where individuals are willing to step out of their comfort zones to help others in need, even if it means temporarily shifting focus from their tasks
  • Promote a “we before me” mentality, where the collective success of the team is always prioritized over individual achievements or agendas
  • Encourage team members to ask questions and seek clarification when they are unsure about the intent or the rationale behind a task. Promote a culture of curiosity
  • Help your team prioritize tasks and objectives based on their importance and impact on the overall mission. Focus on the most critical goals first
  • When facing a crisis or rapidly changing situation, remain calm and composed. Encourage your team to do the same and stick to the plan while making necessary adjustments
Categories
behavior strategy

Mastering Project Prioritization: The Art of Selling Your Projects for Success

Prioritizing projects is crucial for any business but can often be complex and overwhelming. 

As a leader, you must decide which projects to focus on first while balancing your team’s time and resources. 

However, framing your projects as a sale makes this process much easier and more effective.

Think of your project as a home theater setup. 

You want the best possible setup, but it’s also expensive. So, you start by buying the easy wins, such as lamps and accent lighting, before moving on to more important items as they go on sale, such as the TV and speakers. 

This approach allows you to maximize value while minimizing costs.

In software development, this translates to breaking down your project into smaller deliverables of value. 

You prioritize high-value/low-effort opportunities to deliver user value constantly and keep an eye out for sections of your project that go on sale – those high-value/low-effort opportunities that can increase value to your users. 

Doing this allows you to maximize the value delivered to your users and prioritize effectively.

Here are some tips to help you prioritize your projects like a sale:

  1. Break down your project into smaller deliverables of value.
  2. Prioritize high-value/low-effort opportunities to deliver user value constantly.
  3. Keep an eye out for sections of your project that go on sale — those high-value/low-effort opportunities that can increase value to your users.

This approach ensures that your team constantly works on the most critical projects and delivers the most value to your users. 

It’s important to remember that only some things will go on sale, so it’s also essential to be flexible and adaptable as you go along.

In summary, prioritizing projects like a sale allows you to maximize the value delivered to your users while balancing your team’s time and resources. 

Categories
strategy Team building

The Rewards of Stepping Outside Your Comfort Zone: How to Encourage Your Team to Try Something New

As a software engineer, it’s easy to get comfortable with the tools and processes that we use daily.

We know them inside and out, and they help us get our work done efficiently.

However, it’s important to remember that there is always room for improvement and that stepping outside our comfort zones can lead to significant rewards.

In this blog, we’ll discuss the benefits of trying new things, how to overcome the fear of change, and how to encourage your team to step outside of their comfort zones.

The benefits of trying new things

Trying new processes can lead to increased efficiency and productivity.

For example, adopting a new tool or framework might take some time to learn, but it could ultimately save your team a significant amount of time in the long run.

Additionally, learning new skills keeps us competitive and helps us stay up-to-date with the latest technologies.

It’s also important to stay open to change and be willing to adapt.

The world of software engineering is constantly evolving, and those who are open to new ideas and approaches are more likely to succeed.

Overcoming the fear of change

We know that change can be intimidating, especially when we’re used to doing things a certain way.

However, we can overcome this fear and embrace new processes.

One way to do this is to break the process down into smaller steps.

This can help make the transition feel more manageable and less overwhelming.

It’s also helpful to find a support system, whether a colleague or a mentor, to help you through the process.

Finally, it’s essential to focus on the potential rewards of trying something new.

Think about how the new process will benefit you and your team in the long run.

Encouraging your team to step outside their comfort zone

As a leader, it’s essential to lead by example and be willing to try new things yourself.

This sets a good precedent for your team and shows them that embracing change is ok.

Encourage open communication and encourage team members to share their ideas and concerns.

This creates a culture of innovation and encourages people to think outside the box.

Additionally, offer support and resources to help team members feel more comfortable trying new things.

This might include training sessions or additional support during the transition period.

Conclusion

Hopefully, after reading this far, you are more inclined to try something new to enhance your engineering journey.

It creates a culture of innovation, keeps us competitive, and can be exciting.

Categories
strategy Team building

Maximizing Domain Impact through Team Design

Domain-driven design is a software development approach emphasizing the importance of understanding the business domain to design effective software solutions.

At the heart of this approach is the idea that software development should be driven by the needs and constraints of the business domain, rather than being driven purely by technical considerations.

Understand the business

One key aspect of domain-driven design is the use of domains to structure the design of a software system.

A domain is a specific area of knowledge or expertise, such as customer management or inventory management.

By starting with a clear understanding of the business domains that a software system will need to support, it becomes much easier to design software components that are well-suited to the needs of the business.

Software components supporting the domain

Once the domains have been identified and understood, the next step is to move down to the level of software components.

These are the individual pieces of software that make up the system and should be designed to reduce the cognitive load on the team.

Each component should be designed to be as self-contained and easy to understand as possible, so that team members can focus on their areas of expertise without being bogged down by complex dependencies or unfamiliar concepts.

Team topologies

When designing a team, there are a few different topologies to consider.

One option is the stream-aligned team, which is focused on a specific business domain or set of related domains.

This can be a good choice when the business domain is relatively simple, and there is a precise alignment between the business goals and the software requirements.

Another option is the platform team, which is focused on building reusable software components that can be shared across multiple business domains.

This can be a good choice when the business has a wide range of domains that need to be supported and when there are significant opportunities for reuse and code sharing.

Finally, there are complicated subsystem teams focused on building large, complex software systems made up of many interconnected components.

This can be a good choice when the business has complex requirements requiring a highly specialized team to implement.

Overall, the key to success with domain-driven team design is to start by understanding the business domains the software will need to support and then design software components and teams that are well-suited to these domains.

By doing so, it is possible to build software systems that are effective, maintainable, and easy to understand, which can help to reduce the cognitive load on the team and improve overall team productivity

Categories
behavior Team building

The Power of ‘We’: How Changing One Word Can Transform group Dynamics

Have you ever noticed how using the word “they” can create a sense of separation and division within an organization?

It’s almost as if you can see the wall being built between groups when they refer to each other as “they.” But what if we told you that changing just one word – “they” to “we” – could help break down those walls and promote unity within your team? This idea is explored in depth in the book “Leadership is Language” by David Marquet.

Using “we” instead of “they” can have a powerful impact on team dynamics and help foster a more cohesive and collaborative environment.

When you use “we,” you are including yourself in the group and implying that you are all working towards a common goal.

It sends a message that you are all in this together and willing to support and help each other.

For example, let’s say a team needs help with meeting deadlines. Instead of saying, “they need to work faster,” a more practical approach might be to say, “we need to find ways to improve our efficiency and meet these deadlines.”

This shift in language acknowledges that the problem affects the entire team and encourages everyone to be a part of the solution.

It also aligns with extreme ownership, where each team member takes responsibility for their actions and works to find ways within their control to do better.

On the other hand, using “they” can create a sense of distance and disconnection within a team. It suggests that there are “us” and “them” and that you are not a part of the same team.

This can lead to a breakdown in communication and a lack of trust between team members.

So next time you find yourself using “they,” try swapping it out for “we” instead.

It may seem like a small change, but it can significantly affect how your team functions and works together.

Collaboration icons created by Freepik – Flaticon

Categories
Uncategorized

importance of setting a clear vision for your teams

A clear vision is important in leadership because it sets direction and provides motivation. 

It helps leaders to establish priorities and make decision. 

A clear vision also allows leaders to develop strategic plans and allocate resources effectively.

Sets direction

A clear vision sets direction for an organization.

It provides a sense of purpose and direction for employees.

A clear vision also tells employees what is expected of them and what they need to do to contribute to the organization’s success.

provides motivation

A clear vision provides motivation for employees to do their best work.

When employees know what the company is trying to achieve, they are more likely to be engaged 

, imagine a company whose leaders have a clear vision for the future. 

They will be able to articulate what they want to achieve, and they will develop plans and allocate resources accordingly. 

This will result in a more efficient and effective company that is better able to compete in the marketplace.

Conversely, imagine a company whose leaders lack a clear vision. 

This company will likely be less efficient and effective, and it will be at a disadvantage in the marketplace. 

Leaders who lack a clear vision are more likely to make decisions based on personal preferences or short-term gains, rather than on what is best for the company.

establishes priorities

A clear vision also helps leaders to establish priorities.

If leaders know what they want to achieve, they can more easily identify which tasks and projects are most important.

This allows them to allocate resources more efficiently and avoid wasting time on activities that are not central to

Work on what’s valuable

The focus of attention goes to what is most valuable. This is often the heart of a vision: getting people to focus on what is most important.

What is most important should be at the center of attention.

If it isn’t, it should be moved there.

This is one of the main purposes of a vision: to help an organization focus its attention on what is most important.

In summary, a clear vision is important because it sets direction, provides motivation, establishes priorities, and allows leaders to allocate resources more efficiently.

Vision icons created by Eucalyp – Flaticon

Categories
behavior

Change users’ behavior using the three Bs framework, behavioral design

I recently ran into the three Bs framework by listening to Kristen Berman’s interview in Lenny’s podcast. 

The three B’s framework attempts to distill human psychology to help us design better products, change behavior and drive engagement.

The three B’s framework stands for “behavior, barriers, benefits. “

Identifying key behaviors

Typically you will see companies focusing on outcomes. 

For example, “we want to increase engagement” or “increase the number of signups by 50 percent.”

Instead, we want to get uncomfortably specific about the behavior we want to change. 

We want to say things like, “when a user opens our app, we want them to do X within Y seconds.”

This may seem like a small change, but it’s a massive shift in mindset.

Instead of thinking about outcomes, we’re thinking about the actual behavior we want to see.

And this shift in thinking is crucial.

Reducing barriers

The second part of the three B’s framework is about reducing barriers to the desired behavior.

To make it easy for people to do what you want them to do, you need to remove any obstacles.

For example, if you want people to sign up for your newsletter, you must ensure the signup process is as easy and frictionless as possible.

If you want people to use your new feature, you need to make sure it’s visible and easy to find.

Reducing barriers doesn’t necessarily mean making things more accessible. 

It just means ensuring the path to the desired behavior is as straightforward as possible.

Creating benefits

The third part of the three B’s framework is creating benefits for the desired behavior.

there are two characteristics key to making benefits work after a user takes an action 

the benefit has to be immediate, and it has to be emotional.

To get people to do what you want them to do, you need to ensure there’s something in it for them.

This could be a physical reward, like a discount or free shipping, or an emotional reward, like a feeling of satisfaction or accomplishment.

The important thing is that the benefit is immediate and that it’s something the user cares about.

If the benefit isn’t immediate, there’s a danger that the user will forget about it or that it will be too late by the time they get it.

And if the benefit isn’t something the user cares about, there’s a danger that they won’t be motivated to do the desired behavior in the first place.

Categories
strategy Technical Debt

How to drive your initiative forward as an engineer

This post will show you how to move your tech idea from idea to execution.

As an engineer, you will surface work that is needed but difficult to explain to non technical stakeholders.

Without authority, you will learn how to influence others and surface the importance of your initiative so that you can move forward with its execution.

Unfortunately, doing so requires changing how you communicate and stepping out of the technology realm and into the business realm.

A change not many engineers are comfortable making.

The business realm is full of ambiguity

Unlike engineering, where we can model uncertainty and default to established patterns to solve problems, business is full of ambiguity and uncertainty.

Making the switch a daunting task for a lot of engineers

Here are other reasons engineers find difficulties driving their initiates forward

  • Finding advocates to support your idea
  • Tech-centric messaging that caters to engineers
  • Unable to articulate how it solves a business problem
  • Lack of alignment with the current strategy

Fear not, you are here to learn, and I am about to show you how to drive your initiative forward successfully

Here’s how step by step:

Step 1: start with a user problem

No initiative survives the smell test unless it can solve a customer pain point.

Time and time again engineers come to me with enhancement ideas to solve scalability concerns such as the need to increase the DB size, or maintainability and quality issues solved by increasing test coverage.

From an engineering perspective, these ideas always make sense.

But the major concern we run into when trying to move forward is priority.

Your idea needs to stack up against current initiatives, your peers’ projects, bugs, the latest exec idea, incidents, and a vast range of other work competing for your team’s time and attention.

However, adding value to our users is always a winning proposition and something anyone in the company can understand.

To introduce a scaling initiative, you could start with a user problem such as “our users lost trust in our system”

followed by some backing data like “our incidents have increased twofold compared to last quarter”

Next, tie the data to the engineering problem you want to solve “a large percentage of these incidents showed that scaling our infrastructure could have prevented them”

Step 2: Gain advocates early!

Many engineers jump straight to presenting their ideas to a decision maker.

The failure is the lack of peer validation.

Decision makers will often rely on validation from others that the idea is sound and adds value to our users.

This is because they have to place many ideas into perspective, compare them against each other, decide, and defend their decision by demonstrating they went through a good decision-making process.

To increase the chances your initiative goes through, present your idea to your team mates, and others in the organization willing to listen.

This is an excellent opportunity to get early feedback by asking if the problem statement resonates, if the message is clear, or if the pitch triggers any defensiveness.

Dig deep and change your messaging as you gain more feedback.

The excellent benefit of involving others early is that they usually tend to become your backers.

They have been involved early in your process and, through the back and forth with you, now have a lot of context on the problem you are solving and how your proposal will achieve the goal.

Step 3: Find alignment to the current strategy

By now, you are talking about solving a user problem and have advocates with the knowledge and willingness to vouch for your idea.

Typically, this is enough to get buy-in from your team, but there might be cases where your pitch doesn’t neatly align with a larger company initiative.

This is where you talk about how helping our users also increases revenue, reduces churn, helps with expansion, or increases our ability to introduce new products.

Reach out to marketing, product, design, engineering leadership, and other areas with high visibility into planning with questions about the current direction, stated goals, and the strategy to get there.

With this new set of information, you are now ready to turn your tech initiative into solving a user problem, with backing from your peers and alignment with the company’s strategy.

Alignment icons created by Eucalyp – Flaticon