Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What makes a good technical leader – any recommended books?
297 points by latentdeepspace 10 months ago | hide | past | favorite | 114 comments
I just became a technical lead (spiced with a little product manager) for a team who is working with machine-learning/deep-learning technologies (I have ~6 years of background in this field). I feel like I am performing well, but there is a lot of room for improvement on: how to plan for the future, how to communicate success, how to assign engineers and researchers to tasks, how to define tasks, etc.

Do you have any recommendation on what should I do, read to become better and better every day? I want my team to be successful, and to show the improvements we make to the company.

The best book on leadership I read was Jocko Willink's Extreme Ownership[1]. He was a career US Navy SEAL and bring a lot of great leadership approaches from the SEALS and correlates them to the business world. His principles lead back to the idea of taking extreme ownership of everything related to your team and the "mission". I really liked his no nonsense approach.

The best lesson I learnt on leadership is to listen to and believe in your team. They are the experts, not you anymore. Your job now is to clear the path to their success. Different people need different things to succeed, it's your job to figure that out and try your best to provide it.

What I recommend: Figure out what kind of leader you want to be. Read as much as you can and talk to other leaders inside and outside of your company to see what works and doesn't work for them.

Finally, make sure your team has a crystal clear definition of what success is and the milestones to get there. Ensuring this understanding will help your team move in the same direction.

Good luck!

[1] https://www.goodreads.com/book/show/23848190-extreme-ownersh...

When I was still a new dev, I had a "superboss" in another city (HQ) managing teams across the country including our little dev team. I was new and did not interact with "superboss"-es from HQ directly.

One day after a major release stuff broke in production. The company was losing customers daily. The "superboss"-es from HQ descended on our little dev team in a small midwestern city and ordered "Code Red".

What it meant to me as a new dev was that I can't go home and the whole team had to stay in the office until the problem was solved... A part of the team had to sleep in the office for a few weeks. (I still don't know if this is against OSHA.)

Many years later while I was watching the movie "A Few Good Men.", I learnt that "Code Red" was a military term. Suddenly, it dawned on me that my "superboss" was also an ex-military person.

Sleeping at work did not fix the issue, after many months of hiring help and bringing in more hands the outage was brought under control.

Did the ex-military "superboss" help the situation? I don't know...

Now I know that Military veterans in their enthusiasm to find work in civilian environments tout their ex-military skills as team building or leadership skills.

Skills learned in the military are for war, learned for conflict situations and applying them to civilian environments and bringing a war mentality or attitude to a workplace is toxic.

I don't have an answer to what makes a good technical leader but I know from experience that ex-military style leadership only adds to the toxicity of a workplace.

The book Extreme Ownership would not condone psychopathic behavior like making people sleep in office for weeks at a time. Nor would any ex-military leader I've ever encountered. Military skills are not purely "for war" any more than college skills are for "writing essays."

Sorry you suffered that experience though, hope you made it out of there.

While for sure not all "ex-military skills" are leadership skills, there are some general leadership skills you can learn in many places, including the military.

The book is in my opinion a distillation of those skills, which -- maybe just so happen to -- come from military background. None of what is presented in the book come anywhere close to the situation you described. I would dare to say, quite the contrary. It is about listening, understanding, trusting and many other things, usually considered positive.

It had a great influence on me, though I have never even thought of joining the military.

I started practicing extreme ownership as a regular developer and made my way up to a team leader in about 6 months time. Now I double down as a fresh (and young) leader.

1. Code Red has been part of broader civilian idiom since, I don't know, the 50s? Use of "Code Red" doesn't indicate anything.

2. Common sense dictates that whenever one transfers skills to a new context, one assess the underlying assumptions and context of those skills to adapt them for use. I'm sure mistakes in that regard will inevitably be made, but I give most people more credit than to assume, a priori, that people will transplant those skills without any thought given to changing contexts. That seems like a very condescending assumption to start with, but maybe I'm misreading you.

Forcing people to sleep in the office asa strategy to fix a complex system is surely a sign that someone was not thinking about context?

I'd be interested to learn more about the technical problem. Any problem that takes months to fix must have been deep. Can you share some details about that?

Did you read the book?

EDIT- Seems the below came from a misreading of the OP text, But i cannot delete it now that I'm downvoted... Please ignore.

> Skills learned in the military are for war, learned for conflict situations and applying them to civilian environments and bringing a war mentality or attitude to a workplace is toxic.

> only adds to the toxicity of a workplace

What exactly was the toxicity besides your choice to overreact (stay overnight) ? Why do you believe that leadership skills for war are not applicable to other domains?

>A part of the team had to sleep in the office for a few weeks.

So it sounds like OP was coerced to do so and it was not a free choice or an "overreaction" as you characterize it.

i see, I didnt read it as a command but as a "We volitionally chose to solve the issue this way"

"Had to" usually implies coercion of a sort. Like you might say "in PE class we had to stand on one leg for 10 minutes".

I've had experiences where "Had to" was like

"If I wanted the outcome I was aiming for I had to.... (workout?)" This is how I took the sentence. A totally volitionally accepted responsibility

