3 ms·
Managing developers is weird. I have a unique perspective on this matter as I am a senior developer at one company and a managing principle at another. As a s
by austincheney 8y ago
Managing developers is weird. I have a unique perspective on this matter as I am a senior developer at one company and a managing principle at another.
As a senior developer I am deeply introverted and I am skilled at my craft because I can go into these fugue states of deep focus blocking out everything else. I don't need to be concerned with the world outside my team, and often not so concerned with my teammates. As an individual contributor your success is largely determined by the quality and frequency of your contributions.
As a manager you need to be more concerned with what is going on outside the team than within. You are the interface and diplomat between the team and everything else. You are interfacing externally outside the team so that your team doesn't have to and so that you are the single funnel of priority and direction.
As a manager you are largely done writing code. Use your experience writing code to set the proper tone and direction when your developers hit a wall. Guide them into the proper direction for resolution and provide them with resources they likely aren't even aware of. That is you, the manager, providing a vague solution to a code problem without having to write any code.
Your coding experience allows you to set business standards (not code standards) that determines acceptable contributions and enforce those standards. Code standards tend to be highly subjective and are often completely vane or superfluous. By ensuring the standards exist outside of code, such as execution speed or statement count, the standards are likely to be objective and uniformly applied. You should automate this enforcement as much as possible and grant exceptions only with careful deliberate consideration.
Setting high standards is a defensive action against future stupidity. Even as a manager there is still much in the world you do not control. Strong leaders are proactive in shielding their team from stupidity as much as possible. Perhaps the strongest and most enduring form of stupidity defense is CYA (cover your ass). High standards of deliverables is proactive CYA.
If standards are set high members of your team will complain. It will happen. Accept it and own it. Managers without a strong development background or weak soft skills may find it easier to keep the team happy. That is bad. Remember who your team works for. They work for you, not the other way around. If you are quick to cave on product quality its like sharks smelling the blood in the water. Smart managers will spin this as the company's product is merely a tool to advance the team members personal development and competence of their craft. If after sufficient time, patience, and training are exhausted and a teammate still cannot accept the high standards transfer them off the team. Incompetence is a drag on everybody.
The most common reason why product quality slips is because either the business is setting unreasonable delivery timelines or because your team lacks confidence. The second is far more common than the former since, as the manager, you can often negotiate more realistic external delivery terms. An inexperienced team is not a reason to release shit back to the business. That is the opposite of CYA.
Fortunately your team will make this foolishness clear to you by advocating for easy. If you ever hear your team advocating solutions or alternatives because of easy or hard take a long hard pause and reevaluate what they are really saying. When they advocate for easy it might sound something like: "We should use framework X because it makes things easy and then we can deliver twice as fast!" What that really says is something like: "We are slow to make decisions and our jobs are challenging!" In that case the problem is insecurity/anxiety and the framework is a bandage over a much larger wound. Always remember the name of the game is high quality output so that you put your CYA immediately up front. The easy option your team advocates is likely to shred every ounce of CYA both now and in the future.
One way think of your place in the world, as a manager, is that the group is worth more than an individual but the product your team supports is worth more than you or your team. Your entire team can be laid off and that product will continue to live.