- Published on
Time Machines & Leadership: 10 things I wish I knew at the start
Looking back these are 10 things I wish I knew when starting out leading teams...
- David Boyne
- Published on • 19 min read
Photo by Aron Visuals on Unsplash
Going back in time
“That’s it! Its finally finished!!”
After numerous nights fighting and trying to fix the machine, it call came down to one package time-machine:1.1.0
. I install the latest update time-machine:1.2.0
and I'm ready to go.
I grab the cold metal handles and push myself into the machine. Set the dial back to 2015 and type npm start
. Yes time machines are written in NodeJS
The machine starts to vibrate the noise is unbearable. Within seconds I start to blackout and well… the rest… is a blur…
But somehow I managed to transport back in time! I have finally managed to arrive back in 2015.
Where it all started.
After securing myself some bitcoin (who wouldn’t right?), I track my 2015 self down.
After the initial panic from 2015 self, we start talking…
“Dude that technical lead job you are about to take, it will be the best thing you ever did, but I will save you a ton of heart-ache and headaches by teaching you some things you will learn in the next 5 years and supercharge you…”
Both versions of myself sat down and the lessons and stories began…
•••You need to start with yourself
If you want to have enough to give to others, you will need to take care of yourself first — Emily Maroutain
How can you be the best you can be if you don’t look after yourself? But why is looking after ourselves often an afterthought?
Why is it so easy to forget to take a holiday? Take breaks? Why is it so easy to get consumed by everyone else and everything else going on?
Why is it so easy to get burnt out and often we never realise we are burnt out?
I’ve been there.. multiple times. All of a sudden everything is going well and things are OK and then one day you wake up just burnt out, your motivation levels are almost zero and you are well…. just fed up and you start to think how did this happen? (Think back I bet you can name a few times you have felt like this…. its only natural).
Burn out is super sneaky it comes at us in strange forms and often we cannot see it:
- Lack of motivation
- The feeling of defeat or you’re not good enough
- Stressed
- Can’t think clearly or focus
- Making bad decisions
- Feeling overwhelmed
When these feelings overwhelm us it’s hard for us to be the person we can be or should be. It’s quite simple really, if we don’t look after ourself we will fail us and more importantly others around us, our team.
3 Tips to look after yourself
1. Take time out.
It’s simple really. Book time off, book time away, and disconnect from things. We cannot be connected all the time (although you will feel you can). Turn your phone off, watch a movie or something. You don’t need to be connected all the time, things will (and do) survive without you (and so they should!).
2. Talk about it.
If you are getting stressed or burnt out find somebody you can speak to. I have been 10/10 burnt out in the past and after conversations with friends and colleagues I have seen huge drops in stress and burn out in general.
3. Plan ahead.
With so much going on you cannot keep all the context within your head. We are not designed to keep the mass of information within our heads. Write things down and plan your days and weeks if you want. It helps me out loads to focus on what I need to do and maintain a sense of purpose.
•••It’s simple really. Book time off, book time away, and disconnect from things. We cannot be connected all the time (although you will feel you can). Turn your phone off, watch a movie or something. You don’t need to be connected all the time, things will (and do) survive without you (and so they should!).
Plan Ahead
Each tiny effort builds on the next, so that brick by brick magnificent things can be created. — Robin Sharma
We are not designed to multi-task, its been proven time and time again and to be honest if you are like me you might suck at it. But even with shit loads going on you can still be productive.
Recently I have been the most productive I have been in 10 years and if you ask me how I did it’s simple, its about being focused and organised.
Get good at organising your notes, ideas, and plan. Get your own kanban board or whatever works for you. I personally use notion (and recently they just announced free plans for everybody!) as my note-taking tool to manage my days and weeks.
🤘 Starting today, Notion is free for personal use.
— Notion (@NotionHQ) May 19, 2020
We used to have a storage limit on our free plan, but no more! Everyone should have access to our tools to create what they need.
Write, plan, and get organized at https://t.co/ChnIAo3WtV. https://t.co/y79q2cpmsl
Put time aside once a week (for me its 30 minutes on a Sunday before the week begins) plan what you want to achieve, think about the direction you want to steer your team.
3 Tips for planning
1.Break things down into small tasks.
Quite often you might find you have 30mins, or an hour before your session (meeting or something). If your tasks are broken down you can easily get things done within that 30 minutes. You have already done most upfront thinking, it’s just about doing now.
2. Visualise where you want to go as part of your planning.
This really helps me out, but think and see where you want to go and figure out the steps to get there. Let this work as your bigger picture and plan ways to get there in small chunks.
3. Learn to say no. You cannot do everything.
Ask others to help or pick stuff up from you, there is only so much throughput you have, and you will soon learn what that is. Don’t overdo things and burn yourself out.
•••Learn how to hold effective meetings
You have a meeting to make a decision not to decide on the question — Bill Gates
As time goes on your time will be swallowed up by more things, and you will have moments and days where you feel you achieved nothing or you feel you “have wasted too much time in meetings” or not enough time coding. But everything feels equally as important so what can do you?
Meetings are sometimes a necessary evil. You will have meetings where you feel it was super productive and important, and (most the time) meetings that are not productive at all.
Save yourself the pain and get better at hosting and driving effective meetings.
## 3 Tips for effective meetings
1. Don’t feel bad to decline meetings.
In reality, you don’t have to go to every meeting, is there somebody on the team that can go and represent you or your team? If you don’t feel you can decline meetings you need to figure out how you can do this.
2. If key decision-makers are not there, question it and call off the meeting.
It can feel nice to have meetings and everybody talk but sometimes decisions need to be made if people are not there to make it then postpone the meeting.
3. Come prepared to have an agenda if you want to run smoothly.
Doesn’t have to be anything special, but if you are driving the meeting, keep things on point and focused.
•••Communicate effectively
Good communication is the bridge between confusion and clarity — Nat Turner
Most projects fail due to communication.
Think back to that project that failed. Think why…. any chance communication was part of it?
I have been in and seen so many fuck ups and errors due to failed communication. So learning to communicate is one of the most important things anybody can do.
I have spent hours and days reading books on communication and learning how to give presentations, without a doubt it really has helped me personally communicate ideas and thoughts over to people. This is super important as most things we are trying to achieve we need our team behind us, so the reasons why, the importance of work, ideas themselves need to be communicated and communicated well.
We can all communicate, but it takes time and practice to learn to communicate effectively.
6 Tips for effective communication
1. Know your audience
Figure out who you are talking to and tailor your communication style to them. If its a technical team going into technical detail is OK, if its nontechnical audience then don’t go into technical details, or if you do talk simple and keep it simple. I have seen so many people fail at this and communication can get lost.
2. Presentations are where things go to be born or die.
A shit presentation sucks. You have been there right? Watching something that is not engaging and just drains your soul. Don’t do that. Learn how to rock presentations and it becomes much easier to share ideas, thoughts and create a vision and backing for an idea.
3. Review data and use data to back up your ideas or prove they are wrong.
Often our bias can get in the way but the data never really lies. Use data, understand data, and communicate with it.
4. Learn how to give feedback to people.
It’s important. Read about how to give feedback and practice it. Recommended reading Radical Candor.
5. Let people know how they are doing, let people know if something is good or something just fucked up.
Let people know how that presentation was they just done. Most people will welcome the feedback.
6. Be honest and open with people even if it’s hard.
I suck at this sometimes and often have to tell myself to just do it. Most of the time you will feel better for it and they will appreciate the feedback.
•••Make time to learn
Keep learning: don’t be arrogant by assuming that you know it all, that you have a monopoly on the truth. Always assume that you can learn something from someone else — Jack Welch
You can’t afford to stop learning. The world moves fast. New tools, new ways of working, and much more.
Almost everything we do we can learn something from it, from Juniors within our team to the most technical architects you could work with. We can learn from the way people market an idea to the way the offices are cleaned. With an open mind you can learn from almost anything.
People often say they don’t have time to read, watch videos or learn. But it really doesn’t take that much to keep learning. If you remember its just the small steps you need to make every day to become better in the long run.
3 Tips to learn
1. Read 10 minutes a day
If you say you don’t have time to read I would have to really question that. Realistically what are 10 minutes out of your 16 hour day? Reading is a personal favorite of mine, there are so many books and things to learn from them if you just dedicate 10 minutes a day to reading you soon get through your book collection.
2. Bookmark or create “Watch later” lists.
If you see something you don’t have time to watch or read now just add it to your list and review them and watch them later.
3. Stay open-minded when learning new things.
You would have spent years embedding behaviors within yourself and ways of doing things. You will hit walls when learning something new, or things that goes against the ways you always do them. Keep open and try new things.
•••Keeping your hands dirty
A good engineer gets stale very fast if he doesn’t keep his hands dirty — Wernher von Braun
As you set up into a new role your responsibilities will change and you will be invited to more things and will have more decisions to make. It’s super easy to become disconnected to reality and lose connection with people, solutions, and code.
To be helpful and effective you need to keep your hands warm within the team, solutions, and code. You need to FEEL the problems your team is facing, you need to be in the thick of it with them. This will help you shape future decisions and architecture as you all have a shared understanding of technical debt, estimates, and frustrations.
3 tips to keep your hands dirty
1. You don’t have to do most of the coding, to be honest.
Pull request reviews will be fine, just some way of keeping your hands in the game. Reviewing solutions and ways things work will REALLY help out with the future.
2. Pair or Mob with the team.
Drive ideas out and let others drive too. Shared context, shared understanding is a great way to keep and gain context.
3. Explore new tech that comes up.
Put time aside just to tinker with new things in some small side projects etc. Watch videos online, read blogs, and keep learning. You don’t have to use any of the new tech, but when problems start to arise (and they will), your toolset is wider and you may save your future self and the organisation.
•••Learning to let go
Sometimes letting things go is an act of far greater power than defending or hanging on — Eckart Tolle
You mostly just came from a full-time coding job (maybe Senior Engineer). To be effective you need to find the balance between coding and other things you need to fulfill in your role.
Part of that will be learning to let go.
You cannot be part of every small change and shouldn’t be. You cannot be the bottleneck for the team to make decisions, you want to give the team the ability to move and iterate fast. The faster you learn to let go the easier it will be for the team to move.
Ultimately you want to make yourself redundant. Your team should not need you to function and be successful.
3 Tips on how to let go
1. Come to terms with the facts you no longer just code all of the time.
The faster you come to terms with that the easier it will be to let go of the small details and focus on the bigger picture.
2. Learn what you should get involved with and what not to.
You want to guide your team in a direction not necessary to tell them how to get there. If you have the right team they are great at solving problems, let them, guide them, and move forward together. Its OK if it’s not what YOU would do…. there are 100 ways to tell the same story…. there are 100 ways to code a feature. Guide them and let go.
3. Think about the bigger picture and less about the details (sometimes!).
You need to guide the boat and help your engineers understand where we are going as a unit. They will be in the small details day in day out, without direction or a full understanding of where they are going. Communicate the vision and direction, keep your foot in the code, and the other in the company/product direction. Over-communicate with the team. It’s better than not communicating at all.
•••We can always be better
No matter what, you can always be better.
I have been in and seen teams that get stale or just coast along. Teams that believe they have things right, only to talk about problems outside the team to others. Teams that become super dysfunctional.
Don’t become that team.
No matter what people say or what you think the team can always be better, never settle for now, and continue to push things forward.
If your lucky enough you may get to the point you have a high performing team and you may feel like there isn’t much to change or do, but there might always be something that the team needs, problems that might need addressing or maybe the data might be saying a different story?
3 ways to be better
1. Have Retros
Create safe environments for people to talk about the team, the features, and how they are feeling. Listen and don’t judge. Help people in whatever way you can. Be the serpent leader for them.
2. Explore data to understand hidden problems.
You can measure different types of performance metrics.
3. Ask the team in groups or one-to-one where the pain points are,
How they are feeling. How the team could be better.
•••Empower the team
I think most of us will have times we can look back on when we didn’t feel empowered or trusted to get on with things and make the decisions we needed to. How does it make you feel when that happens? It’s a pretty shitty feeling right? So why would we do the same to our team?
Trust and anatomy are some of the root foundations of human motivation. So why would we take that away from people?
Giving empowerment and trust can be hard and takes time to do but here are some things I find help:
4 Tips to create empowerment and trust with the team
1. Build relationships.
Get to know your team inside and outside of work, create genuine relationships with them. Don’t just ask about them if you don’t really care (people will know), but be as genuine as possible. As your relationships build-up you gain an understanding of each other and giving trust and anatomy becomes a lot easier.
2. Never blame anybody for when things go wrong.
Blaming people sucks, just don’t do it it’s not important. What important are we learn from the mistakes and put things in place to make sure it doesn’t happen again.
3. Let others explore their ideas.
If you have the right people they will be creative and great at solving problems. Your ideas will clash. Give them space to explore theirs. You could time-box a spike, or let them explain their ideas in more details. More often than not most people just wanted to be heard, let people listen give them space and then make a choice. Don’t enforce ideas down on people.
4. Praise people (private or public depending on what they prefer) and give feedback to people.
If you want repeating behaviors on the team then praising or giving feedback to people can really help.
•••Connecting the worlds
In most organisations you have various different worlds going on. You may have the tech, the marketing, the customer support, and more.
Each one of these worlds has a different context and operates in a slightly different environment. It’s important to remember that.
Your job will become a lot easier if you learn how to connect the worlds together. Getting customer problems into the tech team, get the marketing ideas into the tech team. Connect the organisation don’t let it split into silos.
When you talk in these environments you need to understand your audience. You need to know how to communicate with people that understand the world of tech. Sounds basic right? But so many people make the mistake.
Spent time and learn the best ways to communicate between these environments and worlds and your life will become a whole lot easier.
3 Tips to connect the worlds
1. Understand how technical you should go or high level you should keep things.
Uses stories and analogies to help describe problems or solutions. Ask people for feedback — “Does it make sense what I’m talking about”?. Keep the dialog going between people during conversations.
2. Don’t just stick in your world.
Go exploring in other areas. For example if your technical spend time with the customer support team or maybe the people that market the product. Gain domain knowledge, terminology, and share context. Things become a lot easier to understand and you often hear about problems you might be able to solve.
3. Give open presentations on updates on what you or your team are doing.
Invite anybody along and talk about things you did and or are doing. (Keep it high level), it gives others an opportunity to see into your world too.
What it all comes down to…
No matter how chaotic things will become or overwhelmed you may get, these feelings are natural.
Taking time for yourself is the first step, don’t become useless and burn yourself out You need to keep going fresh, able, and capable.
You need to set a direction and a vision in your head and go there. You cannot get there by yourself you need people to help.
Recruit the right people, share the vision, passion, and energy. Move there in small steps and keep focused. Plan your time and energy well.
With hard work and persistence you can build high performing teams giving them trust and anatomy, make mistakes, and learn from them.
Sharing your vision and goals with them and keeping your team moving in a direction. Sometimes that direction will be wrong and sometimes right, but as long as your moving that’s the goal.
You will always find ways to improve yourself and the team.
Never settle for now and always look on the horizon but don’t get distracted by everything going on. Be focused and clear on what you need to do and where you all need to go. Plan a way to get yourself and the team there together.
Keep hands on. Don’t sit on an ivory tower, feel the pain your team feels, feel the success they have, and praise it.
All this will be a rollercoaster of emotions, successes, and failures. Embrace it and don’t look back.
Keep learning, pushing yourself and others around you.