Nothing Special   »   [go: up one dir, main page]

Suceeding As A Tech Lead

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

Contents

3 Succeeding as a Tech Lead

5 Tech Lead Job Description

6 Tech Lead’s Responsibilities

8 Required Soft Skills for Tech Leads

9 In practice, what does a Tech Lead do?

11 What should I do to be a successful Tech Lead?

15 Career path to become a Tech Lead

17 Technical Vision

19 How to define a Technical Vision

24 Books recomendations
Succeeding as a
Tech Lead

T
ech Lead’s job is far more extensive then coding. Ac-
tually, in practice, Tech Leads spend about 30% of
time coding, and 70% doing many other essential
tasks. They lead one or more teams to succeed from a technical
perspective.
Therefore, people that care for other aspects of the product
are vital allies for Tech Leads. The other way around is also real.
Project Managers, Product Managers, Engineering Managers need
someone to ensure the project or product meets the functional
and non-functional requirements with quality and velocity.

However, depending on the company, responsibilities and


job descriptions may vary. Depending on the team’s seniority, it
requires more attention, more presence in meetings, or more fre-
quent feedback loops. If the company is a startup, there may be
very few documented or agreed standards, which requires Tech
Leads to spend more time on it then coding or mentoring new
members.

As it sounds, a tech leader’s job is much more about orienting


3
Succeeding as a Tech Lead

individuals and delivering high-quality software than implement-


ing the software itself. It makes their assignment more intangible,
and the impact of your decisions need more time to bring value.

Software Engineers can implement a new feature and deploy


it to production in one to two weeks. On the other hand, Tech
Leads can take months to establish, advocate, and prioritize an ar-
chitectural solution with the team. The job starts with an idea and
goes through a complicated process to get quality code running in
the product.

4
Tech Lead
Job Description

A
s already stated, the responsibilities and expecta-
tions vary depending on many aspects. Companies
that develop Digital Products need Tech Leads to
grant success in the medium and long run.
On the other hand, consulting firms and software houses
need Tech Leads to drive projects, so they don’t fail on delivery.
In both cases, Tech Leaders must translate business requirements
into technical requirements.

From the programming language to architecting the whole


system, it’s Tech Lead’s job to drive the team to success.

5
Tech Lead’s
Responsibilities

T
he following list summarizes everyday responsibili-
ties found in job listings pages. The relevant items in
job descriptions usually include:

• Coordinate and motivate the team members.


• Take up the technical responsibility of the entire Project or
Product. However, more prominent companies group soft-
ware engineers around parts of the system, and each Tech
Lead usually leads one to three teams.
• Design components and applications according to business
requirements. At corporations that miss a Software Architect,
Tech Leads may be responsible for designing the whole sys-
tem.
• Define, advocate, and implement best practices and coding
standards of the team.
• Work along with other Tech Leads, Product Managers, and
Engineering Managers.
• Promote a collaborative work environment, and keep on ask-
ing for the reviews and feedback from the peers.
• Generate detailed reports with accomplished, planned, and
blocked tasks. Some companies may require a simple opera-
tional plan to remove impediments.
• Enable teams to perform tests and integration tests for the
6
Succeeding as a Tech Lead

entire system in a reliable, secure, and productive way.


• Identify and mitigate risks, including security risks.
• Write postmortems for critical bugs, or outage episodes.
• Work on continually increasing the productivity of the team
and reducing the waste on the other end.
• Always motivate and encourage the team to give their best,
especially when they are under pressure.
• Make yourself completely aware of all the technologies thor-
oughly, especially those associated with software or applica-
tion under construction.
• Actively promote a Code Review culture and review the team’s
Pull Requests.
• Share the success and failures with the team.

