iron-mitten.blogspot.co.uk Recently I’ve switched from a developer role to hands-on team lead and decided to share my experience while it is still fresh in memory. “Hands-on” simply means that I still write code ⌨️ 🎭Roles This is how I prefer to match roles and responsibilities: 🗡🗡 — a person who is responsible for setting tech agenda for the team, has no direct reports, full-time coding. [Tactical hire] Tech Lead 🗡🛡 — a person who is responsible for tech agenda and long-term team success, has direct reports, part-time coding. [Strategic hire] Team Lead 🛡🛡 — a person who is responsible for long-term team success, manages direct reports, almost no coding. [Strategic hire] Engineering Manager 🎯 Tactical vs Strategic 🗺 A tactical hire is a person who , preferably in silence, networks with others only when its needed. Happy as long as work is relevant and stable. gets work done A strategic hire and agenda. Engaged in work, with others who do it and tells everyone a preferred way of doing it. People around are pissed off by the annoying intensity of the agenda. pushes their own opinion networks Both tactical and strategic hires are required in any company. Reasons to become a Team Lead 👍 Good reasons 🛡Ready to shield people You want and are ready to protect your reports. Your main responsibility would be to work as a , rules are simple: all negative communication and process changes go to you first, then you filter them and take actions accordingly. shit umbrella You won’t be able to simply cascade shit directly to your reports. Your job is to , feedback and growth directions which don’t look like an offence to your reports. transform the shit into constructive actions 🌱 Enjoy growing people You enjoy helping people to study and reflect on their work. You will have to identify the of your reports and . personal agenda help them achieve it by crushing obstacles 🤝 Interested in developing soft skills You realise how soft skills are important in achieving big goals and want to get better at . organising people to achieve big goals together 👎 Bad reasons 💰 Getting more money Typically a team lead role is better paid than a developer role in the same company, but if you need more money a . If this is your only motivation it will be hard to succeed in the role. 10–20% raise won’t be a life-changing difference 🤓Becoming a better programmer If your passion is solving hard programming challenges but you hit a ceiling and your company expects you to become a Team Lead, just change the company. , stick to your passion if you prefer computers to people. The more you do the more you are ⚔Seizing interesting work Since you will be a person in charge you can organise work in a way that all interesting coding lands on your desk. This superpower should not be abused, the only excuse for this is that you are both for the job and for this in your schedule. Otherwise, give it to your reports. the best person you have a capacity 👾 Ugly reasons 😈 Becoming a boss If you get a job, you become a boss, but it is not a permanent position, remember this. You . Luckily in our industry, if you are a bad boss your very fast, they have plenty of options even if they are mediocre. merely borrowed the title reports will abandon you 🕷Controlling everything If you have lack of control as a developer, then don’t think that with your team is going to help you. , you must . taking over communication Micromanagement stalls work promote ownership and autonomy Our solar system flying through space Perfect Team Lead is like the Sun. It has huge gravity to pull everyone in the same direction, often giving peers momentum to overtake itself. Prerequisites 🎖Seniority Seniority is for starting a Team Lead path. To understand what it is, you can read this very good explanation of . an absolute blocker Seniority from Krzysztof Zabłocki You must developer and should have of this: popular blog, open-source project, mentoring practice. External evidence is not required, but it is rather strange that a Senior person has no contributions to a relevant community. believe that you are a “senior” external evidence Preparation There are two main areas which will be assessed in an interview for a hands-on Team Lead position. 🐝 Hard skills These are your engineering skills, they are useful for getting the job done, but their of your reports. primary value is in mentoring, assessing and earning authority Do a self-assessment using : Skills Matrix _Note that the knowledge for each level is cumulative; being at level n implies that you also know everything from the…_sijinjoseph.com Programmer Competency Matrix And roadmaps for relevant platfroms: : Web Developer Roadmap _developer-roadmap - Roadmap to becoming a web developer in 2018_github.com kamranahmedse/developer-roadmap : iOS Developer Roadmap _iOS-Developer-Roadmap - Roadmap to becoming an iOS developer in 2018._github.com BohdanOrlov/iOS-Developer-Roadmap : Learning Android Development in 2018 _Before writing a single word, I wish you all a very Happy New Year!!!_android.jlelse.eu Learning Android Development in 2018 — Part 1 🦋 Soft skills These are your organisation and communication skills. They are required to be so the following areas will be : successful in the role, assessed in an interview Self-management Strategy Working with people Resource management Analysis & Decision Making 📚 Books Read this your interviews ;) before Mentors recommend: _Peopleware has 6,383 ratings and 351 reviews. Ben said: Peopleware is something of a classic in the world of…_www.goodreads.com Peopleware _The Deadline has 1,343 ratings and 116 reviews. TarasProkopyuk said: Книга обязательна к прочтению для начинающих и…_www.goodreads.com The Deadline I recommend: A guide for supervising and leading “cats”: _Herding Cats has 212 ratings and 12 reviews. Herding Cats: A Primer for Programmers Who Lead Programmers is a…_www.goodreads.com Herding Cats “Cookbook” style answers to questions about leadership and management: _Leading a Software Development Team has 43 ratings and 4 reviews. Nathaniel said: I got this book because I had…_www.goodreads.com Leading a Software Development Team True stories about software development and management of humans: _Managing Humans has 2,011 ratings and 177 reviews. Keith said: I bought this book because I love the author's blog…_www.goodreads.com Managing Humans Not about meditations ;) Helps with self-discipline and a healthy attitude to life and people: _Meditations of Marcus Aurelius has 25 ratings and 1 review. Deedra said: Not the exact book: Audible:The meditations of…_www.goodreads.com Meditations of Marcus Aurelius This is a must-read If you happen to know Russian: _45 Татуировок менеджера has 438 ratings and 54 reviews. ☘Misericordia☘ said: Q: I'd rather be judged by 12, than…_www.goodreads.com 45 Татуировок менеджера 💕 Winning hearts aka Interview process 🏟Understand your audience Answering direct questions is not enough, you have to understand who you are you talking to and their personal aspirations for the person trying to fulfil the role. There are three main groups: 🔼 Direct reports These are developers and potentially QA. These people are so you have to (I’m one of you guys) and give them an idea about your management style and agenda (I’m your shield). choosing their future boss sell your Hard Skills ◀️ Peers ▶️ These are leads of other teams including product managers and UI designers. These people are they will work with. At this stage, you have to equally sell your Soft Skills (My team will help you achieve your goals) and Hard Skills (I can assess the team and code if needed). choosing the facade of the team 🔽 Line manager Your boss is looking for a , your task is to understand who this person is and . by asking about in the team, the more info you can get the better chances of securing the position. very specific person if you are that person Reverse engineer this current challenges and problems 💌 Offer If you get an offer, it contains boring info about compensation and benefits, which is not what I want to talk about. The important bit is that unlike most of the coding positions you interviewed for, a management role implies that you are offered a certain , such knowledge rarely included in offers for developers since they are not expected to take strategic decisions. set of long-term challenges and problems before you joined 📈 Understanding expectations You will be in achieving these goals and fixing those problems, so if you are , it would be wise to . For example: if your management are performance freaks and don’t care about quality (or the other way around) then it’s a waste of time to join such a company. You have to . assessed by your progress indifferent to them pass on the offer be eager to fulfil a role 🎬 Action! Start from growing a leader within yourself and the title will follow up. Ray Kroc The quality of a leader is reflected in the standards they set for themselves - 🌟 Gratitudes Thank you to all the managers I had! Same gratitude goes to the ones too, because those bastards taught me what to do! good bad not Special thanks go to the most humble, helpful and inspiring manager I had — . Rafael López Diez And thank you for reading 👋