Introduction
Programming is an endeavor in which you get better with time. It is not an art, nor a talent with which you need to be born with.
It is a matter of being dedicated towards your practice and keep following some basic principles.
This article discusses some, often overlooked, ways to get better in your programming journey.
1. Exercise
Sharp mind resides in a healthy body. You will need your full focus and alertness while coding. Therefore plan for a 30 min exercise everyday.
Physical activity is necessary for increased blood flow in our body. Every cell in our body benefits from nice rich oxygen rich blood and there is no better way of doing that than to make your heart pump faster.
Also, endorphins released during exercise make our mood happy and enables us to solve complex problems faster.
Therefore, exercise first thing in the day.
2. Code everyday
No matter how short but be consistent with your coding practice. 3 hours of coding per day is ideal but any amount of time even as short as 5 mins is essential
“Practice makes a man/woman perfect” – This adage is highly relevant when it comes to a craft where you need to deal with lots of new challenges which seem like a puzzle. The more pieces you see fitting in different ways the better you get at solving different puzzles.
Make it a daily practice, a discipline, a routine – whatever you want to call it. Ensure you have at least 3 hours of coding work each day. Block out your calendar if you work in an office where meetings for even small things are prevalent. Talk to your manager about your endeavor and request 2-3 hours of “Do not disturb” time.
3. Create something useful
Coding just for solving Leetcode or other code problems is fun but real fun and satisfaction comes when you build something useful for yourself and others.
Don’t worry if the idea you are working on is already created. You can bring your own spin to the mix and create a better variation
If you are working as a developer, you will definitely have something to code each day. But if you are not at such a job, nor you have any idea to develop, and you want to get better at programming, you can always find an open source repo to contribute to in your favorite language.
4. Read Books
Whenever you are learning something new, it is second nature for us to google and land on a youtube video or a blog article. But I prefer, to learn from the very basics for the concept I want to understand. For this I find reading from tech books the best way to lay the correct foundation and prevent developing any bad habits during the learning phase.
OreillyBooks is my favorite site to read tech books. Although a bit pricey but highly useful and worth the money I spend on the yearly subscription.
Researching online blog articles and video for resolving errors is fine but understanding concepts works best with books, at least for me. Some of you might think videos are best. All the power to you. Whatever works for you!
5. Try to use cloud services
More and more technology products rely on cloud services for something or the other or completely. Therefore, in order to make yourself relevant in the present age do spend time learning cloud technologies, especially developing your solution with scale in mind.
If you do that you will automatically think about distributed computing and micro-services which heavily utilize cloud services. And all the major cloud providers have similar offerings albeit with some fancy names, so you can pick any one.
Do explore this area to be a Rockstar developer
6. Learn a new language
Another way to kickstart your improvement journey, if you are stuck in a rut is to start with a new programming language. Choose something which is completely different from what you already know. If you are a backend developer try learning something from the front end stack. Needless to say Javascript is the hottest language of this decade – Learn it 🙂
Personally, I keep on trying my hand on all latest technologies like Blockchain, IoT, ML etc. Doing this introduces me to new languages and platforms. Once you have identified the area of your interest just dive in from the basics (the first principles as Mr Musk says :)).
7. Learn from the best
Lastly, I would highly recommend to learn from the people who you think are the best in field. Listen to talks from people like Jeff Dean, Ian Goodfellow, Joshua Benjio and any other heroes in your eyes.
Personally, I like to listen to my past recorded lectures from my favorite Uchicago Professor Dr. Yuri. I wish pandemic ends and in person conferences and lectures start again (pandemic please go away!)
Alternatively, you can look at popular open source libraries and try to understand why the developers implemented this solution in this way. This is the fastest way to improve your programming skills.
Conclusion
As you can see in this article all the suggestions were different from what you would have previously heard about like learn Data Structure, Algorithms, practice leetcode etc. I would say all these are important but the 7 suggestions above will make you the A player in any team.
So all the power to you. Be the best and Take on the world!
Catch you in next post.