7
Required Soft Skills
for Tech Leads
• Technical Lead should be flexible enough and be adaptable to
the changing and varied work settings.
• Have excellent communication skills for interfacing between
the team and the management.
• Humble to admit mistakes, but at the same moment, be firm
and fair.
• Occupy a thought-leadership position among peers.
• Have a leader attitude that inspires all the other team mem-
bers.
• Be able to manage targets and expectations of the team.
• Fulfill all the commitments by timely delivering the delivera-
bles, and negotiating scope, deadlines, or costs based on data.
• Maintaining the account of time and also reporting regularly
of own work.
• Have the right mindset to simplify complex implementations
(delivery more doing less).

8
In practice, what does a
Tech Lead do?

E
ryn O’Neil, in her talk, Congrats! You’re the tech lead
- now what?, organized the practical job of a Tech
Lead in three main goals: facilitate, advocate, and
motivate.
Facilitate is the act of assisting the teams in delivering
high-quality software. During the development process, many
questions, blocks, and problems arise, and it’s a Tech Lead job to
guide the team back to safety.

It doesn’t mean they need to know everything or solve all the


issues by themselves. They can and should work together with the
team to find great solutions.

Advocating is crucial to a Tech Lead. Whether extroverted or


not, these professionals should promote discussions and actively
participate in meetings.

Another essential job is to put everyone on the same page


after a new technical decision. The same happens when the prod-
uct team puts pressure on the engineering team to deliver a new
feature as fast as possible.

9
Succeeding as a Tech Lead

As a guardian of the best practices and the codebase health,


dealing with technical debt is one of the most common tasks of a
Tech Lead. Therefore, they also must be involved in the prioritiz-
ing process, to endorse the “no” for new features and bring to the
top of the list relevant technical debts and refactoring needed.

The best way to motivate the team is by empowering them


to do the best work possible. It is especially hard when the cul-
ture bases on “command and control.” This kind of culture also
centralizes decisions in Tech Leads, which leads to burnouts and
lousy performance.

The best way to empower people is to give them freedom and


space for innovation while pointing out the pros and cons of pro-
posed solutions. It educates and also helps in sharing ownership
of the goals and objectives.

Playing this role doesn’t mean that they became bosses or the
most important person among team members. However, people
expect a Tech Lead to take accountability for the team’s result, and
because of that, they should have leadership skills.

10
What should I do to be
a successful Tech Lead?

T
he role of Tech Lead is sometimes kind of fuzzy. The
technical aspects of software development depend
on Software Engineers too. Frequently, it’s common
to see Senior Software Engineers perform tasks usually attributed
to tech leads.
The Tech Lead’s job, however, is more complicated. It’s a full-
time job that requires more soft skills than developers usually de-
sire to exert.

The list below brings a brief explanation of activities to elu-


cidate the soft skills required for a successful Tech Lead. The ac-
tivities may vary depending on the company, team, or seniority of
professionals. It’s a great start to understand the role, though.

1. Establish a technical vision for the product


As a leader, you need to build structures and processes that
don’t depend on you. It considerably helps managing time. To do
that, establishing a technical vision for the product is vital and
precedes everything.

It’s the first goal of a Tech Lead. With a defined technical vi-
11
Succeeding as a Tech Lead

sion, the team has a horizon, and they will know what to do. With
a plan in hand, tech leads can now concentrate on other crucial
tasks, like communicating, monitoring progress, and guiding the
team.

2. Build alignment and trust


Alignment and trust are linked. People need to trust you that
they are working on the right task. At the same time, they need to
know what to do precisely and the motivation behind the job to
trust you as a leader.

In other words, people must understand where they’re go-


ing (alignment), and that they are doing the right things (trust).
It’s essential to have excellent communication and be part of the
team, not above it.

3. Know your Team


Every Tech Lead should know their team. It doesn’t mean
only identifying members’ talents, but being aware of their aspira-
tions and personal issues.

Although many companies don’t require from this role to


conduct 1:1, it’s an excellent opportunity to start this fantastic
practice. Being face-to-face to the team members regularly brings
lots of benefits, like spotting misalignments or misbehaviors, and
helps in a more secure and harmonious environment.

By listening and carrying about team members, guidance


and mentorship come naturally.
12
Succeeding as a Tech Lead

4. Have excellent communication skills


It’s crucial to Tech Leaders to communicate well. It means
having clear, straightforward, and effective communication. The
path for achieving it is by establishing long-terms goals.

When Tech Leads have a defined view of the big picture, they
can distill it into actionable steps. Small portions of work are more
natural to communicate. They must have achievable objectives
because they bring a sense of progress, which motivates the team.

5. Manage your time and task priorities


Tech Leads will always have a stack of essential tasks. When
the team pops an activity from the top of the list, another is pushed
to the end.

The best way to manage the list of tasks is by distinguishing


urgent from important ones. Critical tasks are those that need to
be performed as soon as possible. These tasks are the priority.

Other critical tasks eventually become urgent. When it hap-


pens, pull it to the top of the list.

As it’s impossible to a Tech Lead to work on every task, del-


egating is an excellent solution to gain time. While focusing on
urgent stuff, ensure team members are working on the right de-
mands. In other words, team members pull tasks from a priori-
tized list.

6. Manage the team’s expectations

13
Succeeding as a Tech Lead

As already said, Tech Leads aren’t bosses. It means they can’t


just prioritize urgent tasks and go for a coffee cup. People have
expectations. Not only the people you work with, like Software
Engineers or Engineering Managers, but also product people.

To successfully become a Tech Lead, one has to manage the


team’s expectations. Everyone involved in the development pro-
cess must be aware of the next steps, the relevant risks, and the
known issues.

By managing expectations, your leadership turns into a trust-


ful and respectful relationship with the other areas. It brings many
advantages when negotiating or asking for help with the business,
product, or management teams.

7. Monitoring progress
As asking for each individual how everything is going doesn’t
scale, the best way to know whether the team is moving forward
is through metrics. Metrics give a quantitative sense of progress,
which is perfect for tech leaders.

Here are some of the engineering metrics that can help in the
task:
• Pull Request Lead Time
• Throughput
• Time from First Commit to Merge
• Time to First Comment
• Deploy Frequency

14
Succeeding as a Tech Lead

Career path to become


a Tech Lead

W
ell, every journey starts with an aspiration. If
you aspire to become a Tech Lead, then the best
way to pursue it is by being an excellent Soft-
ware Engineer before.

Software Engineers are smart people that enjoy solving prob-


lems. They use technologies to do so. It’s crucial to be an expert in
a programming language. But just knowing a single programming
language is not enough nowadays.

Designing complex and distributed software involve a con-


siderable number of software and protocols, usually with lots of
names and abbreviations. REST, RabbitMQ, React, Redis, Graph-
QL, and NoSQL are examples.

Modern software development requires developers and en-


gineers also to be proficients in the whole tech stack. From Front-
End to Back-End, the many types of databases, the many design
patterns or architectural patterns, and a technology leader need to
have a clear idea of what they are.

After some years of working in the industry, an experienced

15
engineer will have experience from design to deploy. This experi-
ence can then be condensed in a more abstract work, which does
not end in commits or code, but in plans and management.

For many people, the Tech Lead position comes naturally,


since they are participative, confident and so respected by the
team. Then another phase starts. Becoming a Tech Lead requires
soft skills, not only technical ones.

Instead of an IDE, Tech Lead aspirants get best friends with


communication skills. They stop translating requirements into
code and start translating business requirements into software re-
quirements. And the leadership gradually appears, together with
the abilities described in the sections above.

Many companies have the role of Software Architect, which


generally stands for the whole system, whereas Tech Leads take
care of single software or subsystems. In this case, a System Archi-
tecture may be a natural path.

For those that enjoy managing people the most, a Software


Engineering Manager role would be adequate. This role is perfect
those that want to help Software Engineers to evolve in their ca-
reer.

16
Succeeding as a Tech Lead

Technical Vision

H
ave you ever used any decision-making frame-
work? There are lots of them. But they all have
something in common: you list the criteria, possi-
ble solutions, and then analyze the trade-offs to define what’s the
best option.

