Published: July 22, 2018
When was the last time that you devoted a time to consistently hone your craft as a software developer?
To be honest i actually have a hard time for me to write blog post weekly cause i always was not really fond of writing ever since i was in my university days.
I thought of writing this blog post cause it had been nagging in my mind ever since i read on about deliberate practice after reading Grit by Angela Duckworth and listening on episode 169 for TalkPython podcast on "Becoming a Python content creator"
Funny thing that after writing almost 1 article since March this year. I believe i had gotten better in forming my habits to make me write better.
In fact when i first started to use pomodoro technique which has made me have a much better time at setting up the habit of me to constantly write a blog post almost weekly.
This has slowly lead me to constantly challenging myself to write longer forms of content or trying out new stuff as i grow.
For those who are a software developer, i think you might have the same problem as well to setup your habits to develop software or just learning new technologies.
For me due to the fact i am both a visual and auditory learner, i constantly set aside time daily.
While commuting between my work or during my free time for like 15 to 30 mins daily to read or learn things.
I'll always be listening to podcasts like Software Engineering Daily or watch Youtube videos from Coding Tech, Chris Hawkes or Jarvis Johnson or Engineers.SG.
if your a person that prefers to read books or articles instead of watching videos or listening to podcasts.
I know the pain of carrying a physical book around to catch some of your idle time to read your book
Fortunately there's a much easier way for you to lend books or read books without carrying a book around.
You can do your daily reading through the National Library's OverDrive app.
Which has a wide selection content on Software Development or Startups or Communication or other soft skills need for software developers which these books like Team Geek or Chaos Monkey.
Over the years the OverDrive app has been part of my goto resource for new books that i want to buy or get my hands on before getting it as part of my personal library.
Besides the ebooks or audio versions of the books, you could actually reserve books online and collect it directly from a library branch near you. Which cuts down on a lot of hassle in getting book onto your hand.
Focus on reading widely cause as a software developer, despite technology is bringing more changes to everyone's lives.
It's always better to understand the human aspect regarding on technology.
For example there is lot of concerns in ethics, business practices or philosophy aspect of our technology revolution from Universal Income to scandals like Cambridge Analytica.
Deliberate practice could come in the form of doing things. Like me writing a blog once every week to document the things i had learn.
Do remember that your blog post should add value to other software developers like you or me who are reading the blog article instead of boasting about how great you are yourself.
No one likes that and if you write in that kind of way, it might be a good journal but it will not be useful or valuable for other software developers, tech leads or recruiters.
If your not a writer it might be something like teaching to people of software development practices like TDD (Test Driven Development).
Take for a example last month, i picked up the skills over the weekends and developed curriculums for Alexa Skills in Python for workshop sessions during PyCon APAC.
Remember you can actually learn more and become better in it. Whenever you teach people in the knowledge and skills in your own niche.
If you want to raise your game and learn to perform better you can look at joining active interest groups on specific topics.
They usually conduct events or workshops on a consistent basis in either weekly or monthly during the evenings.
My suggestion for you would be going for a developer or tech specific community meetups.
Like for a example Junior Developer Singapore that provides platform for software developers who has just started out working in 1 or 2 years time,
If you don't have the time for meetups which is most of the time conducted during weekdays evening.
Why not take the initiative by asking a friend who are doing things that your planning to do for lunch or over coffee.
Besides the benefit of catching up with the person and develop deeper relationships with the person,
The other benefit is actually you get to learn from the person's past experiences and the latest trends in your industry.
Overall i can't emphasise enough that setting aside time for deliberate practice is actually quite important to allow for yourself to grow as a software developer in becoming better in your craft.
I do know that setting aside time for deliberate practices is really very hard from the start.
Therefore i would suggest that you start with a purpose in your mind.
On why would you want to set aside time for deliberate practice then after that.
Focus on starting just One thing that you could do immediate for a month.
Which makes it much easier for you branch out from there once your successful in it.
Never be greedy about starting multiple stuff at the same time cause your chances of successfully developing that habit will fail as you try to start multiple new habits.