2 ms·
If you wanted to be a master musician you would need to at the very least: try every different kind of instrument (reed, percussion, string, horn/tube, wine gla
by sova 8y ago
If you wanted to be a master musician you would need to at the very least: try every different kind of instrument (reed, percussion, string, horn/tube, wine glass w/ water). Then you would need to focus on one until you got proficient at it. Then you would move to the next one, until you have 30% proficiency at each one. Then you need to read more theory to understand chords and intervals, phrasing, and tempo. Then, you revisit all the instruments again with your new theory.
In CS, it's similar. All the different instruments are the different kinds of languages. There is LISP-like Clojure (and others), there is Javascript (functional with declarative), there is imperative programming, assembly programming, and interface/event programming. Hard to split it into the analogous flavors to music, but maybe you can follow. Lisps work fundamentally differently than something like Python or C++. So learn one language in each of the different classes of languages, first to expand your mind to what is possible with the instruments.
Then, you must learn the theory. You must learn everything regarding graph traversal, manipulation, and big-O notation.
You also need a really strong understanding of what solutions are common for real-world problems. Get a coding book like Cracking the Coding Interview Gayle McDowell. You also need small, incrementally ambitious projects that you can put online to showcase your abilities. Then probably a gig as a software intern to get "corporate experience" and then once you are pretty savvy with the general coding interview questions, apply to your dream job and tell them how excited you are to tackle all these problems. Did I miss anything?