Everything in the "Boring Corporate Blah" Glassdoor review is spot on.
This is not a place where anyone has a future. I've just survived the 5th round of layoffs in 2 years, and there were others not long before I was hired. One even took place shortly before Christmas, with management insisting that was kinder than waiting until afterwards. Although software developers have been mostly unscathed by layoffs, management wants to train dramatically less costly contractors to maintain the codebases and pinky-swears it's not a prelude to more staff reductions.
Perks are constantly being slashed, though they've occasionally been partially/temporarily reinstated when developer turnover has gotten high enough.
Upper management might have even greater turnover than developers. For example, at the time of this writing, Glassdoor has no reviews of the current CEO... because the last one just quit yet again. I'm tempted to speculate this is the result of continued woes stemming from ex-CEO Serge Matta's accounting practices. Seriously, look up articles about Comscore's finances, delisting from NASDAQ and its associated lawsuits and upper management musical chairs. There's also a striking disconnect from day-to-day operations... the amount of bureaucracy and corporate koolaid is so overwhelming that it's mocked by even the compliance training we have to repeat every few months.
The codebase I maintain is atrocious:
• There is a huge amount of global state, action at a distance and side effects, with nothing being well-encapsulated. This makes it nearly impossible to reason about the code or have confidence that changes are safe.
• Typical code has deep multiple-inheritance hierarchies, where classes lack clear purposes or well-defined interfaces. Most classes are involved in 2-4 levels of inheritance, but 4-10 is not uncommon. To understand a class, you have to flit back and forth between many files.
• It's mostly undocumented. Previous developers suffered from the delusion that their code was self-documenting and forbidding comments would force people to write clearly. In practice you can find functions literally named after the opposite of what they do. Fortunately, most people now at the company agree that documentation is desirable.
• Lots of reinventing common wheels, poorly. Alternatively, we wrap widely-used libraries, but gut important features and rework others with bugs and no documentation.
• Everything is mindbogglingly manual. I sometimes feel more like I'm doing data entry than programming. More importantly, the manual mindset has completely seeped into the culture and workflows, and contributes to a high rate of mistakes.
• Design issues cause testing to take forever and push the testsuite towards randomly passing/failing. This means a 5 minute 1 line change frequently requires days of manual testing to have any confidence in correctness.
• Generally, working here means not being allowed to fix the myriad obvious problems. If you care about doing a good job, being at comScore is incredibly demoralizing.