1. Start Coding

First thing is first. To get better, you need to fail often and early. To fail, you need to get your hands dirty. If you think that you are still incompetent, begin writing code now. The brain is just like your muscles. You want to get bigger muscles; you must work out. It’s that simple. As you code more, you will gain experience in abstract thinking, problem-solving, and debugging skills. You will also get faster.

2. Read Blogs and Books

People in software development industry are very generous in sharing their experiences. Read other people’s blogs and read product blogs. There is extensive knowledge shared in blogs. People tend to write their challenges and how they overcame the challenges. It is a great chance to get the same the experience without spending hours or days by just a reading a blog post.

Books are one of the most valuable learning resources in software programming. Books are usually better organized than blog posts. If you follow a well-written programming book throughout, it is a great resource to gain expertise in a certain topic.

3. Write Blogs

Not just for giving back to the community, sharing what we know and what we can teach to the others is also very important. Writing a blog post refines your knowledge about the topic you write. Writing will help you both improve your technical skills and your personal brand.

4. Watch Videos

If you are new to a programming language or a framework, video materials are great ways of learning. There are tons of internet sites which provide quality video content. Some of them even contain hands-on-labs to practice. It does not matter if you are a novice or an advanced programmer, you can always find new stuff to learn in online courses and videos.

5. Read Other People’s Code

When I compare the top developers and the mediocre ones I know, the main difference is the top developers read other’s code. If you are using an open source framework, start reading its source code. You will better understand the problems you encounter, and you will learn how to organize your code better.

6. Subscribe Newsletters

Subscribing newsletters is a great way to stay updated. There are many great newsletter publishers on the internet. Those newsletters may contain the latest news about programming languages, libraries, frameworks, and recent blog posts.

7. Use Social Media Wisely

Social media is not just meant to share what you eat, what wear or where you have been. It can be much more beneficial. You can follow top influencers, top authors, or top contributors. They share the latest news and some information about their recent work. Social media might become the right tool to access the most valuable knowledge.

8. Learn to Test Your Code

When you begin learning a new framework or a library, I suggest learning the testing framework at the same time. Writing tests requires writing testable code. Testable code is more modular and loosely coupled thus more maintainable. Writing tests also decrease the technical debt and save you time from maintenance and debugging.

9. Improve Your Communication Skills

Communication is an essential part of our daily job. It doesn’t matter you are a great developer unless you can explain simple things to your team mates. You can’t solve complex problems if you don’t understand them well.

10. Help Others

Software development communities are usually friendly to answer questions. There are tens of thousands of developers get stuck and asking help out there. You can also get stuck and ask questions. When you start answering questions as well, you will start growing. Helping people in StackOverflow or community forums is a good practice.