My suggestion is:<p>1. Let go of your frustration for now, a company is an incredibly complex machine and you need to invest more than 6 months learning how it works before people take your criticism seriously (I know this can be hard). Also, some people like to &#x27;grill&#x27; the newbie as a right of passage, you may be experiencing this.<p>2. Acknowledge that code-reuse is awesome. It&#x27;s great that there&#x27;s reusable functionality, part of your job is memorizing the handy tools at a company and if they&#x27;re good enough, rebuilding those tools later at your next job.<p>3. It sounds like you&#x27;re frustrated that you don&#x27;t find out about existing libraries&#x2F;functions&#x2F;classes&#x2F;tools until your code review. That seems like a reasonable concern. Maybe next time you have a project come up with a rough plan and ask a senior developer for architecture-level feedback before you start coding.<p>4. Don&#x27;t feel bad. You don&#x27;t need to be a hero or change the world. If you mimic the senior engineers and try to fit in that&#x27;ll go further than studying engineering theory, writing perfect code, or documenting the codebase. Once you&#x27;re accepted into the group they&#x27;ll be much more receptive to your ideas on how fix things.