You are a "manager", and you need to understand that you are not a "supervisor", mostly because your staff won't necessarily need supervision.
As a manager, you do not work for the company. You work for your staff. You are only PAID by the company. Your job is to make sure that THEY can do THEIR jobs. You are the liaison between your staff and the company. As such, your responsibility is to discover the needs of your staff and do what is in your power to cater to those needs in an effort to maximize the productivity of your staff.
A programmer with concerns about his pay or his vacation time, etc, is going to be much less productive. As a manager, your job is to manage that problem by finding answers and pursuing solutions to problems that exist outside of the production environment.
Think of yourself more as a "coach" who needs to train a team to be as effective as possible... because that is what you are.
Just like most programmers, you will likely be most effective at your job in ways that are virtually invisible to everyone else; your associates will only be aware of what you do when you don't do very well at it.
Keep that in mind too, and realize that your (in all likelyhood) under-appreciated staff will benefit from being recognized for doing their jobs correctly once in a while.
Just keep in mind: they don't work for you, you work for them. They work for the company. It will keep you in perspective.