The following is a list of some of my acquaintances industries, after working in a number of large technology companies, to collect aggregate out some of the features together. Our varied and extensive work experience, from Fortune 50 companies to start-up companies in Silicon Valley, from the new to the code base to 30 years antique.
Below these features, not only for us, I think the majority of software developers also represents an ideal working environment. While many companies will consider these practices on the list it is impossible to accept, but if the fight is close to this ideal situation, we believe that many programmers, including myself, would want to work for you.
Donated to the open source community strength
It allows programmers to develop their own computer.
Can not do this usually means a couple of over-development environment ...
Do not rely on proprietary communication protocols
Your Microsoft Exchange server can not support Linux or OS X do?
You need to use Microsoft Office document or Pages for Mac do?
It allows the programmer to select unpaid leave
Year specified in those days paid holiday really great value?
Having a well-organized clean code base
Consider converted into a service-oriented architecture, will help you
Priority in the allocation of time to reconstruct / technical debt repayment or other things not directly generate economic benefits
If you have technical debt, it should be recorded on the document, and eliminate as much as possible.
Do not use a "own custom framework" open source frameworks or incorrect implementation
With Stack Overflow should be able to solve most of the code-related issues.
Not a "market-driven" company
Not set arbitrary deadlines
"Tuesday morning we have to make this function, then we want to bulk mail notification!"
Abandon Minimum Viable Product
Believe me, that is a problem, get rid of it after you will be happier.
It does not require employees to have to stay in the office, for example, in a coffee shop or home office
Rewards should be based on the power line, rather than the hours or length of service
When it comes to decision-making will seriously affect the programmer's first consider the views of programmers.
Assigned tasks according to the preferences of the programmer
I upvoted You