
Becoming a Tech Lead - GarethX
http://blog.fogcreek.com/becoming-a-tech-lead-interview-with-pat-kua/
======
codingdave
This makes it sound like "Tech Lead" is a switch that gets flipped on your job
description, and suddenly invokes a major change in your daily routine. And
maybe it is, in some organizations.

But in my experience, groups of technical folk self-organize. No matter what
the formal hierarchy is according to management/HR, an informal meritocracy
will form, and natural leaders will emerge... normally being those who are not
only good at tech, but also at seeing the bigger picture, including business
knowledge and soft skill. These people won't be spending 30% of their time
coding, they will be spending 80% of it coding... and 20% helping everyone
else out, and talking to leadership about strategy. People who spend 70% of
their job organizing the coders are not tech leads, they are project managers
(or just managers).

Maybe I am just arguing semantics, and "Tech Lead" means something else to the
rest of you... it appears from the few comments here already that every
organization labels themselves differently.

~~~
shawnee_
_These people won 't be spending 30% of their time coding, they will be
spending 80% of it coding... and 20% helping everyone else out_

Oftentimes companies think they need a "Tech Lead", when what they actually
need is a really good Technical Writer who understands code. A lot of time (80
percent) spent "coding" isn't necessarily great / productive / effective if
it's just creating more piles of code. But coding good documentation, or
refactoring documentation around even mediocre code? That's the quickest route
to making the sum of the developers' lives easier.

~~~
angersock
I've found that spending a good chunk of my time documenting things has paid
off in spades in for my team. Writing out common processes (what is our
particular flavor of gitflow, how do we use it with Github, how are issues
tracked, etc.) and common interfaces (what do you pass to this endpoint to get
what results) makes every single person on the team function better.

It also reduces the amount of time I have to spend answering questions--link
to the wiki and move on.

Now, actually getting others to buy-in to this is a different story: they
don't usually see the point in working to sow the same sort of benefits they
reap on a daily basis.

I think a good lead needs to constantly strive to spread knowledge about the
work as widely as possible.

------
cies
At the company I currently work at we have "tech lead" (lead dev) as a role
within a project: it is not in your function description. As you grow as a
developer you will take on this role again-and-again in ever larger projects,
it helps devs to grow.

I've copied the section below from our wiki, to show what _we_ consider to be
part of this role. I'm interested to hear what anyone thinks of it.

# What is expected of a lead developer?

* Technically in charge of the developer capacity within the project team

* Works in close cooperation with the PM and is crucial in technical meetings with client.
    
    
       * Explains technical choices
    
       * Recognizes when client wishes (tend to) go out of scope
    

* Facilitates efficient software development within the team

* Involves other parties when needed (i.e. ask designers for input when needed, etc.)

* Also develops prominent parts

* Understands the technical architecture

* Assesses (judges) any design-input for being complete and realistic (a check-list exists for this)

* Oversees software quality: has decent knowledge of all used technologies

* Knows best practices (i.e. w.r.t. security, documentation, testing, SEO)

* Verifies and then moves post-its from "verify" to "done" (except his own)

* Escalates to PM/AM whenever he/she foresees planning goals may not be met

* Can estimate the time it takes for his/her team to complete common tasks

* Possibly: technically architect the software at stake (for technically challenging projects we have an architect role)

* Possibly: supply time estimations for the project planning

* Chooses the tools and technologies used for the project (within the lines the architect has set)

* Allocate tasks over the team members, detailing the planning

* Takes the lead in translating requirements to tasks (Post-Its)

* Can deploy the project

* Knows the processes of our company
    
    
       * Identify process improvements and speak them through with PMs/ AMs/ head of technology
    
       * Applies the final checklist (and improves upon the list when possible)

~~~
Hominem
As a "tech lead" I think this is a great list of expectations. I don't
allocate tasks on an individual basis, but I may suggest an individual dev
work a track of features. I also work with devs from other companies who work
with our products and APIs. I like to think I have a tactical view of the
problem space while my VP or CTO works strategy.

------
ritchiea
I am not the type to believe management is bullshit or in the way of getting
real work done and still this interview is triggering my BS detector. It feels
like an endless stream of confident generalities. Nearly all of the
interviewee's comments seem like the kind of thing you say to make your vague
role sound challenging to justify its existence.

~~~
gaius
... And his billing rate...

------
nsxwolf
I always wanted to be a tech lead, but have kept falling into "flat
organizations" where "everybody is a tech leader!" Yay!

~~~
falsestprophet
What does Yay! mean? You don't like this? Pardon me, English is my first
language.

