Books for software engineers and managers
Categories:
Favorite,
CTO,
Engineering Manager,
Startup Founder
How strongly do I recommend The Effective Executive?
8 / 10
The Effective Executive is one of the better reads for Engineering Managers, Directors of Engineering, and CTOs who are trying to improve the performance of their organization. Peter Drucker offers timeless advice that is equally applicable to software engineering leadership as it is to other domains.
Top Ideas in This Book
Invest a week tracking where your time goes. Scrutinize time spent that does not produce the value and outcomes you expect and either modify or eliminate that time suck.
Pay attention to how much time you spend in meetings because that is time you are likely not leveraging your knowledge as much as possible. Even as a manager, meetings should never become the primary demand on your time.
Knowing that time is your limiting factor, you must re-evaluate which work must be done by you versus work that can and should be performed by others. The Eisenhower Decision Matrix is a useful tool for prioritizing work and understanding which efforts should be delegated to others.
To feel comfortable delegating work, managers must establish and maintain high standards. Hold your subordinates accountable to those standards, providing coaching and training where necessary to ensure they have the skill required to perform at that level.
Well run organizations rarely involve heroics. Drama stems from poorly run organizations with volatile performance.
Just as well managed organizations are boring, well managed projects are also boring. In software engineering we frequently see developers performing heroics just because projects were poorly managed and planned. These developers are often highlighted as heroes for their outsized efforts leading to delivery, but good managers know this is an organization red flag. Something is not right, the project was not managed correctly.
We must steadily upgrade our people with new skills and knowledge so they can lead the organization tomorrow.
As a manager of people it is our responsibility to help our people develop the skills necessary to perform at the next level. For instance, an Engineering Manager should help Senior Software Engineers understand what skills are necessary to perform at a Staff Engineer or Engineering Manager level.
Coaching our people up is particularly important when those opportunities and openings don’t yet exist within our company. We cannot have our most ambitious people feeling like their growth is limited simply because the opportunity does not currently exist at our company. It likely exists somewhere else and that person advancing in their career, even somewhere else, is a great success.
A new role comes with new expectations. The skills that got you to this level of success will not be the determining factors in your new role. You must recognize that expectations have changed and grow your skills accordingly to avoid failure.
Scalable high performance happens at the intersection of skill and motivation.
First ask yourself whether your employees have the skills necessary to perform at a high level. To scale an organization your goal is to drive down the skill necessary to be productive. For instance if your average engineer has 10 years of experience because that’s the level of skill necessary to be productive in your system, you might focus on eliminating the complexity and fragility of your systems such that more junior to mid-level engineers can be productive. Simultaneously, work on upleveling your people with the skills required for high performance.
Secondly ask yourself whether people are motivated to perform. Compensation only gets you so far, most knowledge workers crave things like growth and autonomy.
To raise the performance of an entire group, put into leadership the person who is capable of pace-setting. This person should be capable of outstanding performance. This person will have one strength which is highly relevant and likely several weaknesses which are irrelevant.
Achievement depends less on your ability to research and process information than on your courage to make difficult decisions. Of course, you must gather and analyze the data but we live in a world of imperfect information and eventually you must have the courage to commit.
On the surface these decisions usually seem to make sense but they are a signal of lazy critical thinking. These dangerous decisions happen when leaders have fostered a culture of compliance and fear, where subordinates see the problems coming but are afraid to say something.