Employment opportunities in USA are at a record low in a quarter of a century and a lot of unemployed workers are trying to shift or change careers into fields with existing jobs. Unfortunately, almost everybody is trying the same strategy, so most fields that have jobs available are going to stagnate soon. The advantage will go to those who act the fastest and appear to offer the most employable skills.
For software developers, that might mean learning a new language or software design methodology that they can successfully deal with in interviews. Reading a book is only a passive learning methodology, and works only if you have an immediate problem to apply the knowledge to. That’s where TopCoder can be immensely useful.
I came across TopCoder today while looking at an opening for Embedded Software Developer position at Google. I’m trying to move on from mostly contracting jobs to a full time position, and the pickings have been slim. So, as per Google’s suggestion, I decided to take a look at TopCoder. I feel I am a pretty good programmer – I have successfully completed every project I’ve undertaken whether in the industry or in academia. But the Algorithm challenges at TopCoder are definitely engendering some misgivings. The issue isn’t that I can’t solve the problems – I certainly have been able to successfully solve the 5 problems I’ve tackled. But I’m solving these problems in a ‘Practice Room’ and taking something of the order of 1-2 hrs to write and validate the code. Apparently, during competitions, individuals have successfully solved 3 problems within a span of 75 mins. The 3 problems are of increasing difficulty, with the most difficult problem being an order (or two) of magnitude more complex than the simplest.
So, here is my advice to anyone looking to improve their programming skills to fit the current market – pick a programming language in demand, and start solving practice problems on TopCoder. A tutorial on getting up-and-running on TopCoder is now available in another post.
Google Hiring Process
Google Interview Preparation Tips