Imagine if teams had to go through a decision making ma-


trix — or similar stuff — every time they crossed by a technical
dilemma. Should we use a open-sourced front-end framework or
develop it in-house? React or Vue.js? Should we use a Event-Driv-
en or Service-oriented Architecture?

In the end, each team would implement things in their way,


which increases the maintainability efforts and costs. It also im-
pact in the velocity of the team, because there will be low reuse,
and few automations.

To avoid this problem, it’s vital to have a plan, a visionary


one, which defines how teams support business goals in the tech-
nical aspects. A clear and well-defined technical vision aligns dai-
ly work and enable the company’s strategy.

The Technical Vision defines what each system, architecture,


and application should look like, how they should behave, and
17
what are the quality criteria or requirements. More than that, it
must include the tactical and operational tasks that lead to its suc-
cess.

18
Succeeding as a Tech Lead

How to define a
Technical Vision

T
he first step to define a Technical Vision is to gather
data. Usually, data is spread through many different
sources and areas. It’s your task as a Tech Lead to
condense them in useful pieces of information.

Step 1 — Ask lots of questions


Asking questions is the best tool for gathering relevant data.
Tech Leads need these data to understand what the company ex-
pects from the engineering team.

Below, there’s a list of topics and some sample questions you


can ask. The answer for many of them you may already know, that’s
not a problem. However, be aware that the list probably won’t fully
cover your needs.

Keep investigating until you feel almost confident — we’re


never ready! — to say “I know everything I need to draw a plan.”

19
Company Goals and Objectives
• What are the OKRs for the Engineering Area?
• What is the company strategy for the next years?
• What should the system look like in five years to support
growth?
• How many engineers there will be?

Technical Aspects
• What your team currently use?
• What are the known issues of current platform?
• Do our current platform scale?
• What are the best security practices?
• What SaaS/tools/frameworks are other companies / com-
petitors using?

Peopleware
• What are my team’s expertise?
• What are my team’s weakness?
• What would motive the team?
• Which are the most effective communication mediums?
• How is the team’s engagement?

Step 2 — Make a plan

20
Succeeding as a Tech Lead

Making a plan requires two phases: designing the architec-


ture of the systems and applications, and breaking it down into
smaller releases. Don’t spend too much time creating tasks. Write
down some epics, milestones, and a high-level roadmap.

The final outcome of the plan should be a shareable docu-


ment — or documents — that represents your ideas for the future.
You will need it to share your ideas, foster alignment, onboard
new-hires, and frequently consult it, as our memory insist in eras-
ing crucial pieces of information after some time.

Let’s go through the two phases of the a great plan.

Designing the architecture

This part is fun. You need to design what you believe to be


the best architecture to attend business needs. In this phase, you
need to translate all the gathered data in the previous step in tech-
nical requirements, find possible solutions, and then making a de-
cision.

Don’t be afraid of drawing it in a whiteboard. Take the op-


portunity to include and discuss with your peers. Whiteboards are
easy to work with, and they’re very good in fast feedback.

After a rough consensus, you can take a photo and attach to


a document. Even better, you can use a visual software to properly
draw it. So, it gets easier to understand than your cursive letter.

Defining a roadmap

21
Succeeding as a Tech Lead

Roadmaps are always hard. They require the sacrifice of pri-


oritization. You probably won’t be able to achieve the final result
in the first days, or months.

However, you need to track your progress somehow, and


show some work for you boss. That’s what this phase is about —
creating an incremental and iterative path to the designed solu-
tion.

The best approach for that is to use an Impact vs Effort Ma-


trix. It organizes tasks into 4 different quadrants, from Low Im-
pact and Low Effort to High Impact and High Effort.

Gather some tasks that make sense together, and call it a


milestone. After some milestone the team reaches the goal. You
can use mindmaps or diagrams to explain the roadmap for the
team. You can draw it as a timeline, for instance.

