I am starting with distributed system design and got this piece of advice from a Microsoft engineer that this should be my first step into distributed systems.
The original link was a broken link that would redirect to a Patreon page. This seems to be the original, based on the metadevelopment.io link at the bottom.
- :book: [Introduction to Algorithms](https://www.goodreads.com/book/show/108986.Introduction_to_Algorithms?from_search=true&from_srp=true&qid=8mUglV9uZ1&rank=1)
- :scroll: [Designs, Lessons and Advice from Building Large Distributed Systems](https://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
- :scroll: [Time, Clocks and the Ordering of Events in a Distributed System](https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Flamport%2Fpubs%2Ftime-clocks.pdf)
@ -82,7 +87,7 @@ But knowing the stuff will help you become better! :muscle:*
- :page_facing_up: [Cryptographic Right Answers](https://gist.github.com/tqbf/be58d2d39690c3b366ad)
- :page_facing_up: [An Open Letter to Developers Everywhere (About Cryptography)](https://gist.github.com/paragonie-scott/e9319254c8ecbad4f227)
- :book: [Foundations of Security: What Every Programmer Needs to Know ](https://www.goodreads.com/book/show/128003.Foundations_of_Security)
- [OWASP Top 10](https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project)
- [OWASP Top 10](https://owasp.org/www-project-top-ten)
- [Web Application Exploits and Defenses](https://google-gruyere.appspot.com/part1)
- :page_facing_up: [Hashing, Encryption and Encoding](https://www.integralist.co.uk/posts/hashing-and-encryption/)
@ -97,7 +102,7 @@ But knowing the stuff will help you become better! :muscle:*
### Architecture
- :scroll: [A Field Guide to Boxology](https://web.cs.wpi.edu/~cs562/s98/pdf/Boxology.pdf)
- :scroll: [Out of the Tar Pit](https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf?raw=true)
- :scroll: [No Silver Bullet — Essence and Accidents of Software Engineering](https://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf)
- :scroll: [No Silver Bullet — Essence and Accidents of Software Engineering](http://www.cs.unc.edu/techreports/86-020.pdf)
- :movie_camera: [Growing a Language](https://www.youtube.com/watch?v=_ahvzDzKdB0)
- :movie_camera: [CQRS and Event Sourcing](https://www.youtube.com/watch?v=JHGkaShoyNs)
- :book: [Practical Object Oriented Design in Ruby](https://www.poodr.com/)
@ -122,16 +127,18 @@ But knowing the stuff will help you become better! :muscle:*
- :movie_camera: [The Future of Programming](http://worrydream.com/dbx/)
- :page_facing_up: [The Good Software Development Manifesto](https://www.infoworld.com/article/3214481/application-development/the-good-software-development-manifesto.html)
- :movie_camera: [All the Little Things](https://www.youtube.com/watch?v=8bZh5LMaSmE)
- :page_facing_up: [Teach Yourself Programming in Ten Years](http://norvig.com/21-days.html)
### Practices
- :book: [Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code)
- :book: [The Art of Readable Code: Simple and Practical Techniques for Writing Better Code](https://www.goodreads.com/ru/book/show/8677004-the-art-of-readable-code)
- :book: [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://drboolean.gitbooks.io/mostly-adequate-guide/content/)
- :book: [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://mostly-adequate.gitbook.io/mostly-adequate-guide/)
- :book: [SICP: Structure and Interpretation of Computer Programs](https://www.goodreads.com/book/show/43713.Structure_and_Interpretation_of_Computer_Programs)
- :page_facing_up: [Thirteen Ways of Looking at a Turtle](https://fsharpforfunandprofit.com/posts/13-ways-of-looking-at-a-turtle-3/)
- :scroll: [Programming Paradigms for Dummies: What Every Programmer Should Know](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf)
@ -139,7 +146,7 @@ But knowing the stuff will help you become better! :muscle:*
Learn the basics of a language in a highly condensed way.
- [Hyperpolyglot](http://hyperpolyglot.org/)
Compare commonly used features of more or less similar languages side-by-side. Helps you to jump Python<->Ruby, Ocaml<->Haskell, etc.
- :page_facing_up: [Pomodoro for Programmers](https://blog.metadevelopment.io/pomodoro-for-programmers/)
- :page_facing_up: [Pomodoro for Programmers](https://medium.com/@mr_mig_by/pomodoro-for-programmers-d6568dd1e6fc)