Advice to my fellow developers
If I would become a story-teller, I'll be telling other's stories. As a software developer, I can be a story with the products I develop.
I set the same goal every year: Learn something new.
Until this year I have focused solely on software — Objective C, Django, Web2py. This year, I chose to learn content marketing. Why content marketing?
I had two reasons:
From the early era of web, website owners have struggled with the challenge of keeping web-visitors engaged and an even bigger challenge of attracting them to visit again. Year after year, the answer for these challenges has been having interesting content on the site.
To sell anything on the web, you need to master content marketing. You have to write convincingly and authoritatively to direct the user to click that buy button or the subscribe button.
Having set the goal for the year, I plunged into action. I set a publishing calendar. I installed a minimal Wordpress theme and ton of plugins. I pushed two articles a week.
I read a lot; I subscribed to feeds of internet celebrities; I wrote everyday. On weekends, I wrote articles for the coming week. It was a rush that I enjoyed.
Only for a brief period.
After some time, I ran out of ideas. I didn't want to write item-articles, like '7 ways to be productive in your swimsuite' and 'I will teach you to be a millionaire, like nobody else', because my objective was not to trick visitor to click an ad; I wanted to improve my writing.
In fact, I tried writing item-articles. I hated the writing process. I hated the posts I wrote. And I hated those write them.
I was also hesitant to write opinionated articles. I feared that such articles will drive away even the small amount of visitors to my site.
Combine these two factors, my articles lacked depth.
I chugged along, hoping, somewhere in the distant future, my writing will improve. I only wished no one will notice until that time.
But somebody noticed.
One day in March, my mentor and friend, Sastry, called. He gets to the point without sugar-coatings. He has a knack to talk that will either force you to change your thinking or hate him. In the last 15 years that I know him, his talks have opened many new avenues for my career.
After customary pleasantries, he asked, "What are you doing with your blog?"
"I am learning story-telling" "Why?" "Because that's the basis for marketing. Isn't it?"
He went on to "advice" me that since my core competency is software development, I should pursue excellence in my core-competency rather than on ancillary skills. "Yes, you should always learn new domains and skills, but never at the expense of core-competency".
With the ever increasing noise from the internet, it is easy to mix ancillary skills with core-competency, like what I did.
This confusion isn't limited to software development.
Take for example photography. Everyone starting to learn photography goes through a never ending temptation to shift to photoshop. Since every raw-photo needs touch-up, novices quickly forget that photoshop can only accentuate a photograph, it can't replace the photograph.
Same goes for frames and painting.
If you want to be better than the average, you need to pursue excellence in what you do. Except for a handful, no one can be excellent in every field that they pursue (If you are reading this, you are not one of that handful). You focus on your core-competency and strive to be the best there. In ancillary areas, you develop enough understanding to seek help of specialists and appreciate their output.
After the conversation with my friend, I dropped the idea of chasing mastery on content-marketing and switched back to software development. I learnt nodejs, then sailsjs. To learn sailsjs, I developed thlt, a static blog engine. Coding was way more fun than staring at the blank screen squeezing my brain to stitch words for blog posts.
- Identify your core-competency, ancillary skills and hobbies. Don't ever, ever mix them;
- Pursue excellence in your core-competency. Pursue enough understanding in other ancillary domains so as to seek and appreciate other's work;
- Have a mentor, who will speak the truth to you even if you don't like it at that moment.
The most important lesson: If I would become a story-teller (aka content-marketer) I'll be telling other's stories. As a software developer, I can be a story with the products I develop. I will let someone else narrate my story better than I would ever do.