Tady je nějaké povídání od jednoho pána co má velmi důkladnou zkušenost se Šutrem...
"Preventing the company from having high uptimes is a massive pile of tech debt, the fixing of which is often prioritized out of existence. Several attempts have been made in splitting up the monolithic Perl app that runs the store into several smaller microservices; however, since no resource planning, performance measurements, or any other sort of proactive actions were taken by the developers, the microservices have only increased the number of single-points-of-failure. Compounding issues is a relatively-new directive that all new services *must* be written in NodeJS, and while this is a positive trend from the previous directive of "you can write your code in any language you want";, the extremely-questionable choice of NodeJS was made by a small committee of developers, with no input from other teams in the company.
As such, development at Shutterstock is a nightmare of Lovecraftian proportions, which both developers and infrastructure being ill-equipped for the scale and challenges that need solving. Projects at Shutterstock used to be in pretty much every language under the sun (Java, Python, Perl, Ruby, NodeJS, and Go used to all be supported runtimes), so it's commonplace to be handed code in a language you're unfamiliar with. As a result, services are rewritten every time the assigned developers change (which is frequent, due to high turnover), and as a result, there are many instances where two or three microservices running to serve the same function.
The developers themselves are a mixed bag. As stated in Pros, there are some very smart people here, but they're sadly dwindling in number as the days go by. Instead of hiring experienced developers to replace them, managers instead hire very-inexperienced developers, often right out of college, or very inept developers, who actively make poor coding choices and lower the overall stability of the site further. Since these developers often function by pushing untested code into production with minimal test coverage, problems go undiscovered until they cause production problems, and only after several hours of looking at red herrings first.
The toxic nature of the culture at Shutterstock means that teams are rarely willing to work together, instead hoarding infrastructure resources and institutional knowledge in blind grabs for power and prestige. Shadow infrastructures are commonplace, only being discovered when they cause production outages or break in some other way that affects the developers who created them. At this point, the Infrastructure team is expected to support and fix these solutions, without being given either the manpower to do so, or the authority to remove these teams' abilities to create their shadow servers again. As a result, the infrastructure is in a constant state of flux, and a recent decision to move the entirety of the infrastructure to the cloud was both poorly-justified and badly-planned, and will lead to more outages in the future.
A lot of these faults and problems lie squarely at the feet of management, who have to be among the most inept group of executives I've ever worked for. Middle management is easily the worst, with good management is often coached out of the company, replaced by others who are too busy playing politics to manage effectively. There are way too many middle managers, and others are promoted to management positions without experience or a clear directive. As a result, managers often battle with one another over responsibilities and power, and burying each other in meetings is far more common than it should be. This directly affects morale and productivity, and engineers are often paralyzed into inaction for fear of making the wrong move and losing their jobs.
At the C-level, the poor performances continue. The CEO is a megalomaniac who micro-manages the site and the work teams are doing, often wasting tons of resources and time by refusing to allow more-qualified employees to handle the day-to-day operations. The tasks he sets are almost always impossible to complete on time, and he has no qualms about dismissing managers that he feels have failed him, even if the failures were due to his poor planning or lack of understanding of his own company's technical stack. This further increases stress and fear among the engineers as well.
Overall, working at Shutterstock is a frustrating, unfulfilling experience, and there is almost certainly a better company in NYC that would make better use of your skills, and respect you more as a person. Avoid!"
Jo a potom to má fungovat...