You're never "done" learning to code. There will always be new tools/languages/frameworks coming out, and even within a certain area, there's a million ways to solve a given problem. This is one of the coolest aspects of development if you ask me: there's always room to improve and do better. Especially if you're early in your coding journey, realizing and embracing this nature is a big step towards becoming a better developer.
But how do you learn what tool is best suited for a particular job? How do you know if your way of solving a problem is the best one? And how do you even know of all the other possibilities when you're just trying to get something working?
The answer is actually quite simple: Actively asking for feedback.
The best way to learn is from people smarter than you, or people with different opinions than you. That's how you expand your horizon and improve your own skills. A concrete example of asking for feedback is through pull requests. Before merging your code, ask someone else to look it over. They'll likely catch things you didn't think of, and by actively asking them for feedback, you'll get a completely fresh perspective. Maybe there's an entirely different and more elegant approach that never would've crossed your mind?
You can also ask social communities like on Twitter, Discord or StackOverflow to simply comment on your code. Many people will be happy to provide their opinion (sometimes a bit harshly, but that's part of the game...). They aren't trying to attack you personally, so try not to get offended. Even if someone points out flaws in your code or suggests entirely different approaches that are much better than yours, just see it as a learning opportunity.
But asking for feedback doesn't just pertain to code. It can be literally anything that helps you in your career. Let me give you an example:
A few years back I applied for a job as a "Creative front-end developer". I had two interviews with the company, including a coding test. The test involved me building a small webapp, and the spec was purposefully vague and up to interpretation.
I did my best and was pretty happy with the result. It solved the given problems, but some days later I got an email from the company: they chose not to move forward with me.
At first I got a bit upset. I thought the interviews and test had gone well, and I was really excited to work there. But instead of just taking no for an answer and moving on with my life, I wrote an email back asking them what I could have done better.
Now keep in mind, not all companies will respond to request like this, but this one did. They told me they really liked my personality and skills, but that I was lacking some of the creativity and "out-of-the-box" thinking they were specifically looking for in this position.
This was amazing feedback. I could see exactly where they were coming from, got reassurance that it wasn't my skills or person they didn't fancy, and got actionable advice to use for my next job application. I really took this to heart.
A few months later, I was applying for a similar position at a different company. Again I got to the coding test, but this time I went above and beyond to add my own creative spin on the problem. I focused on details like animations, interaction design and even added a nice splash of confetti when a user successfully completed a task on the website.
As you can probably guess, I got offered the job - and they explicitly mentioned my attention to detail and creative additions as part of the reason (among my awesome personality, of course).
Moral of the story: Asking for feedback (on job rejections, code quality, problem solving etc.), is the easiest way to improve yourself and advance not only your skills, but especially your career.
Give it a shot. You got nothing to lose.
I'm Mads Brodt — a developer, author, teacher, creator and blogger. To keep up with all of my writing, follow me on Twitter or sign up with your email above 👆