Your Code is (Probably) Good Enough
As a junior developer we strive to learn everything we can to write beautiful, functional code. We overcome our lack of knowledge by proving we can write things faster, more terse, and better formatted.
Then you get to a point where you are responsible for shipping a product and you start pushing code that is a little less optimized, a little more verbose, and a little bit messy.
In the end your code is, probably, good enough. Here’s why:
Code organization can always be improved.
Recognize that code can always be better organized. Any code, once written, is obsolete. Somewhere someone has come up with a better way to organize a codebase that makes yours look messy.
And that’s okay.
Readability is more important than optimized, most of the time.
We write code to tell computers what to do, sort of. At this point we work in such abstractions that we really write code for other developers, and our future selves, to describe what our program does.
Save the optimization for the areas of the application that really need it. A majority of features developed are not used enough to make a difference.
And that’s okay.
Accepting code debt is key to shipping.
As you write code you will be actively generating code debt. Inevitably when you come up for air after your first pass you will have a list of ways to improve what you just wrote.
Make the list. Tackle truly breaking edge cases. Then move on. Ship it.
Odds are you will be revisiting that area soon to adjust functionality, and you can tackle a few of the code debt items from your list then.
And that’s okay too.