>besides your choice to overreact (stay overnight)

It was not a choice. It was an order.

A company can’t “order” you to stay overnight. Unlike the military you can walk away.

People did walk away eventually. But not immediately because when you have a family, for instance, you can't leave a job without making sure you have health insurance etc., People eventually left once they found other jobs.

If you’re otherwise a productive employee you can just say no too, and dare them to fire you.

"daring" your employer is not a wise career advice.

“If you’re otherwise a productive employee”.

I just couldn't disagree more with the idea of building a basic knowledge and understanding of management from the military. There are some generalisable lessons to be learned from military management/leadership situations, and undoubtedly some that are transferable to tech, but there's also a vast and very approachable literature that draws on military and every other imaginable scenario to distill out lessons and principles. The rest of your advice is good, but please, just learn about the core subject first, rather than a niche and fairly radical lens on it.

I also like that book. There are some obviously major motivational things that are different from corporate life (from what I've read, I have no first hand military exp): a camaraderie of protecting your peers with a common mission of literally staying alive, a chain of command with dire consequences, and other humans trying to kill you.

None of those things exist in software engineering so there will be people that aren't motivated by the allure of moving up, aren't passionate about the product and maybe just want to do their job and go home. There is nothing wrong with that as long as they are doing their work.

As a leader, you may have peers that will like you to take extreme ownership because they can play politics and blame you for things. I don't think there is room for that sort of BS on a battlefield but I don't have first-hand experience.

There are also a lot of teams that don't have 'mission' like goals that are clearly evident (e.g. root out terrorists in Ramadi) but have a continuous flow of work to be done.

Like any books/videos/courses on leadership or self-help, take what you can from it an see what sticks in your world, don't take it as a prescription or steps on how to do something.

> As a leader, you may have peers that will like you to take extreme ownership because they can play politics and blame you for things. I don't think there is room for that sort of BS on a battlefield but I don't have first-hand experience.

This question is addressed, if not in the book, at least in his podcast. Let me see if I can find it.

I haven't read it, but on the military theme, I've heard good things about " Turn The Ship Around! A True Story of Building Leaders by Breaking the Rules"

The author was a submarine captain who turned one of the worst-performing boats in the Navy into one of the best.


Another recommended book out of the military is Team of Teams: New Rules of Engagement for a Complex World by General Stanley McChrystal.

> They are the experts, not you anymore. Your job now is to clear the path to their success.

This is an excellent concept and an important one to really get. I go out of my way to never use the phrase “my team.” It’s not my team, it’s all of ours. I’m a member of it, too.

It’s my job to make sure they succeed. So instead of “my team” I always say, “the team I support” to reinforce that.

Extreme Ownership is great. I thought at first that it was going to be a pure rah-rah book about the military, but it is actually quite practical and generally applicable.

Congrats on the transition! I have several books to recommend that I all read are on my bookshelf, some with reviews[1]. YMMV vary but these were the most helpful for me:

1. The First 90 Days - a good reminder that when you transition, it's like starting a new job

2. Become and Effective Software Engineering Manager - a hands-on book for people transitioning to management, starting at a new company or looking to make more of an org-wide impact.

3. The Manager's Path - a short reference handbook for managers at all levels.

4. The Goal - written in the '80s, yet a timeless novel on what management is about, may that be a manager of a team, an organization or an industrial plant.

Also, I wrote a post about my learnings on transitioning from engineer to manager that has some good comments on HN[2]

[1] https://blog.pragmaticengineer.com/my-reading-list/#engineer...

[2] https://news.ycombinator.com/item?id=15326652

Following on from The Goal are It's Not Luck and Critical Chain. The latter of those is particularly good in combination with the more recent Phoenix Project.

Each of these books is a bit utopian or idealistic. By doing what's suggested by the guru everything magically works out. But, while not magical, the ideas really do work and help operate and understand organizations. The principles are not complex, each book can probably be summarized in a 3-5 page paper. But the "case study" (quotes because it's a fictional plant/company, not just one obscured by pseudonyms) is good for illustrating the point and the path of process improvement.

1. "An Elegant Puzzle - Systems of Engineering Management" by Will Larson. His blog & "Staff Eng" posts are helpful as well. https://lethain.com/tags/staff-eng/

2. "The Phoenix Project", "The Unicorn Project" (novels), and "DevOps Handbook" by Eugene Kim, on how different parts of a tech + non-tech organization come and work together.

3. "High Output Management" by Andrew Grove on overall technical management.

4. "Measure What Matters" by John Doerr on setting objectives and measuring their progress.

5. "The Checklist Manifesto" by Atul Gawande on thinking through replicable processes.

6. "Who" by Geoff Smart on hiring.

7. "Start with Why" by Simon Sinek and "The Culture Code" by Daniel Coyle on creating culture and reasons for why people do the work. It's an important part of any management process, double import because of how often it is lost in technical management.

