How to learn faster at your own pace as a Software Developer
I've shared earlier in my blog, What's lacking in my software development career, wherein I've stated ways to improve ourselves better as a Software Developer and how to avoid pitfalls such as hitting plateau in our career.
I've learned what are the things which hinders me to utilize my career as a Software Developer and grow further. This will cause a plateau if we won't think of a way to grow and learn new stuffs. Because Software Development rapidly change throughout the years as we speak. And if we don't learn new things, we will be falling behind.
Although, I'm not encouraging everyone to learn each time new technology arises in the market, it's important to learn new things once in a while.
So, in this ever-changing technology you might ask, how could we cope up to learn all those new things or at least learn some important stuff to hone our skills and be productive in the workplace while we're balancing our life?
Below are some of the things I practice in everyday to learn faster than anyone at my own pace:
1. Be passionate
If there’s one thing you needed to learn, it’s this one. Being passionate in what you do is very important to your success. Without passion, all the other advises I’m about to give you will be for nothing. It won’t work if you don’t love what you do.
So, Love. Your. Work.
2. Look for a company which is in line with Software Development
In the first company where I'm employed, I rarely had much opportunity to hone my skills. Almost no one had any idea with software development or any latest trends and technology we're gonna use for software development. That's because it's not a software industry, so I'm just an administrator. So what I did was to resign from that company after 2 years, then look for a company which is making software or handling Software Development. What I did to supplement my learning in software development is to learn at my own pace during working hours.
In the second company where I'm employed, things are starting to change for the better since it was a startup company and they're using up-to-date technologies in Microsoft. And it was a Microsoft Bizspark partner where all software related to Microsoft are used for FREE for small businesses! So I had a chance to learn as much as I can and as fast as possible.
Not only working in a Software Industry will give you a whole overview of what software development is like. But it will also give you an idea or a hint in areas you are lacking. That way you can improve yourself during non-working hours if you like and you’re passionate to do it.
3. Find a master or a boss who allows you to grow
As for the boss, I prefer he has a background as a Software Developer. But more importantly, he allows you to grow and direct you as much as possible without hindering your potential skills. Sometimes, folks from startups can help you grow, as fast as you want.
Our boss often has more experience than we do. He already know the ins and outs in our career. I still remember my last boss was a previously employed as a Software Engineer at Microsoft till he made his own tech startup company which focuses on Enterprise and startup ideas like telemedicine.
Given this one, why not learn as much as you can from them and use it to learn 10x faster based from their successes and mistakes. There's an old saying that, "The fools learn from their experiences, but the wise learn from history".
4. Read books
I think I've mentioned this a couple of times in my blog, but I find reading books to be one of the huge factors in learning faster at your own pace. I prefer you read self-help books, books which has a direct impact on yourself, books about productivity and books about software development with techniques so that you could learn much faster.
More often, just like our bosses experience has lots of things we could learn upon, books on the other hand also serves as a reflection from the authors who already experienced the same journey you are embarking right now. So I think it's much as important that you will be able to learn some stuffs from them.
5. Join hackathons
I started joining hackathons last year organized by Angelhack because one of my friends dragged me in the competition. I was also a little bit curious with the competition itself since I have this inner urge to join one someday. I already am aware of the mechanics of hackathons - you think of an idea, plan it out, and code it within 24 hours.
But the problem is, I'm not confident to join in these kind of events at the time till I was dragged into joining. I thought that if I joined this kind of competition, I must have some kind of genius that I can present everything perfectly and finish my app on time.
Surprisingly, that's not mostly the case. Hackathons are just like what I called the "passion event" wherein you are not required to finish the app you're building but as long as you present the idea pretty well in front of the investors/judges, you're one of the candidates that might win the big pie. AND most importantly you enjoy and passionate about programming, and that's how you win the competition.
It was a life-changing experience believe me. If you're passionate in your career as a software developer and may want to excel faster in just a short span of time, join hackathons. Learn as much as you can with other candidates. Make connections. That's how you supplement your learning further in a faster pace.
6. Solve an algorithm online
There are tons of it. The internet is booming with lots of things nowadays, enough to call it the Internet of Things.
7. Do some self-research or create open-source projects
Brainstorm an idea or make your passion projects and do some research on some technologies which might pique your interests.
Or you might want to create an open-source projects that everyone can participate and see. Or better yet, participate in existing open-source projects.
I'm considering joining the Entity Framework core project at some point if I'm not busy. But at this rate I'm pretty much busy in thinking all kinds of stuff.
8. Always think you have no time to waste, always think it's your last day
Lastly, this is an important part to implant in your thoughts. Like what Steve Jobs think of his life as his last day, you should too to motivate yourself.
You wanted to become a rockstar developer before you leave this world? This is your last chance to show to them how rockstar you are.
Motivated now? I think you are! So stop slacking off and do your work!