Jason Rowe

Be curious! Choose your own adventure.

Becoming a Software Development Manager

I’ve been learning and improving my software manager skills for a year now and want to write down my thoughts. Hopefully you find this useful in making a decision about a career change, getting started in software development management, or just find something helpful in your current position.

Continually Learning

As a software developer you are continually learning about new tools, language features, and development practices to make you more productive. I’ve found in management these same skill apply. Obviously, the topics of study are more frequently leadership and management. The good news, as a manager developing your own skills, you also learn what others are passionate about and dive into those topics.

The book “The Effective Manager” was a great introduction into management. It is also part of a larger ecosystem of podcasts and conferences if you want to dive deeper. The management tools podcasts were easy to digest and understand from a software developer background. Lots of straight forward advice without much fluff.

Another book that really stood out for me was “Become an Effective Software Engineering Manager“. This book seemed perfect for me. Lots of great facts and resources that work. This book and “The 7 Habits of Highly Effective People” inspired me and improved my organization and communication skills.

Things you won’t learn from a book are unique to the company you work in or the current state of your software development lifecycle. As a new manager you will have lots of things to share since you have a fresh perspective. Many times you will be able to create positive change and improvements but other times you will feel like a newbie. If you are not making mistakes you are not pushing yourself and your team. Be fearless when taking chances to help your team learn and grow.

Another way to keep learning and improving is to deep dive into your teams work. You can do this by reading code, building training videos / documents, and doing blameless postmortems for every incident. Work with the team to refine the mission statements and make sure you have a clear vision you can provide on the topics important to your team.

My Tools

Code
I still love to code and frequently dive into PR’s and troubleshoot problems but take lots of care and recognize my role as a manager. I dive in to learn and ask questions that might help move things forward. My code changes in the last year are things that don’t require the dedicated time and focus required by a software developer.

Task Tracking
As a manager, I’m no longer primarily working on the PBIs/bugs. So to have a better understanding of my accomplishments, I use task lists in Asana. I use this for all the management things that don’t fit on our team backlogs. Asana has been a game changer for me, I feel more satisfied with the work I do and it makes me more reliable. Don’t use notepad.

OneDrive
As a developer, I always kept track of my accomplishments to make my annual review easier. I now do this same thing but also for everyone on my team. As a manager now I’ve learned the importance of feedback and make sure I capture both negative and positive things.

For example, when I mess something up I might put the following into my notes so I remember for my 1 on 1 with my manager.

[F-N-NR] Make sure I get more training on global working hour policies.

The “F” means feedback.
The “N” means I did something wrong for negative and “NR” means I have not reviewed this with my manager. After I discuss this with my manager I’ll change that to a “R” for reviewed. Then hopefully this turns into a postive eventually such as.

[F-P] Finished required training and built onboarding process for future managers.

And as you probably guessed “P” is for positive and might be something you would hope to have in your review.

So not only am I trying to improve myself, I will also look for similar things for my team members and discuss them during our 1 on 1. Sometimes these discussions are very hard but I find doing them weekly is much easier then waiting for the end of the year. Also if you really care about someone you will tell them the things that can help their career and work satisfaction.

Feedback
Find ways to promote a culture of communication and honest feedback. Most of the time I find communication is the hardest part of the software project. Having people open to giving and receiving feedback is a great way to fix software problems. I would also highly recommend reading “Crucial Conversations” and “Nonviolent communication” to help improve communication in your work and life.

Training
I’ve found for local developers going to conferences is a great way to connect and learn new things. In MN, I recommend Open Source North (OSN) conference. For the distributed staff, I remind them to expense books and make sure they know about platforms we subscribe to such as O’Reilly and PluralSight. Don’t just suggest training though. Make sure you dogfood the platform and when you find something exciting let them know and people will get interested. For people interested in leadership, I also frequently suggest “The knowledge project”. The knowledge project is broad enough that most people will find something useful and relevant.

What is next

I would like to improve my coaching and relationship skills. The reason for this is I want my teams to have more success and feel like we’re moving forward. We have accomplished huge initiatives this year and I want to continue that trajectory.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *