Originally published on the App Dynamics engineering blog.
As the world becomes more connected and technology continues to evolve, your success as a programmer depends on your ability to learn and adapt. Any seasoned developer knows you should always be looking for ways to improve your programming skills. On that note, whether you’re new to the industry, or a vet, we have you covered with timeless techniques for continuous improvement.
1. Know your learning style
We all learn differently. Some learn best by reading a book. Some prefer hands-on experience, or need the structure provided by a formal course. Fortunately, there are plenty of free or low-cost learning resources only a quick search away so you don’t have to waste your time on methods that don’t suit you. Whether you. Here are a few great sites to get you started.
- Code School
- Safari Books Online
- Free programming books
2. Learn from others
One of the fastest ways to improve your skillset is to leverage the knowledge and experience of people who entered the field before you. While a formal mentor is a great asset, it’s not required. Seek out expert help from sources like your team lead, members of your local user group, or Stack Overflow. Show your code and ask for feedback. And don’t let fear of criticism or feeling like you’re bothering people prevent you from tapping into one of the most powerful resources available for leveling up your skillset. You’ll be surprised at how eager to help many people are to help. It’s flattering to be asked to share expertise.
3. Use the 15-minute rule
If you’ve been stuck on a problem for more than 15 minutes, ask for help! Turn around and ask a coworker how they would solve the problem, or describe your issue in detail on Stack Overflow. Regardless of whom you ask, the very act of describing your problem in detail puts you on the path toward the solution. Most problems are not unprecedented, and someone will be glad to share their experience or to team up on the issue.
4. Work on real projects
The surefire way to improve? Practice and challenging yourself. This means you should always be working on a coding project. Even if you have a full-time programming job, the work may not be challenging enough to build your skills—so find something that will. Some of the best developers always have a side project to work on. Not having an idea is not an excuse. Find an open source project to contribute to regularly, build web apps for charity, or tackle that silly app idea your buddy keeps pitching to you.
5. Look under the hood
Most programmers rely heavily on frameworks such as Spring, Rails, or Angular to get the job done. While these frameworks promote productivity, they are also a treasure trove of examples and inspiration you can apply to your own solutions. Check out their source code and study it. At first you may feel lost, but over time you will learn to navigate large codebases, identify design patterns, and quickly understand code.
6. Share what you learn
As the old saying goes, the best way to learn is by teaching. When you learn something new, don’t keep it to yourself. Share your new skill or finding in a blog post, record a screencast of yourself building a new feature, package your code into a library and put it on GitHub, or present new discoveries at a local meetup. Not only does sharing reinforce what you learn, but it demonstrates your skills to future employers and clients. It makes you feel good, too!
7. Make small, daily improvements
No one masters programming overnight. It takes consistent, deliberate practice. Take a few minutes to slow down, and make one small improvement every day. It could be learning a new language feature, reading a page out of the manual, or changing your editor configuration to add a shortcut for a common task. When compounded over time, these small, daily improvements add up to major breakthroughs.
Take a timeout every week to explore new languages, technologies, and outside forces that shape our world. Knowledge and skills don’t exist in a vacuum. Find two to three sources of new information to regularly tap into for inspiration. Follow coders you admire on Twitter. Browse Hacker News daily or weekly. Subscribe to newsletters like the Changelog Weekly.
There are no secrets to becoming a better programmer. It takes patience, practice, and perseverance. Stay curious, make it fun, and never be too proud to ask for help. The reward is in the journey and enjoying each stop along the way. Happy coding!