~~~
justaman
This person is being sarcastic. "Yay" is a celebratory expression. However in
this situation by saying "Yay" they mean the opposite.

------
lifeisstillgood
To be honest that seems like the daily job functions of a developer. Not a
tech lead.

It's hard to say but the one most important thing for a tech lead is "never
compromise on standards"

It's the point of leadership to take people places they would not have got to
without the leader. And most of us are human, and the place we get to is the
path of least resistance - less tests, less refactoring, less user feedback
and suddenly it's a mess.

Tech leads are the entropy fighters. Telling us to clean up our act and
leading the way by example.

------
ghuntley
Wistia? Bah. Why couldn't you host the video on youtube or vimeo to make it
easy to youtube-dl it for offline/commute viewing?

edit: Direct URL ->
[http://embed.wistia.com/deliveries/a5152426e67b75a366891a6f7...](http://embed.wistia.com/deliveries/a5152426e67b75a366891a6f71c38574b5368a7e/file.mp4)

------
ukigumo
Tech Lead is a nice sounding phrase but what does it actually mean? Pat Kua
(the interviewee) talks about architects, lead developers as well as team
leaders with budgeting and hiring responsibilities and to my mind these are
all quite different roles within an organisation on any reasonable size and
require different attributes and focuses.

As for the soft skills that were strongly emphasised in the interview I fully
agree that it is a necessary trait of anyone who wishes to lead in whatever
form or context but techies are no different than accountants or any other
inherently individualistic professional in that regard.

------
gaius
Thoughtworks, like Accenture et al, only "lead" their clients to the milking
sheds...

~~~
cl0rox
Having worked at both, I can assure you that ThoughtWorks are thought leaders
in the agiile development and change. It's hard to get in and you have to be
talented to stary there.

Accenture on the other hand, they make it hard to get into the consulting arm,
but the tech arm (Accenture Solutions) is easy to get into (although you'd be
surprised at how maby people tank in the interviews) and even easier to coast
through, producing crappy software and bleeding their clients dry.

~~~
mikerichards
_Having worked at both, I can assure you that ThoughtWorks are thought leaders
in the agiile development and change._

Trying to convey the perception of "thought leader" (which is really a
horrible term), and how they are perceived by the software development
community are two vastly different things.

~~~
cl0rox
Who is the 'software development community' exactly? Small no-name stratups in
San Fran? Small no-name developers working at unheadrd of companies?

ThoughtWorks are thought leaders in agile whether you want to believe that or
not.

------
stoolpigeon
He mentions the book Crucial Conversations. I had it given to me in October
and it has impacted my life more than just about any book I've read in the
last few years. It really is quite good.

I had a tendency to come into tense or emotionally charged situations with a
pretty simple process. First I would decide if I really cared. If I didn't, I
would just keep quiet. If I did really care I'd fight to win. Crucial
Conversations has helped me to see how many more ways there are to speak up
more often and more effectively.

I read it for work but I was so impacted by it in my personal life that my
wife and daughter ended up reading it and it has had a huge impact in my home
as well as my workplace.

I know this sounds like an infomercial - but I'm in no way associated with
anyone related to the writing or selling of the book. I just really appreciate
it as a resource.

------
mattxxx
this article has a big cringe factor.

the "tech lead" codes and leads. this idea that it should be a strictly
managerial position is pretty gross, and seems like it's an ego thing.

------
vacri
These terms are a little puzzling to me, because I always thought of a 'tech
lead' as a leading programmer, and someone who organises a group of techs but
doesn't do tech themselves as a 'project manager' or 'team lead'.

~~~
jghn
That's basically how things are where I am. We have a group of ~20-25
developers and everyone reports to one of 4 managers (who are also technical,
but that's neither here nor there).

Every project in the group has a tech lead, who may be one of those 4 manager
or it might be someone else that's relatively senior. That tech lead is in
charge of the folks under them for the purposes of that project.

Any given developer might be working on a single project or sharing time
between a few, so they'll have their manager and 1 or more tech leads.

------
hackaflocka
The biggest challenge for Tech Leads is the generally democratic nature of
teams in the industry.

This makes it very stressful to squeeze more work from one's team.

Great Tech Leads need to have 2 characteristics: openness of mind, and
empathy. Here are 4 TED videos that __any __Tech Lead would benefit from
watching:

[http://tempr.org/54e5723f558e8.html](http://tempr.org/54e5723f558e8.html)

~~~
adaml_623
Alternatively the most stressful thing for team leads is telling management
that it can't be done before the arbitrary deadline.

