Yikes at these answers so far.<p>Here's my list as a computer science geek always attempting to look top down at the industry:<p>- Cloudflare<p>- Datadog<p>- GitLab<p>- DistroKid<p>- Spotify<p>- TransferWise<p>- Typeform<p>- Okta (maybe)<p>This being my short list off the top of my head. Hopefully I can edit with some more later.<p>---<p>Also, a note that I'm currently hiring:<p>I lead an international role for AB InBev called Z-Tech which is modernizing the last-mile supply chain for all of AB InBev's massive network of subsidiary suppliers.<p>That said, I'm attempting to model our engineering practices based on some learnings from the above list of companies.<p>Feel free to reach out at:<p>christian.battaglia at ab-inbev dot com
Google will definitely be on this list.<p>Great tooling. Great SW development culture. Strict requirements on code quality. Mandatory testing. Mentorship and continuous reviews for writing good code.
I'm not sure which angle this question is asked from, but I can think of two:<p>1 - you're looking for great software engineering practices to model based on other companies, which is good.<p>2 - you're looking for a company to work at, and you really value software engineering practices, which is also good.<p>I feel like these are two different answers though. Many companies that have great practices do them because they are large, and have resources to implement them, think FAANG. It is financially worth it to have great software engineering practices to reduce friction and increase quality. These can be really interesting and have great papers written about their sometimes open sourced technology. The Google SRE program comes to mind.<p>If you're looking for a company with great software engineering practices to work at, I think that's a lot trickier. It honestly depends on team and culture, and I've found it varies widely, even between different leads. Even at big companies where I've worked, some teams just have bad engineering practices, either due to bad team culture or practical problems like lack of time or resources. Also be careful because a lot of software engineering practices aren't about writing code, committing code, or writing papers about tools and frameworks - they're about personal interactions and problem solving together. Even great software engineering practices can be perverted in a toxic culture.