I'd recommend reading The Goal and, optionally, Critical Chain before The Phoenix Project. It sets up a lot of the context of the ideas around theory of constraints that The Phoenix Project builds on, but doesn't delve into. I read them in the order of The Goal, The Phoenix Project, It's Not Luck, Critical Chain. I found that the last book gave some useful insights into things that The Phoenix Project presented. On the other hand, after recommending these books to colleagues most only read The Phoenix Project and they seemed to not grasp (as it wasn't the core of the book) theory of constraints as well until they later read The Goal (or heard about it enough from me).

Some good suggestions (and a couple I'll have to read...) I'd add the following:

8. "The Mythical Man-Month" by Fred Brooks (still, IMO, one of the best management books ever, esp. for software and product development.)

9. Boyd: The Fighter Pilot Who Changed the Art of War by Robert Coram (OODA is the true core of agile thinking, and it works pretty much everywhere.)

For software and computers specifically, add:

10. Computer Lib/Dream Machines by Ted Nelson (Impossible to categorize - it's a hypertext book for crying out loud - but browsing it can change your thinking.)

11. The Soul of a New Machine by Tracy Kidder. (Good for new products in general.)

And for general management and leadership inspiration, two great autobiographies:

12. Mover of Men and Mountains, by R.G. Le Tourneau.

13. Rickenbacker, by Eddie Rickenbacker.

Some good additions there, some I’ll need to check out. I really liked the Boyd book when I read it, but I would probably recommend his papers/reports or some of the more short form things written about him to get to the point faster (RibbonFarm/Venkatesh Rao was how I was introduced). That said, I did learn a lot about navigating bureaucracy (perhaps bullheadedly).

On that note, I would also add another book about organizational psychology - how people game incentives, how cya evolved, how people focus on short term thinking over long term investments, problems common across big businesses, written by a sociologist embedded for a few years in a corporation, but I can’t for the life of me remember it.

But also:

The Secrets of Consulting” by Gerald Weinberg on generally thinking through ‘solutionizing’.

“Systemantics” by John Galt as a short and fun intro to applied systems thinking and cascading effects.

“We Need to Talk” by Celeste Headlee on how to have difficult conversations.

“Never Split the difference” on handling and understanding negotiations both up and down the chain.

Start with why is garbage. Just watch the TED talk - the main idea there is fine, but there's absolutely nothing extra in the book that isn't covered in the TED talk, it's just a cash grab

Becoming a Technical Leader: An Organic Problem-Solving Approach - Jerry Weinberg (and many other great books by him) - a book I've read and re-read many times. A brief review here - https://blog.mkorman.uk/book-review-becoming-a-technical-lea...

I’m surprised this book didn’t come up sooner, it’s a fantastic book.

To my knowledge the only book mentioned here that takes the time to define technical leadership and present models of leadership suited potentially to different circumstances.

I might add ‘The art and science of doing engineering’ by hamming and recently republished by stripe.

The more leadership or management books I read the more inclined I am to respect Taleb’s approach of looking for old timeless material rather than what’s new or hot.

Most of what Gerald Weinberg has written qualifies IMO. Tom DeMarcos books also.

Strongly second this book. It's a deeply methodical book with questions at the end of each chapter that really help you understand yourself and your leadership style.

I read it 8 years ago and it got me to consistently write everyday what I was thinking and feeling about my projects and team

This book is not about technical management in particular, but it can help you a lot in understanding and dealing with people better, it's called The Charisma Myth: https://www.amazon.com/Charisma-Myth-Science-Personal-Magnet...

The book is an interesting read, but merely reading it won't do anything. There are one or two exercises per chapter, and you should work on them if you really want to see the benefits.

Also, if you want to do a little test before reading the whole book follow these tips from the intro:

> Three quick tips to boost charisma in conversation: Lower the intonation of your voice at the end of sentences, reduce how quickly and how often you nod, and pause for two full seconds before you speak.

From this summary: https://github.com/mgp/book-notes/blob/master/the-charisma-m...

Read/listen to https://www.manager-tools.com/ they posit that all good managers do these four things in abundance:

1. 1 on 1's (which are for the benefit of the direct report not the boss) weekly for 30 minutes - 15 minutes for you, 15 minutes for the direct report.

2. Giving feedback both good and bad in a constructive way

3. Providing coaching and context to the reports work

4. Tactical delegation of tasks both that you know they can do so they feel good about their work, and also some difficult tasks to stretch them (with coaching)

This plus understanding the different types of role power within an oganization, and knowing which type of power to use when and with who.(hint it's often never the right answer to user your role power to say ''do this because I am the boss'' use role power sparingly)

I second the recommendation for Manager Tools. Start with the "Basics" casts on one-on-ones, feedback, coaching, and delegation to get up to speed. Their book The Effective Manager by Mark Horstman is a great place to start, too.

The podcast was super helpful to me in transitioning from IC to management.

This is one of the best recommendations for "beginners" because it offers actionable advice and tools.

I would say ask for feedback from the team you are leading in an honest way and evaluate what you get back and try your best to change if it makes sense.

Usually your actions affect them the most and if you do something that "annoys" them(e.g. Too authoritarian, micromanaging, Not giving the credit when due, Not defending them against external forces etc.), most would not approach you from below to mention it(exceptions exist), after all you are the lead/manager imagine how you would(or would not) give feedback to a Senior Director if they did not ask for it. Giving unsolicited feedback is also weird and some people don't receive feedback well, so them making the first move is all but risk unless they know you want it.

Not every feedback makes sense and not every person can give feedback properly(being too shy or too harsh etc.). You would also need to learn how they communicate their concerns and calibrate what they say. For example "I don't like X because Y" of a very introvert person carries more weight than same sentence of someone that can easily discuss things they don't like openly.

Edit: As you have asked specifically for books, I can recommend "Making of a Manager" by Julie Zhuo. It is a very good and structured read.

- The Mythical Man Month by Brooks talks about ways to avoid the traps of blindly throwing more people at problems.

- Out of the Crisis by Deming is useful for thinking about achieving quality by improving the systems rather than focusing on the individuals.

- Peopleware by Demarco for arguing the opposite.

- Everything ever written by Tom Peters for staying focused on customers and engaged in the game.

The type of knowledge relevant to becoming a good technical lead seems to me to be "tacit knowledge".

Books can provide vocabulary and ideas, as well as ways of thinking about the subject. I know that Andy Grove's "High Output Management" gave me way of thinking about the corporate world that helped shape my interactions in the workplace and with senior management. There's no doubt that through great books one gets to pick the brains of geniuses whom one might never get to meet in real life, so there's inherent value in that.

That said, to truly get better though, I believe one needs to be apprenticed or coached by someone who knows what "being good" looks like. That is, to find someone who has real expertise (not just commenters on HN who've never managed anyone), shadowing them and synthesizing their expertise to fit one's own style.

Most people who are "good" can't explain why they're good (some can, most can't) -- so one almost has to study them up close. There's an old saying that "leadership is caught, not taught"... sounds like a tired old cliché, but seems to be somewhat true in my observation.

An Elegant Puzzle by Will Larson was very interesting. It's a bit of a handbook and you don't necessarily have to read it cover to cover but instead you can dive into whichever section that is relevant for you at the moment: https://www.amazon.com/dp/1732265186

I second this. Will Larson's book is definitely one of the best if not the best book I have read on the subject.

There are other good books which can add to it like "The Manager's Path" by Camille Fournier.(https://www.amazon.com/gp/product/B06XP3GJ7F/)

I agree; It definitely feels more like a reference book.

I couldn't get on with it personally. While I like reading his blog, the book just lacked personality. Maybe I was expecting personal anecdotes to explain some of the ideas.

Crazy that no one mentioned the Mythical Man Month by Fred J. Brooks (https://www.goodreads.com/book/show/13629.The_Mythical_Man_M...). I thought it was the definitive classic.

I also like to recommend Coders at Work by Peter Seibel (https://www.goodreads.com/book/show/6713575-coders-at-work). It's incredibly useful to read about just how different 16 ultra high performing software engineers are/were. Nothing prepares you for technical leadership better than understanding that.

EDIT: just saw that Mythical Man Month was added 1 minute prior to my comment.

I love Seibel’s work, but it’s important to know he has retracted much of the emphasis on code reading. He apparently read that into his subjects words, perhaps in a manic period.

Ah, that's good to know. Thanks!

> Do you have any recommendation on what should I do, read to become better and better every day?

It helps to write a hello world for every hot new tech out there. Not to follow trends, but to actually be knowledgeable enough to have a valid opinion. Think of yourself as a radio station who has to buy or at least sample every popular track. Crystal is hot? Set up a web server and connect to sql. Set up a Vert.X server and write a consumer. Set up a simple neural net with torch, train it a little, load it in java. These all take an hour max each day. An hour well spent compared to scouring books for managers in order to deduce some insight on how to manage people. Developers will appreciate and respect you when you know their job at this precision level and it will make your job a lot easier.

> These all take an hour max each day.

um, what? If this is based on personal experience I would love to understand how.

In my experience, Setting up a totally new development environment in an unfamiliar toolset generally takes waaaay more than an hour.

There is usually a gotcha when setting up a new environment. IMO it works frictionless when you are on linux. Android studio installs sdk and ndk so it's like cheating. Linux provides everything to write some c++. Pyenv can easily install whichever python environment you want. Then you can use venv/poetry/pipenv. Snaps can help set up java and kotlin instantly. Spring boot has a website to download a starting template. rvm for ruby, just setting up some environment variables is enough for go, rustup and cargo for rust, etc. Elixir just works out of the box. I don't know how hard the next thing will be.

Do you have an example of a setup you got stuck on for hours?

Remember that it is not "your" team but that you are just a member of the team, in good standing, with the relevant experience, that is volunteering to take on some additional responsibility.

Focus on the job at hand. Don't get into unnecessary political disputes. You're a tech lead, so keep it technical and focused on solving business problems.

Be kind and understanding of people's personal issues. It's a marathon, not a sprint, so it's fine if people's productivity goes up and down over time. As long as they contribute well over time, there should be no problem.

Make sure people take time off. Burn out sneaks up on people. Taking weeks off regularly is essential.

Do plenty of grunt work yourself, don't pawn it all off.

Write the most documentation and help your teammates write theirs.

Share the credit. Credit the team and individual team members frequently. Point out when people do well.

Downplay failures. Unless a mistake is malicious, you should blame the technology and the processes in place rather than the people involved. Humans make mistakes and it's through technology and process that we avoid them causing damage. Fixing the weakness in your technology or process is what really matters.

Most of all: lead by example. You should be an exemplar team member. Not perfect; no one is. Not an expert in every dimension; no one is. You should simply perform your duties in a way that your teammates could emulate with success.

There are a hundred other things, of course. That's just a few ideas.

My two favorites for this are 'Becoming a Technical Leader', Gerald Weinberg, and 'Making Things Happen', Scott Berkun.

Weinberg's writings are great. You can find most (all?) of his books here: https://leanpub.com/u/jerryweinberg. I haven't read Becoming a Technical Leader yet, but I have read The Psychology of Computer Programming (among other books of his) and I'd recommend it as well for someone wanting to lead a team.

+2 It's a nice read with a lot of insights.

Does go off on a lot of tangents, but it's more interesting than books which keep rambling on the same idea chapter after chapter.

For me, one of the most valuable things about 'Becoming a Technical Leader' are the exercises/questions at the end of each chapter.

For example, from the end of Chapter 1, 'What is Leadership, Anyway?': "Make a list of situations in which your presence seems to increase the productivity of others. Alongside this list, identify situations where your presence seems to decrease productivity. [...] What do these lists tell you about yourself and the environments that empower you?"

Weinberg has a way of getting you to reflect that I find profoundly valuable, if I am willing to do the work.

I would definitely recommend Weinberg.

Don't be put off by the fact that his books are self-published, and the covers aren't great. He is brilliant.


Coaching for Leaders (Gold mine with hundreds of great episodes, as an example https://coachingforleaders.com/podcast/maximize-team-perform...)

Manager Tools (They even have a section for new managers: https://www.manager-tools.com/podcasts/important-topic-feeds...)


The Effective Manager

The Speed of Trust

Five Dysfunctions of a Team

Turn The Ship Around

If you want to look further than traditional command and control structures, I recommend looking into Deming, Sociocracy, teal organizations or the aforementioned book "Turn The Ship Around".

Also, look into norming, storming, forming performing and team operating guidelines.

I've found that Switch[1] is really helpful for technical leaders. A large part of the job of a leader is successfully implementing change and too many leaders with a technical background lean too much on logic and reasoning to try to make changes happen. Switch offers a playbook for successfully implementing change and when I've followed it closely I've been much more successful than when I wing it.


The Five Dysfunctions of a Team is a perennial classic, though not tech focused. But that's probably okay in combination with more tech-industry focused literature.

What "tech lead" means varies hugely from organization to organization and from team to team and person to person. For general success of teams, this is my favorite book: https://www.amazon.com/Debugging-Teams-Productivity-through-...

you can get pdf of this book free from http://cdn.oreillystatic.com/pdf/Debugging_Teams.pdf (legal)

> What "tech lead" means

That roughly translates in my head to ‘terrible youtuber’

I wrote a blog post about this forever ago[0] summarizing what I've seen work.

The most important thing to realize is how success will be measured. It will no longer be your individual contributions. Instead, you will be measured by how successful your team is. So you need to use your time to make your team more effective.

So the most important thing you can do is prevent anyone from becoming blocked. The next-most important thing is unblocking people when they become blocked.

How do you prevent people from becoming blocked? Make sure that everyone knows where they are going, and they know what to do when they get there. Make sure everyone knows what they are working on, and what they will be working on next. Promote good practices, and ensure that processes have consistent documentation.

How do you unblock people? Review their code quickly. Learn to differentiate "I don't want you to submit this because I don't prefer this" (bad attitude) from "I don't want you to submit this because it's going to have a negative consequence"). Learn how to phrase that second sentence in a way that doesn't make your coworkers dread getting reviews from you. Spend your time fixing tech debt that's adding drag to the team.

As you do this more, you should also make sure that people on your team are growing. Give them harder tasks than they had before. Ensure that junior engineers are getting mentored. Correct imbalances: if a specific engineer is always taking notes in meetings, create a notes rotation so that everyone has to do it.

[0] https://www.bitlog.com/2017/10/12/what-does-a-tech-lead-do/

> The most important thing to realize is how success will be measured...

I think this could be applicable in general sense too, so that your team understands the value system that you establish. People are smart, professionals are even smarter, so they figure out the incentive system quickly. Placing a right emphasis and staying consistent helps to communicate this.

Another thing that adds to the notion of unblocking is to establish a culture of "a long enough before calling for a backup", that is to try your best to crack a problem by yourself, but have a way to recognize a being stuck and allow to call for a help with no shame or sense of failure. In my view, this has both a culture and a protocol aspects.

A few things that have helped me.

1. Have a one-on-one meeting with every member of your team, for 30 minutes each week. They know when that meeting is coming up, and you know, so things that they want to tell you in private can come up then.

2. A good leader anticipates what his team is going to need before the team knows they need it. Try to do that. If there's a big release coming up next month, do what you can to make that 100% successful. Make sure there are no vacations, company meetings or other things that would impede that. Give your team room to breathe and make sure they are not bogged down with distractions.

If you can make their lives easier, they will make your life easier by kicking ass for you.

3. Oh, one more thing. If you are in a meeting and you are having a group discussion on how to solve a problem, make sure you call in people who are quiet. After the conversation has quieted down a bit and you are dialing in on an answer, if Jim hasn't said much simply say "Jim what do you think?"

Once a week is a lot in the age of Slack. I talk to my people asynchronously all the time, so the one-on-one is less important. Still do it though.

I'll tell my single Golden Rule for managing people is to make sure they always know what's expected of them. Not knowing what's expected of you is probably the single greatest source of stress.

An even bigger source of stress is asking questions to try to understand what is expected of you and being told that your leader is confident that you understand what is expected of you.

Agreed. Plus, Sometimes 1-1s usually happens when things are going bad. When things are good no one even remembers.

Contrary to most people, in my experience managing technical people is the same as managing anyone else. The best general management book I've read is: Becoming the Evidence Based Manager. The information in this book is backed by science studies and is also extremely actionable and easy to understand. It's really changed my life as a manager.


Two absolute must reads:


Accelerate: The Science of Lean Software

Both are scientifical approaches to what makes effective teams.

I will second Accelerate. Phenomenal book.

It breaks down what a modern, high performance software team in 2020 looks like. It has the best explanation of what burnout is and the causes of I have ever read.

Accelerate takes a scientific approach to managing teams, so when you try to raise these ideas at your own place of business, they are backed up by research instead of just: "This person said X."

The classics are all covered in other comments. For some hyper-relevant content (the sand to fill the in-between spaces filled up by big philosophies and principles), I've found Will Larson's blog (https://lethain.com/) and book (https://press.stripe.com/#an-elegant-puzzle) to be really useful.

It provides tools for solving specific problems, and a language to discuss what's going wrong and what the solution looks like. https://lethain.com/durably-excellent-teams/ The concepts he covers in this post, in particular, have been invaluable.

Put yourself in the CEO's shoes and see the entire company end to end. Then see how your team is contributing to the bigger story. Work on bringing business context to tasks. Help your team members see the business/strategy line of thought behind decisions. Once team members have context to the work they do, they are better motivated and bring in valuable insights. Always appreciate and bring spotlight on them for successes. Always take on the blame and never forward criticism directly to your team members. You are the buffer. Read books on strategy/business to gain greater perspective. Train yourself and your team in second and third order thinking. Helping them come up with all kinds of scenarios around their tasks. Finally, be humble, caring, and be nice to everyone. Cheers!

I have been a team lead for four years now in different companies / teams.

I think empathy and radical candor are the most important skills ! There’s a book called radical candor that I really recommend.

Other than those I recommend reading how very effective leaders did their job, Eleven Rings by the NBA coach Phil is absolutely amazing on how to build a winning team as is Leading from Ferguson (soccer). Turn the ship around is another great book by someone’s experience in the navy.

Creating a safe space where people know the goals clearly, communicate effectively and helping to unblock them are part of the goal !

nice articles

Read The Manager’s Path by Camille Fournier. It’s not just about managers, it’s also about tech leads.

If I recall correctly, only the first 2 chapters are about tech leads and mentoring. The rest is already about manager roles. I don't know if it's a good investment for someone focusing exclusively on tech lead role.

That being said, really good book :)

Here's the list of books I've been recommending new managers and leaders read:

Small Unit Leadership: A Commonsense Approach https://www.amazon.com/Small-Unit-Leadership-Commonsense-App...

The Five Dysfunctions of a Team: A Leadership Fable https://www.amazon.com/dp/0787960756/?coliid=I12MQNI6MIK6JR&...

High Output Management https://www.amazon.com/dp/0679762884/?coliid=I2G1Y1JLPP55SY&...

Measure What Matters https://www.amazon.com/dp/0525536221/?coliid=I1G6EQRC0QYPE1&...

Death by Meeting https://www.amazon.com/dp/0787968056/?coliid=I38A8AYMZGSLYZ&...

Work Rules!: Insights from Inside Google That Will Transform How You Live and Lead https://www.amazon.com/gp/product/1455554790/ref=ppx_yo_dt_b...

The Hard Thing About Hard Things https://www.amazon.com/Hard-Thing-About-Things-Building/dp/B...

Start with Why (you can prob skip the book and just watch https://www.ted.com/talks/simon_sinek_how_great_leaders_insp...) https://www.amazon.com/dp/1591846447/?coliid=I2Q0IN84LJ230W&...

Anything from the Harvard Negotiation Project [1]. Their books set the standard for universal, transferable, actionable, and evidence-based advise about how to optimise social situations for the benefit of everyone involved. They have online classes for various different skillsets and situations. Almost every mentor I have has recommended either the project as a whole, or a specific resource of theirs, to me.

Just in general I want to commend you for taking the time and energy to learn about this. It's a tragedy of the modern world that highly skilled people tend to be promoted into management roles and then stagnate, so that many tech organisations end up with people who are great at their specialism and terrible at managing people in managerial roles. Taking the initiative to really try to understand and excel at management is going to benefit not just you, but everyone who works with you. Bravo.

1: https://www.pon.harvard.edu/category/research_projects/harva...

I'd say, don't lead/manage but assist.

Don't decide on your own if possible.

Decision coming from top? Communicate that. Otherwise, ask your team what it think is the best course of action.

Only decide on your when something would be blocked.

I always read about two sides.

"Managers are needed, because there are tough decisions to make and people need to be led!"

"Managers aren't needed, people can govern them on their own!"

I think the truth is in the middle.

Few things I’ve learned recently is that mistakes happen, as long as an honest effort was made, it shouldn’t be a big deal

All arguments are communication problems.

If you’re coding all day you’re doing it wrong. Delegation is the most important. Communication is critical. Tech leads who crash and burn are usually the strongest developers.

Happy team is a productive team. Always expect the best from people.

I recommend learning about, and practicing, servant leadership to the furthest extent possible in the role.

I don't have a specific book for you, so will link the wikipedia article as a jumping off point:


I would recommend the One Minute Manager. It is written in story format, and its a very simple set of three concepts.

I have tried other books, but they usually have too much to remember.

One other book I found useful was The Coaching Habit. It gives you a different perspective on how to deal with the emotional aspect of leadership.

First figure out what they want, and then figure out what is best for the project/company, finally figure out what how to turn it into the future you want.

What they want is important. This could be a way to recognize that you are great without giving you architecture power, they want you to continue to do what you are doing no more (this is unlikely but be aware of it). They may want you to write a little less code and turn some of the "lesser" developers into a 10x developer. They may want to give you permission and power to re-architect the system so it will work for the future. They may want you to spend all your time estimating effort so they can decide which interesting project is worth doing. This may be the title they give to the boss of small teams and you no longer do technical work.

What is best for the company/project is sometimes different. Sometimes that means what you need to do to make a success is different from what they think. If so this is tricky ground that will either get you fired for not doing you job, or a great promotion for saving the company. More likely you have options in your position and so you need to figure out which option is worth spending your time on and which are less useful for your company now. There are interesting tools that won't solve your biggest problems even though they would make some other lesser problems better, choose wisely what to spend your time on.

Last where do you want to be in the future. Within the above you have choices. If you are interested in something not the most important thing to work on you need to decide how much to focus on each. (different situations have different answers, sometimes you have to focus on the important things, others you can only give it a little attention and that is good enough) sometimes you will refuse the promotion. Sometimes you will decide what is best for the company is best for you. Sometimes you take the promotion but need to focus on your personal life to ensure the job doesn't kill it, other times they are compatible. Sometimes you realize you are in the wrong job.

So many good book recommendations here, but no one has mentioned Tom DeMarco's The Deadline: https://books.google.com/books?id=5_kJAQAAMAAJ&printsec=fron...

In style and content, it's a bit like an older version of "The Phoenix Project" that was focused on delivering packaged software, and mostly oriented around a "stocks and flows" model of the development process.

The framing narrative is much more amusing, though.

Also worth reading Edward Yourdon's Death March:


I've just started reading "Agile Conversations" [1], and I found it's a nice complement to the other books mentioned in the thread. It's a little idealistic at times, but I like the focus on shared understanding and aligning perspectives. I used a couple of the approaches from the book quite recently and found that it kept the discussion focused on improvements rather than blaming.

[1] https://www.amazon.com/Agile-Conversations-Transform-Your-Cu...

How to win friends and influence people, by Dale Carnegie. Despite the somewhat creepy title, it's a really good book on how to get good relationships with other people. It's not necessarily for tech folks.

I've written a lot about this as a resource for my colleagues at work, perhaps you would find it useful as well. There's a list of recommended books embedded in there, but a lot of other info as well: https://ianwdavis.com/advice-new-lead.html

The biggest change is to change your mindset to "it's your job to enable the team to do the work vs you doing it." So, whenever you are thinking about doing X, think about how to enable your team to do X. This is not trying to be lethargic but working to make yourself redundant, which is the highest success for a leader, IMO.

I have a little hobby project which aims to answer that exact question: https://leadership-library.dev

It’s essentially a collection of books / podcasts / newsletters on modern technical leadership :)

I really liked “Managing Humans”. Super useful and told in a story format that makes it ultra accessible

This book left me with a bad taste in my mouth, as though it were written by someone who wasn't really grounded in experience. I'm not sure if the author was trying to convince me or himself. Perhaps I'm not the target audience, but I'd be interested to hear more about why you liked it, since it was such a disappointment to me.

It’s years since I’ve read it to be honest. I remember finding the parts on how to conduct one-on-ones useful at the time. I don’t recall feeling the author was unsure of himself (and he’s a pretty successful tech leader btw, currently VP Eng at Slack).

"Adventures of an IT Leader" from Harvard Business School Press - is good. It is perhaps more general than what you are looking for. It is written from the CIO perspective. You can often find the audiobook in your local library.

My recommendation:

1. Learn Scrum/kanban (not a book)

2. Developer Hegemony: The Future of Labor

3. The First-Time Manager by Loren B. Belker

4. Conscious Business: How to Build Value through Values

5. The Five Dysfunctions of a Team: A Leadership Fable

a good technical leader goes to bat for the scientists and engineers in his team, at the VP and C-level, to make sure they are on top and paid at least equally well if not better, compared to anyone else, including marketing and sales drones.


- Turn The Ship Around (Marquet) - make everyone a leader - The Effective Engineer (Lau) - leadership for engineers - Leadership, Strategy, and Tactics (Jocko) - leadership in military/business - Good To Great (Collins) - good companies vs great ones

How to get better at everything:

- Mindset (Dwek) - growth vs fixed mindset - Atomic Habits (Clear) - automate good decisions w/habits - Change Your Habits, Change your life (Corley) - data driven selection of which habits matter - Ultralearning (Young) - how to learn anything faster - Anything You Want (Sivers)

How to talk to humans

- Difficult Conversations (Stone) - how to talk to humans - Never Split the Difference (Voss) - every conversation is a negotiation - Death By Meeting (Lencioni) - short fable - anything else by Patrick Lencioni

Prioritization and focus:

- The One Thing (Keller) - prioritization - Deep Work (Calport) - focus - Indistractable (Li) - focus

See also anything by: Jason Friedman, Jim Collins, Patrick Lencioni, Peter Drucker and biographies in general

Didn’t see this mentioned anywhere:

Notes to a Software Team Leader by Roy Osherove

"Messages" by Matthew McKay.

"Mindset" by Carol Dweck.

The 7 Habits of Highly Effective People

"Becoming better" points to the question of what is a good tech leader and how you can evaluate yourself as you make progress on this path. In my experience and according to Google's research in this area (https://rework.withgoogle.com/guides/managers-identify-what-...), there are specific traits to cultivate:

1. Is a good coach / Supports career discussions and discusses performance

"Leader As Coach: Strategies for Coaching & Developing Others" by Mary Dee Hicks and David Peterson. An in-depth, very practical manual on how to coach your reports according to their specific needs and personalities.

"Crucial Conversations: Tools for Talking When Stakes Are High" by Kerry Patterson et al. Helps you prepare and approach difficult conversations with empathy. Especially useful for performance conversations.

2. Creates an inclusive team environment, showing concern for success and well-being

"The Five Dysfunctions of a Team: A Leadership Fable" by Patrick Lencioni. If there is one book to read about team dynamics, this is the one.

"First, Break All the Rules" by Marcus Buckingham. Slightly more general than the 5 dysfunctions, but with a lot of good content about psychological safety and what makes team work.

3. Has a clear vision & strategy / is a good communicator

"High output management" by Andy Grove. Probably the most famous book on this list. It gives you a good introduction to setting goals, communicating about your team's work inwards and outwards. It also features more "system thinking" than the other books - how everything fits together as organizations scale, which is useful for developing vision and strategy.

I'd also recommend reading biographies and memoirs of famous leaders (e.g. Churchill, Marcus Aurelius). Strategic thinking can be easier to learn through examples and pattern recognition than through abstract / self-help books.

4. Is productive and results-oriented / has key technical skills to advise the team

A lot of new managers over-index on the people management side of the job and forget about the key responsibility of a technical leader: choosing a direction, leading others in this direction and delivering results.

"Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations" by Nicole Forsgren et al. One of the most recent, well-researched books into how to measure the productivity and quality of software teams.

"The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise" by Martin Abbott et al. This book uniquely blends the technical, organizational and people management aspects of technical leadership.

> Do you have any recommendation on what should I do

Research. Why? Because this question has been asked dozens if not hundreds of times.

One of the skills of a tech lead (or parent, or anyone) is recognizing when a person may just be seeking recognition and politely playing along.

Personally I think people with sports and military backgrounds have the soundest perspectives on leadership.

The sociology of software engineering biases the perspectives on leadership therein toward this kind of contempt for subordinates.

Great point. Who has better perspective on teamwork than people who spent their life in real teams? Life experience is an area where tech really needs to diversify. Hire ex-military, hire rugby players, philosophers, political scientists.

Right, so this is essentially a big circle jerk. He gets to feel like a great person because he's "smart enough" to ask the question. You all get to feel smart by answering the question (that has been answered hundreds of times before) and everyone gets karma and upvotes.

If the OP truly wants an answer they could have researched it, but as you stated the OP doesn't really want an answer, they are "seeking recognition"


That's a great point!

Sorta feels like research is what OP is doing by asking this question in a place where presumably lots of good technical leaders hang out.

Managers are useless guards for the bosses. Quit immediately and let those engineers manager themselves.

Sounds like either you’ve had bad managers or you need to invest in a quality mirror

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact