The reason developers are "hard" to manage is that they're in demand, so they don't have to put up with bad or abusive management.
That said.. I'd recommend reading Team Geek (http://shop.oreilly.com/product/0636920018025.do) if you have any ambition to move into a management or leadership role.
There are numerous reasons why developers are difficult to manage. One of the main reasons is because by and large they are introverts. They therefore don't communicate well with other people at all times.
Also - let's face it - the work developers do isn't always easy to understand and quantify; as opposed to say building a house where the inputs/outputs are clearly visible. I can't imagine being a non-techie and trying to manage a team of developers would be at all fun.
Source: I own and run a software development company and have employed and contracted with dozens of developers.
Social HR huh? Yeah.
According to this article, they hate bureaucracy, filling out time-sheets and want flexible working hours. I guess I'm a geek in need of special management.
Who really believes this crap?
What you should be learning from the things that "your geeks" (blech) dislike, is what the rest of your company also dislikes but isn't telling you. The fact that you can fill in the timesheets for 15 people should show you exactly how pointless they are. You already know what they're doing! What are you trying to track exactly? I'm presuming you're not paying them based on the timesheets, otherwise they probably wouldn't let you fill them in.
That's just a small example. You don't have some weird sub-species. You have people who are attuned to certain things as a side effect of their job/life choices. Now work out what the rest of your company are attuned to, and go and listen to them as well.
You'd be surprised who believes and applies it. I'm doing a university degree that is supposedly a combination between CS and business/management. For some reason, however, 99% of the students enrolled are heartbreakingly disconnected from anything CS; most of them hope to become management consultants. I've worked with those people in group projects, and trust me, they are exactly the kind of techniques junkies, who sacrifice all humane common sense  and become this sort of compulsive manipulators who keep tailoring their attitude towards the team to the point where it stops making any effin sense whatsoever. I am starting to think the reason why those techniques end up actually working is because they appear so convoluted and ridiculous from the outside that you're just going to comply out of confusion. Or maybe it's out of pitty.
 If we are to be rigorous, then "common sense" is just another technique, learned and applied. There's nothing sacred about it, so if it necessary it should be replaced with a more effective "sense". However, what I tried to emphasize is that the techniques like the ones in the article are very, very buggy.
Why can't I be a developer? Does the author have such endearing terms for people in sales or marketing?
Its just that geeks are more likely to stand up to a manager (They respect ideas, and knowledge, not authority)if they don't like the way something is done, rather than be meek. Thus have a reputation for being difficult to control.
How much of this is inherit in "geeks" and how much is just because we're lucky enough to be in one of the strongest job markets around? Many people would be ecstatic to have the problem of recruiter spam.
Its just that whose in more power. In the factory age it was the sales man. In the tech age its the geek
Managers need to focus on fixing the people problems that geeks create. Passion is a double edged sword. One moment everyone is singing kumbaya, the next moment they are at each other throats. Managers tend to be the opposite of geeks. They are great at emotional intelligence, but not so strong at analytical intelligence.
We're all a bunch of human beings. People are complex and have varied fears, motivations, and delusions - and they act accordingly. Whatever role they play in a company.
Someone who has the role called 'manager' in an organisation who interacts with other people who have a role called 'developer' has the task of interacting with a bunch of human beings, and that is often difficult. It is made more difficult when they all decide it is in their interests to devote their time to creating something complex. That's a fine area about which we can talk about ways to improve.
However this 'geek' moniker, while all lighthearted, puts distance between people. It makes the article, to me, seem partly about the author (telegraphing the distance he puts between him and others in a relationship he possibly sees as being based around 'power') and partly about his message. I'll be happy if I've gone overboard in my interpretation though!
Most companies fail at doing this though, usually offices are geared towards the extrovert, so huge sprawling open plan desks with people coming/going all the time.
An ideal solution would be everyone gets their own office, a practical solution would be to provide laptops and allow remote working or the option to work anywhere in the building with carefully designed areas to that are quiet and comfortable.
Most corporates don't understand this though and just put everyone on a desk/cubicle in a huge room with 80 others and blindly hope some productivity will happen
Mockingbird for web wireframes, fluidui for mobile.
FlowDock for devops and support: tickets (jira), commits (git), builds (jenkins) and releases. FD is way better than HipChat/Campfire due to threads and tags. (Try looking in HipChat for a real 24x7 multiperson support incident with some admin password for some random box 80 hours ago. GFL!) It also rocks for support because of the group inbox. And, it can be used by PR people (in a different flow) since it does RSS and twitter.
JIRA + Greenhopper for features/milestones, Redmine/Chili works too. (Gitlab looks neat.)
IRC for informal chats.
There's too much ego in our profession, we have to get rid of it. I hate when a client says: "You have to implement a real time video compression algorithm of 100K LOC in brainfuck. This shouldn't take a lot of time for a talented developer like you"
In my head it sounds like: "I think you are stupid and I'm using your ego to get a better/cheaper/faster result"
In most other professions there are secretaries to do this kind of thing.
For example, regarding the time sheets, if I could write a quick script that automates the process of filling it out (correctly) in three hours and it would have taken me twenty minutes to fill it out by hand, what's the problem? after only nine weeks I have earned back that three hours in productive time. If I were to distribute it to the entire team of fifteen people and they each take a similar amount of time to fill out the sheets then we are already ahead.
I tried that. It lasted about ten minutes. I then changed to managing people how they would like to be managed. That was much more successful.
Not only that, they stereotype and patronise them terribly.
"We’re an innovation team, powered by O2. We were set up in January 2011 to test new ideas & concepts fast, in an open environment...We create prototypes, iterate and pivot where necessary, building alpha and beta products to test with user groups with the goal of adding value for our customers."
They've got the PHB working for them.
(I drew these notes up the other day)
PS. Since you appear to be the UK O2, I would add: pay people the same or less but let them work remotely from a more comfortable and healthy environment. Maximum reduction of bureaucracy? Removal of physical environment.
PS: I'll be hiring this year; if you don't have anything against what's written here send me your resume (email on profile).