The answer to this is always an unpopular one, both because it's the obvious answer and because it's difficult to follow through on. But similar to anything in life, the best way (I use the term loosely) to improve anything is by putting the reps in and doing it alot. What would I consider alot? For me personally, I've coded every day for almost 20 years daily without a pause for some form of hours.
And no, it is not a fun wonderland of code. But that isn't the point. The point is to get really good at something to the point of mastery. But also be humble enough to know that the learning never stops and so the reps never stop either.
While my average used to be 8+ hours every single day, it's decreased now to a more manageable 2-3 hours of solid coding time, with a higher focus on architecture, maintenance and research on newer technologies.
If you would like a more 'tangible' answer though, then read on. As I don't want to just give out an answer that is vague and leads you nowhere.
By getting "better" at coding, most people I meet typically really want to get better at problem solving. They want to improve their ability to take a human language specification or problem, and to quickly turn it into functioning code in some language.
If you remember word problems from when you were in high school, it's essentially getting really good at word problems. Full transparency, I was terrible at word problems back then, and have only slightly improved since then.
And that goes back to the reps argument that I presented above. The best way to get better at word problems, is to do alot of them. But not just 1 type of problem. You want to tackle completely different situations each and every day. Because again, the goal here is to improve your problem-solving ability.
For the most part, I never really recommend just opening a code editor like VS Code and writing prompts for yourself. That isn't satisfying and will probably get old after about a day or so.
So instead, begin by having your own personal project, whether a portfolio or a blog or what have you, and start to improve it daily. Come up with a list of 5-10 things that you want to add to this project. There is your word problem, and the best part is that the code isn't going to waste. It's being used on a real-world problem and if popular enough others will get to benefit from it as well.
This blog is still my most advanced project to date, because it is my testing ground when I'm learning to implement something new. I might even incorporate both items mentioned above by building out the feature I want and then also writing a blog post side by side to show how you can do it.
To finalize, put the reps and the time in daily, incorporate your knowledge into a real-world problem and if you can, write an article about it for others out there looking to learn it as well.
Walter Guevara is a Computer Scientist, software engineer, startup founder and previous mentor for a coding bootcamp. He has been creating software for the past 20 years.
Last updated on:
Have a question on this article?
You can leave me a question on this particular article (or any other really).
Ask a question