Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
From IC to Tech Lead
by Tatiana Mukhutdinova
(kassalanche@gmail.com)
About me ● Yandex, Moscow, 2013 - 2015
● Teaching Assistant, HSE, 2014 - 2015
○ Programming
○ Algorithms and Data Structures
● Indeed, Tokyo, 2015 - now
○ Worked on Company pages
○ Indeed University, 3 months. Mentored 2 teams of
new grad joiners
○ Worked on Experimentation Platform
● University mentorship program
○ Mentor of 2 student teams, at 2020, spring
2013, Individual Contributor (IC)
2017
… and there it started
Led 10 teams
in the last 5 years
Learn from my mistakes, and… well... pain
Deepen your skills by looking from new
angles
Tech lead is someone leading with tech focus. Also, team and product.
Delivery,
Starting pain path
Expectation
Expectation Reality
What to do?
What should I be
doing?
From ic to tech lead
There were too
many things
Or results were
too general
So, I decided, that I will give a presentation
when I figure out what to do!
I want this presentation to be as concrete
as possible.
From ic to tech lead
From ic to tech lead
So, what I actually do
* I tracked time for 2 consecutive weeks
“Responsibilities! I want them all”
You
Responsibilities
You
Responsibilities
Bad djinn: “Sure!”
You
Responsibilities
You
Responsibilities
A Month Later...
From ic to tech lead
Expectation
Delegation is easy. Just say what to do
Expectation Reality
Delegation… it’s like herding cats
Create a system vision
● System vision answers “how
should it work if we have infinite
resources?”
● Define what problems are solved
by the system, and not solved.
● Clearly define interfaces between
the system and other systems.
System vision helps to drive tech direction and align the team
● Drives technical direction
● Aligns the team
“It’s the most important”
“You should have it right away”
System vision requires constant iterations
Reference point: it took a year to get a
crystal clear picture of how things
should [not] work.
● It’s different if your are working on
a new product or new team
Share your Big Idea
or even small
Now, it’s time to share your ideas.
Why not just say it?
and still...
You sharing the vision
Dev who
designs a
feature
From ic to tech lead
Repeat, repeat, repeat
Repeat, repeat, repeat
Repeat, repeat, repeat
Repeat, repeat, repeat but a bit differently
Code review
Review code to share knowledge
Code review is one of the most important
processes.
It is the process for SWEs to share
knowledge.
Review code to improve quality
Review code to get insights in relationships
Code review
● Review the code. I’m leaving
350-400 comments per quarter
● Have a checklist of what you
review.
● Tips for being a better reviewer:
“How to Do Code Reviews Like a
Human”
Prioritization of Tech Tickets
Is this resonating?
Deadlines are like time bombs
Prioritization Rule:
Prioritize Deadlines to go first
● No last moment
defusing
● No pretending “It’s fine” ● Total control
Tech priorities: Where do you go next?
Unit tests
Push on
green
Improve
alerts
0 bugs
policy
Split a
repo
Migrate to
a better
storage
Build an
API
Prioritization Rule:
Strategic Project is the next. Pick one
Prioritization Rule:
The “everything else” category won’t be done soon. Accept it
Defer what doesn’t matter to find treasures
In 2 quarters
closed/deferred 253 tickets
(almost half of all tickets).
● received many thanks
● and no complaints
Defer what doesn’t matter to find treasures
In 2 quarters I
closed/deferred 253 tickets
(almost half of all tickets).
● received many thanks
● and no complaints
Own tech backlog
● It’s important to have somebody
advocating for technical backlog
● Biweekly prioritize tech tickets.
● Regularly review and defer.
● I was a tech backlog owner for 2
years, before delegating it.
Leadership Team
Struggle: my perspective is not representative anymore
Value first hand experience
Value first hand experience
Try to do yourself the same tasks that your team
does:
● coding
● code review
● first responding
● design doc writing & reviewing
● deploying
● writing integration tests
● updating configs
● contributing in various codebases
etc.
Value first hand experience
Prioritize what
matters
Learn all the roles in your team
So, you can
● onboard a new person
● be a sounding board for anyone
● replace any teammate when they are on vacation
Learn all the roles in your team
Lead by
example
Let’s repeat what
we’ve learned
Repeat, repeat, repeat
● Learn all the roles in your team
● Value first hand experience
● Priorities:
○ Deadline
○ Strategic project
○ Everything else
● Create system vision and iterate
● Repeat your Big Idea
● Code (or design) review are good places to share Big Ideas
And the most
important...
From ic to tech lead
Thanks!
Q&A
by Tatiana Mukhutdinova
(kassalanche@gmail.com)

More Related Content

From ic to tech lead