And since I am working as freelancer, I have learnt how to identify certain corporate cultures. I am doing a hard filtering where I try to get hired by some company. Starting from how do they are making money. If the company culture is based on the “who knows his job, just knows it, and who does not is the boss” phrase, is skipped and almost ignored. If the company has the culture based on the Spanish Theory, where “it has come to mean extracting more for an hour of pay”, it also is skipped. I prefer other corporate cultures, where the technician is well considered and every management position recognizes in the technician the main value of its company, due to the simple fact that the technician knows how to build products, and they appreciated because every manager has some programming experience.
So, how to detect both filtered cultures is almost easy to do. Once you request the respective payment for any new feature and you left that payment clear telling the project manager that each new change has an associated charge, he or she must not cry about the payment and should agree. If he starts trying to re-negotiate the payment, you must leave that company. That company is using the Spanish Theory, so they are not appreciating your job. If you request a payment for any feature changes, because implementing it will use your time to develop it, and you charge the respective amount of money and they cry again because they are looking that payment as money lose, then you can apply the same criteria, they are using the Spanish Theory and they are not appreciating your job. And you can apply the same criteria again if your company do not pay for your overtime work. Just filter and do not work in that corporate cultures.
“Since around 2000, we let engineers spend 20% of their time working on whatever they want, and we trust that they’ll build interesting things. After September 11, one of our researchers, Krishna Bharat, would go to 10 or 15 news sites each day looking for information about the case. And he thought, Why don’t I write a program to do this? So Krishna, who’s an expert in artificial intelligence, used a Web crawler to cluster articles. He later emailed it around the company. My office mate and I got it, and we were like, ‘This isn’t just a cool little tool for Krishna. We could add more sources and build this into a great product.’ That’s how Google News came about. Krishna did not intend to build a product, but he accidentally gave us the idea for one. We let engineers spend 20% of their time working on whatever they want, and we trust that they’ll build interesting things.”
The other case is much simpler to detect. Take advantage of the interview and make a hard technical question. If the project manager does not know the answer, or speaks anything unrelated to the project, he will lead you to many troubles in the future, mainly acquiring compromises that cannot be handled. And that company is probably has some pointy haired bosses working as project managers and similar positions. So, if some project manager or someone in a management position tells you anything technically stupid, you will be running the risk of ridiculous compromises — like doing a full CRM or ERP based in WordPress or Joomla in two weeks.
I prefer Google like cultures. Where “value could be created through ingenuity and technology”, rather than going the opposite direction…