There are a few really hard problems to solve that relate to programmers in the workplace. In my opinion, it's your job as part of management to solve some or all of them. If you are doing so, you could say you are indirectly responsible for the efficiency of the programmers, overall. You may also take account of a few things compared to other companies, such as: low employee turnover, ability for everyone to work reasonable hours (home at 5:30, for example, if they want), clarity of communication across departments, and more.
So, these hard problems are as follows:
- Programmers need long periods of completely uninterrupted time to think about how to solve problems. You can provide this via office silence policies, offices with doors that shut, work from home (or some quiet place) opportunities, enforced meeting windows (no meetings except between 9 and 11am, for example), and more. Basically anything you can do here is a godsend. So, if you're doing those things, tell management that you're increasing programmer productivity by several hours per day.
- Programmers generally don't want to fiddle with office politics, but often bear a fragile ego. Make sure that you foster community within the programming department and breed a culture of forgiveness, humility, and teamwork. Doing this saves you uncountable hours of wasted time from duplicate effort or bad practices. Seriously, uncountable.
- Reduce mental overhead. Don't weigh your programmers down with overbearing project management tools, meetings, communication requirements, reports, or whatever. Document everything they need to do clearly. Document every process they need to follow clearly. Make sure processes are valuable to everyone, and if they aren't valuable, destroy them or replace them. This will save every programmer hours every week of wasted time on pointless communication, freeing them up to communicate effectively as needed. If you're doing some sort of Scrum or Agile, split up into small teams so everyone doesn't have to listen to 50 other people drone on about irrelevant items. It's your job as manager to handle that complexity.
- Reduce barriers to communication and resources. If a programmer needs to spend some money on some software, it shouldn't require a persuasive paper, a PO, and a 3 month waiting period (yes, I've had to do that). Find a way to make it work. Tight feedback loops and reduced barriers will make your team fly, and it shouldn't be up to programmers to make that happen.
- Encourage autonomous and independent work. Give people their own little piece of the world to be responsible for, and they won't quit even when times get hard or they're not being paid enough. Tell management that you are reducing turnover this way, and helping to foster a sense of pride in the work.
If you get all these figured out, you probably won't have to justify what you do very often. Your team will be singing your praises.