Conclusion

Not all the possible advice for how to manage a workplace was covered here. I refer you to the links at the beginning and inside the document for more reading. You should read them and be enlightened.

The workplace I'm talking about is a workplace that aims to employ great programmers to work on great projects, which your developers will love to do. It's not meant for a sweat-shop or one of those companies working on all these low-quality applications for internal-use, especially those that are developed by or for large organisations.

If you want to hire the top developers, you should aim for a top environment and very good conditions.

I don't intend this document to be dogma, but rather to provoke clear thinking of the matter. A lot of bright programmers I've talked with about the vision of a perfect workplace, have claimed that this is an non-achievable fantasy, and that all employers are much more clueless than that. However, while perfection can never be achieved, I've seen my share of good workplaces, and benevolent and clueful employers, and I think many of them are enlightened enough to improve according to my suggestions.

It's not necessary for a programmer to be a wage slave - they need to be treated much better than that, if their employer wants them to be productive and happy. I hope this essay explained how.