High stress environment. (I experienced this first hand, but also heard it from several employees in various other groups.) Company culture was opposed to using products developed outside the company (in the name of not being dependent on external suppliers). This led to employees having to use buggy internally-developed systems for mail, chat, calendar, bug tracking, room reservations, etc. Hard work and talent were not rewarded or appreciated. Out-of-touch management didn't know enough about industry standard software development practices to improve morale and efficiency. Poor leadership rewarded employees for undermining peers. Knowledge hoarding among employees for job protection was common. While the company overtly promised training opportunities for employees, employees were often discouraged from getting training and frequently had to cancel it due to excessive work loads. Some long-term employees, while having plenty of experience with operating internal legacy systems, had no software engineering experience, yet directly managed software engineers. Industry standard software development practices were lacking: no automated build system (developers hand-built code deployed to production servers), no automated testing, highly manual software deployment and configuration management, no integration between revision control and software release systems, no integration between code review and software release systems. Code base has large technical debt due to poor oversight and no leadership eye toward maintainability and code quality. Employees in a "senior software developer" role spent less than 10% of time on development, most of time on dealing with manual software deployment and frequent operational emergencies due to software breaking.