What is the most important thing you've done to improve your programming abilities?

The internet is full of resources about programing: blog posts, podcasts, interactive courses, and challenges. I’m always interested in hearing about what’s worked for others. What have you done to help improve your programing abilities, and what would recomend to others looking to improve?

For myself, I’ve always found that I learn best by just jumping into the source, looking at how others structure their projects, and approach different problems in practice. Contributing to open source has been a great entry point for doing that.

Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Looking at other’s code is a fantastic way to learn new things. I’ve picked up so much purely by being curious enough to examine how someone else’s code works and then applying that knowledge in the future.

Get your teeth into as much code as you can and don’t be afraid to push yourself either. Knowing you have no choice but to come up with the solution to a problem that you’ve never encountered before is excellent motivation to learn something new!

Teaching others has always been the best way for me to learn things in a meaningful way. I need to really understand the algorithms that are underlying code in order to be able to successfully relay programming concepts to someone else. Teaching happens in a lot of informal ways and can be part of a collaborative project with all team members teaching and learning together.

I think if I were to try to single out one particular pattern to ascribe my skill progression and career development (such as it is) to, it would simply be saying “yes” to new things.

New languages. New platforms. New frameworks. New environments. With every new project or job that I have taken on and been responsible for, there’s been this necessary learning. Over the years that accumulates and now here I am with a lot of really varied experience and having been exposed to lots of techniques and stacks and tools.

If you want to improve and grow…just do things. When given opportunities, take them.

Say, “yes!”.