Last week I had a catchup meeting with a client about the progress of a platform I'm building for them, and showed them how the "devops" side of things works. Demoing it really struck me how insanely awesome all the tooling we have nowadays is, and also how much I take it for granted!
I've worked with quite a few companies now - both as a permanent employee and as a contractor/consultant. However, up until now, I haven't worked with a team who use Pull Requests for all code changes. Whilst I know the PR model well through GitHub and open source - I hadn't previously used it within an actual workplace.
Have you ever had a bug report that just reads "It doesn't work"? Or more likely it has a bit more information than that, but clearly not enough for you to actually do something about it. You then ask for more information, and get a little bit more back - but you have to keep on emailing back and forth and explicitly asking questions to squeeze out all the information you need to reproduce, diagnose, and hopefully fix the issue.
A very common problem I see in most companies I work with, is both a lack of internal developer documentation, and also a lack of appreciation for how important this really is. There seems to be this assumption that the developer who has all that undocumented knowledge in their head (yes, you know the person) will always be around. They'll never leave for another job, they'll never get run over by a bus, they will always be available. Okay, hopefully the bus thing will never happen, but you get the point! Even when the developer goes on holiday - their knowledge is not available until they get back.