Hey,
I have a growing interest in distributing systems but I am also very interested in programming language theory. I know that I want to become a software engineer but I also like to dabble with research papers.
This summer I'll join the Infrastructure team of a mid-sized startup in Waterloo, I think that's a good start but I would like to know more about your experience. What do you found the most effective way to turn an "interest" into a subject you are expert in (read able to create new and non-trivial things). I want to get my hands dirty but I am also a bit clueless as to where to start!
I have just started college but I feel that I need to figure out a (even very rough/broad) strategy to structure my learning. Waterloo is a great school but the meaty CS electives are reserved for 3rd/4th year student and I feel that I can work by myself until I reach this academic level.
Distributed systems is a very broad field, do you think that I should start by the fundamentals and then pick-up a niche area to grow in or would you rather have a broad approach, experience different things and specialize after graduation?
It would be really cool if you could shoot me an email: aaron_at_rely_dot_io
Thank you :))