Wednesday, July 30, 2014

Which Coding to Learn?

I have watched several Google Hangouts On Air with Google software engineers, designers, and interviewers. They all say the same thing: we want people who can learn. Technology is always changing (obviously, so what's your point?) Well, that makes learning a specific technology early on is useless. It's going to be outdated sometime in the future.

Instead, take the language that you know best(Python, Java, or JavaScript are a good place to start) and solve logic-based problems. Sites like Coding Bat , Top Coder , and CoderByte all offer many interactive puzzles for you to solve. This teaches you how to take an ambiguous situation and solve it. Hey, that's the whole idea behind coding anyway! The trick is to practice many, many of these challenges so that you can do them quickly and without mistakes.

Over time, you will develop the skills to take almost any problems thrown at you and find a solution effectively. What's really cool is that these skills are universal across languages. Syntax is relatively similar from language to language, so you should have little trouble adapting to new keywords and programming idioms. Plus, syntax is teachable; it can be explained to anyone who isn't a total beginner, whereas problem-solving skills can only be sharpened by the blade of extensive practice.

Learning coding can be compared to slaying a dragon. You can fiddle around with different swords and axes (programming languages), but at some point, you are going to have to slay all kinds of dragons(real-world problems) and the only way to do it is to know HOW to slay the dragons.(problem-solving skills).

1 comment: