Resources to become more familiar with CS aspects of programming, optimization

1 points by devs1010 ↗ HN
I'd like to keep my career moving more towards working with bigger applications that are highly scalable. I'm considering a move back to the SF Bay Area (aka Silicon Valley), where I'm originally from but have not really worked as a developer professionally other than freelance type of projects when I was just starting out and from what I have discerned, they are big on knowing data structures really well, Big O, good algorithm knowledge, etc. So far, I've honed my skills with smaller companies that probably aren't scaling to the degree that companies I may want to work for there are and therefore the bar has been lower for me so far.

For example, at my current company, its not uncommon to find code where method calls are made within a loop to where the data its retrieving never changes (so its being called n number of times when it only needs to be called 1 time), so obviously the bar's pretty low and I have a feeling that doing something like that in a larger application would be pretty damaging (just kind of going off on a tangent here but basically the bar is pretty low where I am not so I'm not really being pushed to learn a lot about optimization). Anyways, am wondering if anyone has any recommendations for good resources (books would be good) on learning some of the things I may have missed / glossed over so far in my career to better prepare myself to be the type of developer that a company in Silicon Valley would want working on their server-side code.

From what I understand topics like optimizing algorithms and Big O notation are big interview topics (and topics beyond the interview obviously, when doing the actual work). I'd like to find a book, for example, that is thorough enough to where I learn all the basics but not too hard to dive into and keep things interesting. Any advice is appreciated

2 comments

[ 2.8 ms ] story [ 12.7 ms ] thread
I would recommend taking free online CS courses from good universities; Stanford has couple of good intro classes for CS. Anycase, I would recommend focusing on Algorithms, Data Structures and Parallel Computing. http://see.stanford.edu/see/courses.aspx
Thanks, yeah I am taking some classes but they are a bit more basic than the ones you suggested, I didn't know they had free online classes from Stanford, wow thats actually really cool, I will check into it