Monday, November 10, 2014

[-6 to #TCO14] - TCO14 Rockstars: pt 1

6 Days to Top Coder Open and 6 blog post for each day!
The following is a blog post I wrote for the Top Code Open 2014 blog. Enjoy!

I was a rockstar at Cloudspokes (in the sense that I won almost every challenge I participated in), so it's been really painful since the Cloudspokes and topcoder communities join together....I felt like I was not that special anymore!

And I have to secretly admit that I feared mostly 2 handles: albertwang and Sky_.

You may ask (I hope you'll it for my interview) "Why?"

The reason is simple:
  1. Can you figure out who won the first contest I entered in topcoder (and the first I lost)? Sky_
  2. Can you figure out who won the last challenge I lost the last month (even with a good 90% score)? Albertwang
  3. In both cases they both get an impressive 100% score!
And seeing both of them as winners of Design and Developer tracks made me feel a little mouse in front of big tigers but also gave me relief about my past losses!

That's why I decided to get a chance to say a word or two to Albertwang, one of topcoder greatest rockstars!

So the first question is: how do you get those incredible scores? Magic? Super powers? You sold your soul to the devil? And if it is not magic (I really hope it is), how long you've been practicing programming? How your love for programming began? Excluding your family time, which is the % of time you dedicate to coding (reading, thinking and speaking included)? Is it enough or you would like more?

I'd attribute my achievements to commitment, hardworking and passion to learn new technologies.

I have been primarily focused on software architecture challenges, and for each project I usually spend a lot of time thinking and trying out various design ideas to approach the problem, and revise the designs in iterations. I'm particularly excited about projects involving emerging technologies/ideas or something I'm not familiar with, although usually they take much more time and effort to finish - I think curiosity and eagerness to learn new stuff keep me productive.

Which aspects of programming / designing software do you like more? Which of them helps you in the "common" life? If you had to convince me to start learning programming what would be your arguments? Technically speaking, which platform would you suggest me if I were a noob (or "noober")? Or which aspect of programming do you suggest to improve?

I put elegance in an important position when either coding or designing a software system, and that's probably the most enjoyable aspect for me in technical sense. Also making something useful, cool and awesome is always exciting and interesting to me, and coding an app is the easiest way for me to do so. I'm fascinated by the endless possibilities and innovations in mobile and wearables, that's my current adventure and I'd definitely suggest to others.

Do you have a contest in your topcoder career that you love particularly? E.g. You learned something new? You got a really huge price? You felt like the best requirements in the world? You found your solution really elegant and effective? you particularly enjoyed coding? all of them?

NASA - ISS Food Intake Tracker iPad App is my favorite in terms of genre, knowing that the app will be used by astronauts on daily basis at the International Space Station :)

The most challenging and interesting one is the Healthcare Fraud Prevention series (Java and Python), which aims to develop a full set of secure and efficient data exchange protocol for healthcare service providers, and implement a scalable data exchange network infrastructure. It involved many technologies and presented quite a lot tough technical problems. I spent more than 100 hours and dropped three different failed attempts, yet I truly enjoyed the experience, I really liked the solution I proposed and I had great sense of achievement :)

How did you get to topcoder's community? In which ways it has changed (and is changing) your life (at least the professional one)?

I started my topcoder adventure a decade ago, when I was in college. I'd say topcoder changed my life significantly, it opens great flexibility for my work and life, I have learned so much from the challenges and from the community.

I wanted to finish my interview with a "Will you be the next TCO15 winner?" but I got this answer back:

Well, since there won't be software design track in the next TCO15, I could be the last TCO Software Design champion, and I probably won't be at the next TCO finals at all. It's really a shame that software design tracks are underrated these days.

All I can say is: Dear albertwang, there couldn't be a TCO15 Design track next year but you certainly have the skills to win other tracks as well, so just move on and rock!