When I was first learning the ropes as a developer, I found myself in similar situations, and it was equally frustrating (for both myself and my coworkers). What changed was I learned how to separate myself from the code. Programming is a team sport. You&#x27;re all building a codebase together. And good code should be objectively good so it doesn&#x27;t matter who writes it. You&#x27;ll impart maximum value to your team once you learn how to cooperate. That&#x27;s step 1.<p>Step 2 is learning how to adopt an engineering mindset. Spend time in analysis and ask your coworkers for feedback on your approach. Critical thought should not change from person to person. If the engineer before you applied critical thought to her&#x2F;his code, then s&#x2F;he encountered the same problems and made the same decisions you would, if you also applied critical thought. So spending time reading code and understanding it is a huge time saver.<p>The critique of re-inventing the wheel isn&#x27;t &quot;hey you just made a wheel... we already have one of those&quot;. It&#x27;s &quot;hey you spent all your time thinking about wheels and working out all the details... we&#x27;ve <i>already done that thinking and here it is written down</i>. Save yourself some time and catch up to us. We did the heavy lifting for you.&quot;