It may seem like it, but no engineer writes &quot;right&quot; code on the first try. They get it working, then they iterate, cleaning it up to make it &quot;right&quot;.<p>Experience teaches us where to start, where to think ahead a little, and how to structure code such that it can be refactored in the future.<p>Writing code the &quot;right way&quot; means 1) getting something working 2)taking what you&#x27;ve learned and refactoring and&#x2F;or.<p>If you care about maintaining a chunk of code for 6 months, or a year, you&#x27;ll quickly learn to refactor. If you are prototyping, right likely isn&#x27;t a priority to begin with.