Last year, I broke my records of daily readings. It was the year I read the most books, and it was also the year I read the most blog posts. In 2021, I was fortunate enough to come across great posts and books that shaped my perspectives on leading software teams and helped me become a better software engineer.
In this post, I’ll share some of these blog posts. I believe there are ideas and new learnings in them that will make you a better engineer or engineering manager.
Making the Most of These Posts
Frequently, I find myself in a situation where I could use some insights from what I’ve learned, and I completely forgot them. I’ve developed a process that helped me remember what I read and make them stick.
As you read through each post, I recommend doing the following to get the best out of each post.
Know what you’re reading. Read what the introduction is about and note down what you’ll learn at the end. This will prepare your mind for the insights to come.
Identify and jot down key ideas and information in the post. Write down learnings, insights, and ideas. Taking notes of what you learn prompts you to think about your learnings and also improves your memory.
Make your notes searchable.
Re-read your notes often.
Communication is very crucial to leading effectively. But there is a clear difference between merely passing a message across and communicating effectively. The outcome of any communication is what determines how effective it is. Simply pushing out a message or publishing information is not enough to measure its impact. Effective communication is focused on what people need to hear in order to reach the outcome you desire and less on what you say.
No one lights a candle and puts it under a bushel. At some point in any engineer’s career, you’re going to have to prove to someone that you’re worth it: worth hiring, worth promoting, worth the raise, worth taking a risk on. The better you’re at making known what you do to others (that’s hyping yourself), the higher your chances of succeeding.
We’re often told to lead by example. Yes, we all need to set good examples for people to follow. Often time, we overstep our boundaries by continuously taking the lead without setting expectations leaving reports feeling crowded out or disempowered. This post helped me to understand that setting a good example is necessary, but isn’t sufficient for strong technical leadership. Acting like a tech lead means setting clear expectations and embracing direct communication.
Julie Zhuo, in her book, defines Leadership as being able to guide and influence other people. When most think of leading, they think of it as something that people in authority or engineers who wear manager’s or tech lead’s hats do. Contrary to that, anyone can be a leader, and it’s a skill anyone can learn. One of the key points I learned from this post was that anyone could lead without authority or coercive power and how to do just that.
“Executive skills are subtle and can be elusive to managers, demanding a great deal of focus, courage, and dedication. Becoming a great executive requires a set of skills beyond what’s needed to be a leader”. Nikhyl Singhalin, in this post, shares crucial skills that leaders must develop to become executives. Some of the key takeaways are:
Learn to take risks and constantly put yourself in new, challenging, and increasingly ambiguous settings.
Learn to build strong relationships with other senior people who work in entirely different functions.
Learn to build teams and trust the people in them.
10 Admirable Attributes of a Great Technical Lead – Elye (Medium Paywall)
“It takes a lot of effort to be a great tech lead. It’s a delicate balancing act between two poles of the same attribute. If there is too much weight on one side, the person may fall”. This post outlines ten attributes that will make any tech lead a better one.
Most people are not lucky to have a manual handed over to them when stepping into a leadership role. As one climbs the ladder, one begins to notice what is required to succeed at the role is slightly different from what makes one an excellent individual contributor. One of the lessons I found valuable in this post includes picking your battles wisely and getting things done without actually doing them.
For Individual Contributors and Engineering Managers, there is always new stuff to learn. If you’re at the beginning of your career, it can be overwhelming. One approach to stay above the water is finding a way to prioritise what to learn and a way of keeping track of principles or ideas that don’t change (that’s mental models) to make better and informed decisions. This post outlines a list of engineering principles and management principles, some of which took me years to learn.
A Collection of How-Tos, Templates, and Articles to Help You Be the Manager and Leader Your Team Needs
This link contains a collection of todos, how-tos, templates, and articles for engineering managers and tech leads. The categories covered include techniques and templates for:
Building diversity and inclusion
Growth and more.
“Similar to building a Lego tower, building software requires making decisions from the beginning to the end. The first responsibility of a technical leader is to define the engineering reality: What needs to be built, the general technical direction, an example of the golden standard for productivity and technical excellence, the business and technological context, and the time and resource constraints.” If you’re a Tech Lead or an Engineering Manager, you’ll find this post interesting.
One of the few ways to set yourself for failure when joining a new team is to start by criticizing the existing codebase, past practices and implementing tons of their processes from day one without having a clear picture of how things came to be. Criticizing past practices no matter how ineffective they seem is one of the many ways new hires set themselves up for failure. I love this post because it outlines how to prepare and make a really good impression, from meeting the team to attitude and culture when joining a new team.
Where To Go From Here: Join Software Leads’ Newsletter
To take your learnings further, Join the Software Leads’ newsletter, a monthly newsletter on software engineering and leadership.
Every month, I publish a new issue that includes links to interesting articles, use cases, and insights from experts on leading teams and solving common software engineering challenges at scale. Together, we learn and become better software engineers, better software leads, better engineering managers, and CTOs by making fewer mistakes as we learn from one another.