Ahh but those are perks indeed. The thing is, if a developer is mediocre with the perks in place, you take them away. If he's still mediocre, you let him go. He was a mediocre employee however you see it. Here's the catch. To make sure you have an employee that feels empowered, challenged, and engaged you need to offer this perks beforehand. If you don't they're just going to feel as a regular employee. Unimportant and replaceable.
Developers don't look at themselves as grunt workers after they've acquired significant experience (enough experience to expect these kind of perks), but as management/executive material who would rather program than do whatever management tasks he'd do if he was a manager. Managers and executives are the dudes that won't get a ton of flak for coming in later in the day or for taking an hour and a half of lunch instead of just one.
I'll be honest, I've worked as the general manager of an outsource development company and I found the job generally lackluster and not as challenging as coding, therefore I prefer to code. The fact that I find a general manager's job easier than coding make's me want to have similar perks, and I bet I'm not the only one out there that thinks like this.
Developers don't look at themselves as grunt workers after they've acquired significant experience (enough experience to expect these kind of perks), but as management/executive material who would rather program than do whatever management tasks he'd do if he was a manager. Managers and executives are the dudes that won't get a ton of flak for coming in later in the day or for taking an hour and a half of lunch instead of just one.
I'll be honest, I've worked as the general manager of an outsource development company and I found the job generally lackluster and not as challenging as coding, therefore I prefer to code. The fact that I find a general manager's job easier than coding make's me want to have similar perks, and I bet I'm not the only one out there that thinks like this.