How does one get experience writing production code, C++ in my case, when they have worked at companies that do not follow these types of practices? I have worked at startups, and larger companies with groups doing one-off projects, and have never had a chance to write proper libraries using design patterns, or building off of someone elses' work. In this case, it is hard to find colleagues who have knowledge regarding production code, or find examples existing in various repos of my companies.
Any suggestions for how to get better in this area? During interviews, I constantly get asked to implement relatively small libraries and use appropriate design patterns, but I fail to do so. I know for design patterns I can read GOF and other books that are out there, but are there any other suggestions that anyone can think of?