For those who didn’t get the context of the headline, allow me to explain. Building apps for the Android platform is one thing; building the platform itself is another. Today’s Techie Tuesday possesses the rare skill of being able to do the latter. In his early twenties now, Hiemanshu Sharma’s knowledge about programming in general, outclasses many professionals with several years of experience.
He is currently one of the lead developers of the popular Android aftermarket ROM, LiquidSmooth, and has been a part of many prestigious open source projects in the past. (He was one of the key developers working on the Fedora project, when he was 18 years old.)
What is curious about this well and truly gifted programmer, is the fact that he doesn’t have a college degree. In my conversation with Hiemanshu, he revealed why and a lot more.
“It all started with reporting bugs”
For Hiemanshu, the best way to learn is to fix your own problems. He says, “I was exposed to computers at a very early age and I did my fair share of playing around with it, but I didn’t code seriously until I was 16 years old. It all started when I was using Fedora, I used to report many bugs and changes that I wanted on the platform. Slowly, I began fixing those problems myself, by learning, little by little. This was one of my first experiences with coding.” This simple thing, led Hiemanshu to becoming one of the key developers for the Fedora project.
His affair with mobility also started in a similar way. After coding for Nokia’s N900 and N950, he shifted to Android, which just extended his love for mobile technologies. “Custom ROMs have always been my thing. I can’t remember ever using a phone’s stock OS. Having said that, even custom ROMs have a problem. They either perform very well or they can be endlessly customized. You’d want both right? Unfortunately, there weren’t many ROMs at the time that did so.”
“LiquidSmooth was one of the best performing ROMs for the phone I had, and I suggested to the maker of the ROM to add some customization features on it. He was tight pressed for time and he asked me to do it. I gave it a shot. Luckily for me, I had worked with Fedora, and Android is built on the same Kernel. I did some asking around when I hit roadblocks and soon I was up and running with making custom ROMs.”
College dropout. So what?
Going by the skills that Hiemanshu has, it would be fair to say that he has an above average IQ level. And yet, he is a college dropout. Asking him about this would be treading on his personal space, but I asked him anyway. His answer was remarkable. He said, “To be honest, I got bored. College education is too general. You really don’t acquire in-depth knowledge in anything. Once you’re done with this course, you’re then put into 6 odd months of targeted training with the employer you’re with, so as to meet their standards.”
“If 6 months of targeted training can make you industry ready, imagine what 4 years of the same can do? There is really a lot more to learn, when you’re on your own, trying to fix a problem. That’s what worked for me. I’ve seen academic toppers know nothing about anything and I’ve seen dropouts do wonders as well. So it’s really not a big deal.”
Advice to software engineers in India
Hiemanshu believes that Indian coders are very materialistic. He says, “I think Indian coders need to understand that it is OK to work for free. The knowledge that you can gain by working on something will almost always outweigh the money that the job can give you. I’m a software developer at innominds technologies, but I still maintain the ROM and port applications to Android for free. I really learn a lot.”
Hiemanshu concluded our conversations with 3 pieces of advice for budding software developers –
1) Always do what you love. If you write the best piece of code in the world and you don’t love it, then it means nothing.
2) Never be afraid to ask someone for help, but also never be afraid to solve the problem yourself.
3) It’s never too late to start. The only thing stopping you from learning something new is yourself.
Hiemanshu Tweet’s @hiemanshu.