- This isn't the place to try to innovate. By this, I mean adopt anything that has become de rigeur in the industry, such as sensible configuration management, development for mobile clients, any AWS service outside of EC2 Classic, a sane build and test process, even an internal backend API to structure the website around, or event metrics to do A/B tests, etc. If you want to build a modern product, you'll be fighting uphill all the way.
There is good reason for this: the company has been bitten by shiny products that didn't work out, and now they prefer tried and tested tools over new mindsets. Ordinarily, this shows excellent engineering discipline - at BrightEdge, though, it's bled into Not Invented Here syndrome from technical leadership, an almost paranoid rejection of anything new under the sun for even non-critical services that would reduce effort.
It's not just tools - processes such as outage retrospectives, release retrospectives, enforcing service-level metrics and SLAs, disaster recovery tests, etc. are fledgling. This would be understandable for a non-IT company, but it is somewhat strange for an international decade-old Silicon Valley tech company to not have these in place.
Attempts to improve this are ongoing, but they're hindered by immense technical debt, the effort is localised only in some teams, and there is active resistance from some members of technical management to consider investing in proven technologies that would make the company more efficient from a developer's standpoint.
- The technical debt is high, and there is no consistent effort to try to improve on this or even estimate its extent.
Imagine little to no documentation, impossible-to-find scattered technical specs for most of the product, no metrics for code coverage, and large silos. Coupled with high churn and only a thin scattering of developer-written tests, it's mostly your wits against the codebase and whatever expertise you can borrow from other people. Broken designs are rarely fixed (but isn't that always the case everywhere?).
This has become a major impediment to the company's growth as it struggles to modernize.
- Engineering management prioritises the development of new features at the expense of maintaining what's out there and fixing what's broken.
This has resulted in the technical debt mentioned above, a lack of visibility into real experiences customers go through, the inability to reproduce issues without accessing production databases, constant fires for the operations team which are largely shoved under the rug, and so on.
Meanwhile, there is mounting pressure to cut the six-week release cycle down to something shorter without adequately building safeguards to ensure a good product is released. It remains to be seen how they're going to pull it off.
- Complaining is almost frowned upon. BrightEdge does not typically solicit feedback about its engineering standards directly from its engineers, and concerns voiced to management are never acted upon judging by anecdotal experience. Disagreement is rarely addressed directly.
- No 401K match.