Beam me up! Scotty’s 10 tips for becoming a great software engineering leader

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

Run-through

By GITENTIAL TEAM

Any man who could perform such a feat, I wo’d na dare disappoint.
She’ll launch on time. And she’ll be ready.
– Scotty, Star Trek: The Motion Picture

At Gitential, we believe that there’s a distinct difference between management and leadership. Where managers optimize teams, leaders inspire them. But, it is possible to be both as some of their skills do overlap. We recently discussed making the leap from individual contributor to engineering manager. But, some of you might want some tips on how to go farther. You want to be a great software engineering leader. We’re on that voyage with you. With the help of our trusty tips and some inspirational examples, we’d love to help get you there!

1. Change Your Mindset.

Possibly the greatest hurdle in becoming a great engineering leader is your mindset. Not everyone wants to be or invest in the effort to be a leader. It’s hard. It requires more discipline, effort, and selflessness that may go unrewarded for years. Becoming a great engineering leader requires a commitment to do whatever it takes, for the long-term. Many software engineers and developers are introverts by nature.

Leaders push the boundaries of established comfort zones. Engineering leaders love diving deep into new technologies. They also strive to relate better to people. Leaders cultivate the ability to speak in front of peers, higher-ups and customers. As they get into “thought leadership” – they’ll speak in front of larger audiences. You’ll need to answer their questions. Sometimes, it means admitting that you don’t know.

2. Group Mind.

Another distinct aspect of becoming a great leader involves identifying with your team. Your success and your team’s success are synonymous. If, as a manager, the project your team or department fails – it’s not your team’s fault. It’s yours. If you succeed, it’s because your team succeeded. You had a role to play, too, and a big part of that involves making sure they have everything they need to win. There’s no blame game excepting natural disasters. Contingency planning is part of your responsibilities, as a leader and as a manager.

3. Be Honest.

Great leaders don’t bullshit themselves, or others. If someone’s code or selection of a framework for a function is bad, say it as it is. Also express, “I know you can do better.” If someone’s done a good job, commend them for it. Rather than make it a separate point, great leaders know the value of discretion, too. They don’t bad talk their superiors, the client, or the company – even if something is bad. That can be difficult. Be diplomatic, “That’s not the decision I’d have made, but it’s on us to find a way to make it work, and work well.”

4. Build Confidence.

The step-by-step techniques for building confidence are the same for you and cultivating it in others. It starts by making a habit out of success. Start small and increase the difficulty. Half of the battle is to identify and stick to methods and processes proven to consistently work. Most of the balance is practice and repetition until you can do it right every time. You don’t want your team members writing the same code from scratch over and over again. If you’re a non-managing leader, daily code reviews are a productive means to achieve the same result.

5. Keep Priorities Straight.

Your time and skills are precious commodities. As a software engineering manager you’ll have a lot on your plate, but you aren’t on the “front lines” anymore. Coding shouldn’t be a significant part of your job, if at all. Other engineers can do cost estimations. Technically, you shouldn’t even be sitting on most types of code reviews. Your engineers will appreciate it if they make the majority of engineering decisions.

Your greatest priority is balancing supply and demand. Your team members want to fix bad code, test new tools, and upgrade legacy equipment. They want to get paid, get raises and promotions, take vacations, get time to take an extra course. Your C-levels want more productivity, lower costs, changes to production plans. They have to keep up with competition in the market. Customers and account managers have questions for you. You may need to sit in on discovery meetings. It’s on you to make sure everything gets to everyone who needs it.


The best solution is to keep a list. If not a captain’s log, think of it as your own engineering managers backlog.

6. Delegate.

Great software engineering leaders know when, how, and to whom they should delegate tasks. Engineering leaders aren’t always leading the hardest, most sophisticated or coolest tasks. They’ve gotten to know their team members and the kinds of tasks to which they are best suited. But, they may also assign tasks to help team members develop or expand specific skills. So, what’s the software engineer leader doing? Three things:


1. Monitoring, but not micromanaging, progress across all teams.
2. Making sure team members have the tools and resources they need.
3. They are “being” available.

7. Be Available.

This can be hard or awkward at times. “Being there” is a valuable skill and trait to cultivate. Your team members may get upset or frustrated. They may need guidance or a second opinion. They may need you to gather extra resources. You are there to listen. Give them your full attention. Empty your hands, establish eye contact, listen to what they have to say, acknowledge it. If they have a list of items, feel free to take notes.
Ask them what they need and decide on a course of resolution, together.

8. Continuously Develop.

Leaders never stop investing in and developing themselves. They also never stop encouraging others to do the same. Like everyone else, leaders need breaks and should take vacations. They never settle into complacency. As non-managers, leaders are always expanding their technical knowledge. As managers, your attention turns to developing social, management, organizational, and industry-related expertise. This can take the form of professional networking. It may lead you to develop a personal brand. Thought leadership activities, involvement with industry and community, could make you famous! As most CEOs read a book a week; you are always learning something new.

9. Have a Vision.

Great leaders see things – like the future. They know what is possible now and have a way of extrapolating where they will go. Leaders can paint a picture others can understand. They can show new ways things will work, new possibilities, and the changes needed to make them happen. This is part of thought leadership. Speaking in front of others can help you (and your company) go viral. Not everyone wants to be a household name, it means giving up a lot of privacy. It also opens you up for attacks from competitors and others who want to maintain the status quo. Your response is to largely ignore them – we’ll see a few examples of this shortly.

10. Optimize vs Inspire.

Managers optimize, leaders inspire. Managing is often about methods, processes, and keeping “the productivity engine” going. Inspiration applies to compelling people to want to do more than what’s expected of them. That’s some trick. History has all kinds of examples of leaders who went beyond the call of duty and inspired others to do the same. Military history is filled with brave stories of sacrifice and prevailing against overwhelming odds to achieve the impossible.

One of the best things about software engineering is that most of the time, no one’s actually shooting at you. In most other contexts, that would be a very strange remark to make about software engineering leadership. You’ll contend with insufficient resources, complex problems, changes in priorities, and deadlines. But hey, you’re engineers. You’ve done so much with so little, for so long, that you’re now qualified to create anything… from nothing!

The Extra Tip. Make It All Easier With Gitential.

Gitential is an engineering intelligence tool that automates the tracking of all manner of software developer metrics. Gain analytical insight about your team’s productivity, code churn, activity with test repositories, interaction between developers, and more. Please take a moment to check out our free demo – or sign up for a free trial, no credit card is needed.

The Gitential Guide on How to Reduce the Size of Your Git Repository

The Gitential Guide on How to Reduce the Size of Your Git Repository

Unfortunately, there are no easy ways on how to reduce the size of your git repositories. However, there are quite a few ways to keep your repositories down to an efficient and easily manageable size. Many of them are fairly simple and can be set up fairly quickly. But, they probably won’t help you if you are already exceeding your repository cap on Bitbucket, Github, Gitlab, or Azure DevOps. For this scenario, we can help you identify what to target when it becomes necessary to deal with a large repository.

Read More »

Did you like our content?

Spread the word

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

Subscribe to Our Newsletter

Don't miss our latest updates.
All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.

Did you like our content?

Spread the word

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

Subscribe to Our Newsletter

Don't miss our latest updates. All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.