Recommendations for getting to senior level with algorithms and system design

Posted by gnome_of_the_damned@reddit | ExperiencedDevs | View on Reddit | 17 comments

Hey all, I've got 10+ years experience as a web developer but took a bit of a non-traditional path. Based on my experience and some interviews I did recently I think that I have some gaps I would like to work on filling more formally to become a more fully fledged senior dev. If it helps I have a specialty in ruby on rails. Areas I'd like to work on are:

* Design patterns

* Algorithms

* System design particularly with scaling in mind

Any books or courses to get a structured approach to deep diving into these topics?

Basically I have a job I like, real world experience and practical skills, but I feel like I could be stronger in some of these areas that most people have a full computer science degree for. I would like to be better at knowing the official names for some of the concepts that I use on a day to day basis. And I want to take my time to get a deeper understanding and not just a quick overview - this is more of a long term self improvement plan. Thanks!