Having an image telling the step by step helps people to un-


derstand where they are and where they want to go. Besides, it’s an
excellent tool for your boss to assertively validate your plan, and
get the final buy-in from other peers or executives.

But don’t get too attached to it. It’s in the agility core to em-
brace change. So, use it as a north, not as the path itself. Adapt
whenever necessary.

Step 3 — Evangelize the plan


It worths nothing to have a documented plan with everyone’s
22
Succeeding as a Tech Lead

buy-in. Once the Technical Vision is approved, you need to spread


your message among all the members of your team.

For this task, you can’t just schedule a meeting and tell peo-
ple how or on what they should work. People needs motivation,
and thus they need to fully understand the purposes.

To mitigate the risk of rejection, it’s crucial to include some


key individuals during the “Designing the architecture” phase. Key
individuals must have both technical expertise and the respect of
their peers. They’re vital for two reasons.

1
They are important allies for you in the daily basis. Be-
cause when you reach a leadership position, you are not
present or available all the time. If the train start to get
off the rails, someone needs to act immediately. You don’t scale.

2
They bring significant feedback. Their experience
counts a lot when designing new systems. More than
that, they have a very accurate feeling of how the team
will receive that changes. In a certain way, they can save you from
lots of headaches.

23
Succeeding as a Tech Lead

Books recomendations
The First 90 Days, Updated and Expanded:
Proven Strategies for Getting Up to Speed Faster and Smarter

By walking you through every aspect of the transition scenario,


Watkins identifies the most common pitfalls new leaders en-
counter and provides the tools and strategies you need to avoid
them. You’ll learn how to secure critical early wins, an important
first step in establishing yourself in your new role. Each chapter
also includes checklists, practical tools, and self-assessments
to help you assimilate key lessons and apply them to your own
situation.

The Five Dysfunctions of a Team:


A Leadership Fable

Throughout the story, Lencioni reveals the five dysfunctions


which go to the very heart of why teams even the best ones-of-
ten struggle. He outlines a powerful model and actionable steps
that can be used to overcome these common hurdles and build
a cohesive, effective team. Just as with his other books, Lencioni
has written a compelling fable with a powerful yet deceptively
simple message for all those who strive to be exceptional team
leaders.

Talking with Tech Leads:


From Novices to Practitioners

A book for Tech Leads, from Tech Leads. Discover how more
than 35 Tech Leads find the delicate balance between the tech-
nical and non-technical worlds. Discover the challenges a Tech
Lead faces and how to overcome them. You may be surprised
by the lessons they have to share.

24
The Manager’s Path:
A Guide for Tech Leaders Navigating Growth and Change

From mentoring interns to working with senior staff, you’ll get


actionable advice for approaching various obstacles in your path.
This book is ideal whether you’re a new manager, a mentor, or
a more experienced leader looking for fresh advice. Pick up this
book and learn how to become a better manager and leader in
your organization.

An Elegant Puzzle:
Systems of Engineering Management

Will Larson’s An Elegant Puzzle orients around the particular


challenges of engineering management--from sizing teams to
technical debt to succession planning--and provides a path to the
good solutions. Drawing from his experience at Digg, Uber, and
Stripe, Will Larson has developed a thoughtful approach to en-
gineering management that leaders of all levels at companies of
all sizes can apply. An Elegant Puzzle balances structured princi-
ples and human-centric thinking to help any leader create more
effective and rewarding organizations for engineers to thrive in.

The Harvard Business Review Manager’s Handbook:


The 17 Skills Leaders Need to Stand Out

Packed with step-by-step advice and wisdom from Harvard Busi-


ness Review’s management archive, the HBR Manager’s Hand-
book provides best practices on topics from understanding key
financial statements and the fundamentals of strategy to emo-
tional intelligence and building your employees’ trust. The book’s
brief sections allow you to home in quickly on the solutions you
need right away—or take a deeper dive if you need more con-
text.
SEE ALL FEATURES

You might also like