Ask HN: Should I practice competitive programming and stop doing side projects
I am a junior undergrad studying CS at one of the top universities. I have co founded a company, participated in Google Summer of Code and done interesting projects (some of which even won prizes).
I applied to some companies like Dropbox, Google, Palantir and Facebook for a summer internship but got rejected from them at some stage in the interview process (even after reaching the host matching stage for Google). I see my friends who were able to get those internships inspite of having almost no software development experience just because they are good at competitive programming and wonder if this is all that companies care about? Should I stop building stuff and improve my competitive programming skills if I plan to get a job after graduating?
4 comments
[ 2.9 ms ] story [ 21.8 ms ] threadAssuming that your soft skills are up to task...
It really depends on how many side projects you already have, either open sourced on GitHub or tangibly published (such as iOS apps on the App Store, for example).
You're best served by having a balance of tools in your skill set. If you already have side projects that you're proud of, getting better at "competitive programming" (which is really just getting better at solving problems in certain domains quickly) will make you a better candidate overall.
Companies like Google want junior devs and interns to be problem solvers that they can mold into senior developers. That's what "competitive programming" tests for. However, if you have the soft skills and the pedigree of presentable projects to demonstrate, you can make it work.
Make yourself really good. Write code that amazes. Then you'll be able to control your destiny.
Getting a job / internship offer at those four companies is the exception, rather than the rule, so don't feel bad about getting unlucky this year. I squeaked by Facebook intern interviews, but was rejected from Dropbox, Google, and Palantir.
Better luck next year!
If you want more information on this topic, it is often discussed on Quora. Here are a few relevant posts:
* Why tech interviews are the way they are: http://www.quora.com/What-do-you-think-about-the-current-tec...
* Preparing for a coding interview: http://www.quora.com/How-do-I-prepare-for-a-software-enginee...
* Possible reasons for getting rejected after an interview: http://www.quora.com/What-are-possible-reasons-for-getting-r...