I'm going to do a small series to document some of the things I've learned while being a developer all these years and while managing/leading development teams. This is the first post in the series (so get ready bitches).
You have to trust your dev team completely. Only hire people who you can really trust. If you're spending your time worrying about whether or not someone is doing their job or working their hours or whatever else then that's energy wasted that should be spent elsewhere. There will of course be issues with certain team members, but deal with those issues quickly and trust them again as soon as possible.
Output is MUCH more important than hours. Your developers need the freedom to not be bound by a clock or a desk or a phone. Sometimes the best way to figure out a problem is to go take a walk. What might be solved by a 10 minute break can easily turn into a completely wasted day if your employees feel like they can't break away.
Trust also leads to freedom, you're developers should be able to make their own decisions on the technologies they use (within reason) and how they implement those technologies (where possible). Remember, you hired them for a reason, so let them grow and show you what they can do.