You’ve been writing code for years (possibly longer) and have been promoted to Software Development Manager (or all its variants of Senior, Engineering, Program, etc). Whatever your title, you are responsible for a team of developers that look to you for guidance and direction.

How you got the role isn’t important (doesn’t matter whether you were the first, second, third, last choice, the default one or maybe you filled a req that they needed someone in), you are in that role, you are a Software Development Manager.

Transitioning from writing code to running a team isn’t easy. Code made you…


There is a lot of guidance out there about everything you need to be doing as a remote leader. And a good portion of that is good. The game has changed and managing people remotely is a very different endeavour from managing them when you see them day in and day out.

It would be akin to taking someone who manages remotely and telling them they now have to be in the office to manage the team. …


Whether it’s a defined role in your team or someone who is simply your best developer person on the team, we all need strong Technical Leads to get the job done. When you’re a manager of multiple products and projects on a variety of platforms you can’t know everything about everything, lead a team, keep your stakeholders in the loop, work with customer support, etc, etc.

In short, you the Manager cannot do it all and you need people on your team you can be proficient in different technologies and platforms of your deliverables that can be your “goto people”…


Four tips to become a great junior developer

Photo by Annie Spratt on Unsplash

Whether you’re just getting started or you’ve been in that junior developer role for a while, knowing what to do isn’t always a straightforward proposition.

Everyone thinks you can do “stuff”, but really, you’re learning how to do “stuff” before you can do the “stuff” that they want to be done.

The technical tsunami that is coming at you (constantly) is enough to keep you up at night as you scroll google and forums for answers for scenarios that you can’t be the first person to run into (and if you are, congrats, looks like you just became an expert).


The best team is the team that can operate without a Leader.

Not because they don’t have a Leader, but because they are all leaders.

They don’t attend all meetings and contribute to every single decision, but they have their areas where they lead and own.

This sounds great in theory but in practice, there is a significant amount of work to undertake. It’s not a simple matter of waving a wand and saying to everyone — “Today you are a self-sustaining team, go forth and lead yourselves, I’m still here if you need anything”. …


Team debt reduction, delivery, quality, growth, and more

Image by author

As a software development manager, there are metrics associated with how you manage and lead your team.

There are some that are easily recognizable and others that make us think — how will I measure that? Some are easy and trivial, pulled from a system or report, others are harder to quantify (as they should).

This isn’t about making those harder to quantify metrics easier, this is about getting the easy ones out of the way so you can put more time into the harder ones because the harder ones are what matters more than anything, but oftentimes get treated…


While writing The Anatomy of a Task, I began coming up with a number of points as to the primary consumer of any task that a developer creates.

Their Manager.

Your Manager is the biggest consumer of your task and the work your layout to be built. They are the ones that should be closely inspecting what you are writing down and why you are writing it down — i.e., are you solving the problem you initially intended to solve, or are you off base.

When looking at tasks created by my team, here is what I am looking for.

Do they Understand the Problem?


The core of any unit of work done by a Developer is either a bug or a task. It doesn’t matter if it belongs to a feature, a user story, a use case, a product backlog item, a ticket, or whatever else you might have in your system a the end of the day, it’s all about the task.

Bugs differ from tasks in that in many cases they are generated by someone else asking the developer to fix something. In the case where a Developer logs a bug, they are doing this with the mindset of — “oh, that…


I’ve always hated the commute.

Pre-Pandemic, I spent an insane amount of effort trying to convince my employer(s) that I could do the same job remotely and do it just as well if not better than if I was here.

The question I always got back was — “What if we need you?”

The answer — “I’m right here, just call me.”

The problem was, it was hard to call people, not everyone was up to speed on the latest instant messaging tools that were being deployed to their desktops every month, and never learned that they could have a…


There comes a moment in something we are doing (whether it be assigned to us or we dream it up) that we have to put together a plan of how we are going to accomplish it. In it, we will outline all the steps that go into making it a success, writing each one as they come to us, determining if they should be large or small to ensure that we complete the plan.

It can be a long process and it can be uncomfortable to do as the list grows longer and longer with no end in sight to…

Greg Thomas

Software Architect, Developer, Author and Leader helping organizations build scalable software delivery teams and implement cloud-based solutions

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store