A few days ago I came across a blog post by Ahmet Alp Balkan, “8 months in Microsoft, I learned these”. Even though I have never worked for a company of Microsoft size, Ahmet’s article made me deeply think about all the companies I have worked for since the beginning of my professional career in software industry. I was still a student when I got my first full-time job in a corporation with more than 2500 employees. Afterwards I have worked for a few mid-size companies and I am glad I had the opportunity to taste a few different flavors as it brought me to the realization that:
All companies suck in some way – There is no perfect company to work for. There will be always something annoying whether it’s code quality, your colleagues, management, outdated technology or boring projects. The key is to identify the flaws you are able to live with while focusing on those aspects which are essential for your happy work life.
Companies can be fixed – You don’t have to accept the status quo. You can improve your company by sharing your ideas with people around you. This is true that it’s easier in small companies but even in those as big as Microsoft you can influence your direct environment. Better code? Introduce peer review. Knowledge sharing? Organize a tech session or write an article on the intranet. Most importantly, talk to your boss. Your manager is not able to read your mind and if you have good reasons he will get this new projector for your team.
A company must make a profit – Making a profit to a company is like breathing air to people: necessary but not a goal in itself. During your career you will be asked to cut corners for the sake of profit. Try to make the best out of the circumstances by maintaining high quality standards of your work. If you have luck your company will recognize that letting developers write good code makes them happy and happy employees are good for business.
If there is something you don’t like about your job and/or company there are basically two options. You can learn to accept the way it is or your can change something. And if all fails there is always this third option, set off in search of a company which sucks less.