A collection of my solutions for the month-long 2019 Advent of Code coding challenge.
I'll be commiting both my unedited "this is what got me a star the fastest" solutions, as well as more refined solutions once I catch my breath.
Like most developers, I've struggled with imposter syndrome in the past (and still do occasionally.) Coding challenges like AoC can be especially terrifying because there are bound to be countless people producing better, more optimized solutions quicker than you. It is, after all, a challenge and nobody wants to look bad.
I think it's important to recognize that it's ok not to have a perfect solution, especially on the first pass. An unoptimized pile of spaghetti that gets the job done is a success. It has solved the business problem or, in this case, coding challenge.
What matters is the ability to recognize areas of weakness or problematic code and continue to iterate on it, always learning and optimizing.
To that end, I have two requests;
For the developers that are infinitely more skilled than I: learn how to teach effectively, and always be teaching. Don't just show your [teammate, classmate, internet stranger] the solution, teach them how you recognized what was wrong and how you came to the solution so the next time they encounter a code smell they can reason about the issue effectively. As the saying goes, "give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for a lifetime."
This applies to my repo as well -- If you see something that could be refined, open an issue and let's talk about it!
For new developers: Solve business problems. At the end of the day, that's what really matters. Continue to learn, surround yourself with people who want to build you up, and stop worrying about looking bad. Help the millon developers less experienced than you, and learn from the million with more experience than you.