So, basically what did I get out from it?
- “Watching non-programmers trying to run software companies is like watching someone who doesn't know how to surf trying to surf.” Of course, we need a geek with at least some business sense in them. I always had doubt when I see a MBA or a salesman run a software company.
- When your company had too many layers of bureaucracy, it takes all the fun, control and productivity out of it. In 1994. Microsoft had 6 layers of management (that is considered good), but now it had at least 12. Imagine the productivity boost and fun when you had only 1 layer.
- A good manager does not have to know every detail of what are you doing, he just have to know that you got it under control. How does it do it? He asks harder and harder questions, until you admit that you don’t know, and then he yells at you for being unprepared. If you manage to answer all his questions? Hmm, it seems like you are pretty good.
- When you hire too much, there are bound to be not too many gems in them. That seems to be an inevitable state when you are expanding big and good talent is rare as gem.
What are the symptoms am I talking about?
- There is no high ranking technical position in the company (no Chief Software Architect, no Chief Technology/Technical Officer, and no Technical Director); all you have is non-technical people holding post like CEO, COO, Big Ass Salesman, VP, Division Manager, etc.
- They give weird title like E-Developer (what’s with the E thing), Application Specialist and Application Consultant when all we do is programming. Give us property title like Programmer, Lead Programmer, Software Architect, or cool title like Master Programmer or Chief of Productivity
- When business is bad, they keep expanding the sales team.
- When business is bad, they stop/halt product development and R&D.
- During interview, they don’t have proper technical test to filter the candidates
- During interview, the guy who interview you is from HR or someone non-Technical
- There is no IDE, Testing Tool, Version Control, Bug Tracking, Standard Framework, Development Guidelines, Documentation
- There is no Blog, Forum, Wiki or any collaboration tool for resource and knowledge sharing
- When you keep switching team/project/task at a very frequent rate
- When you see only the good one leaving the company
- When the company loose or don't have a core product/service (end up doing anything that comes in)