External Resources
Here lists some useful external links.
Conferences
Company Driven
Google:
- Google IO
- Google Cloud Next
- Chrome Summit
- Android Summit
Amazon:
- AWS re:invent
Facebook:
Adobe:
- Adobe MAX https://max.adobe.com/
Oracle:
- Code One (previous JavaOne) https://www.oracle.com/code-one/
Language Specific
C++:
- Cppcon: https://cppcon.org/
Java:
Software
- StrangeLoop: https://www.thestrangeloop.com/
- Strata: http://strataconf.com/
- Fluent
- OSCON:open source convention
- GotoCon: http://gotocon.com/
- springone https://springone.io/
AI/ML
- KDD
- ICML
- NIPS
Conference Videos
Github Collections
Architecture / Stack
- https://stackshare.io/
- Facebook Architecture: https://www.quora.com/What-is-Facebooks-architecture-6
- system design calculation: http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html
- draw architecture diagram https://www.draw.io/
- web architecture 101 https://engineering.videoblocks.com/web-architecture-101-a3224e126947?ref=abhimanyu
- AI in infra: https://code.fb.com/data-infrastructure/spiral-self-tuning-services-via-real-time-machine-learning/
- https://github.com/xingshaocheng/architect-awesome
- google production env: https://www.youtube.com/watch?v=dhTVVWzpc4Q
- https://soulmachine.gitbooks.io/system-design/content/cn/
- https://github.com/donnemartin/system-design-primer
- configurator: https://code.fb.com/data-infrastructure/location-aware-distribution-configuring-servers-at-scale/
Articles
A good read: Education of a Programmer https://hackernoon.com/education-of-a-programmer-aaecf2d35312
airbnb https://medium.com/airbnb-engineering/building-services-at-airbnb-part-1-c4c1d8fa811b https://medium.com/airbnb-engineering/building-services-at-airbnb-part-2-142be1c5d506 https://medium.com/airbnb-engineering/reconciling-graphql-and-thrift-at-airbnb-a97e8d290712
serverless https://read.acloud.guru/six-months-of-serverless-lessons-learned-f6da86a73526 backend https://read.acloud.guru/why-do-you-care-so-much-about-your-backend-when-your-customers-dont-81f4e6433593
https://tech.instacart.com/implementing-hyperloglog-in-redshift-and-tableau-a62081c98e1c https://tech.instacart.com/scalability-tip-move-business-logic-out-of-db-c7740661b0ef
https://twitter.com/aleksbur/status/1002448211255152641?s=11
Internet Scale Services Checklist: https://gist.github.com/padajo/c4b5fde1b682aca43dc2a56366653b19
Share Nothing Architecture: https://en.wikipedia.org/wiki/Shared_nothing_architecture
https://news.ycombinator.com/item?id=13892581
Distributed Lock Manager: https://en.wikipedia.org/wiki/Distributed_lock_manager
Shadow Paging https://en.wikipedia.org/wiki/Shadow_paging
https://hackernoon.com/a-url-shortener-service-using-go-iris-and-bolt-4182f0b00ae7
http://blog.gainlo.co http://horicky.blogspot.com https://www.hiredintech.com/classrooms/system-design/lesson/52 http://www.lecloud.net/tagged/scalability http://tutorials.jenkov.com/software-architecture/index.html http://highscalability.com/
https://brandur.org/cloud-databases https://brandur.org/aws-intrinsic-static
DiskIO:
- part 3: https://medium.com/@ifesdjeen/on-disk-io-part-3-lsm-trees-8b2da218496f
- part 4:https://medium.com/@ifesdjeen/on-disk-storage-part-4-b-trees-30791060741
COST in the land of databases https://github.com/frankmcsherry/blog/blob/master/posts/2017-09-23.md
Unicorn Search(Facebook) https://research.fb.com/publications/unicorn-a-system-for-searching-the-social-graph/
http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html
Blogs
- High Scalability
- All Things Distributedhttp://www.allthingsdistributed.com/)
- Jepsen: testing distributed systems
- Metadata
- Scalable Startup
- https://brandur.org
Company’s Official Engineering Blog
- Google Research Blog: https://blog.research.google/
- Google Cloud Blog: https://cloud.google.com/blog
- Meta: https://engineering.fb.com/
- Netflix: https://netflixtechblog.com/
- Airbnb: https://medium.com/airbnb-engineering
- Uber: https://www.uber.com/blog
- LinkedIn: http://engineering.linkedin.com/blog
- Twitter: https://blog.twitter.com/engineering/en_us
- Lyft https://eng.lyft.com/
- GitHub: https://github.blog/category/engineering/
- Quora: https://quoraengineering.quora.com/
- Yelp: http://engineeringblog.yelp.com/
- Square: https://developer.squareup.com/blog/
- Dropbox: https://dropbox.tech/
- Etsy: https://www.etsy.com/codeascraft
- Cloudera: http://blog.cloudera.com/
- SoundCloud: https://developers.soundcloud.com/blog/
- Instagram: https://instagram-engineering.com/
- Reddit: https://www.redditinc.com/blog
- Twilio: https://www.twilio.com/blog
- Godaddy: https://www.godaddy.com/resources/category/engineering
- Wayfair: https://www.aboutwayfair.com/careers/tech-blog
Papers
Real World Architecture
- YouTube
- Flickr
- Amazon
- Stack Overflow
- Tumblr
- TripAdvisor
- Scaling Mailbox
- Salesforce
- ESPN
- Uber
- DropBox
- AirBnB Machine Learning
- facebook database automation: https://code.facebook.com/posts/180455938822278/under-the-hood-mysql-pool-scanner-mps-/
High Level Discussion
- Harvest, Yield and Scalable Tolerant Systems
- On Designing and Deploying Internet Scale Services
- Latency: The New Web Performance Bottleneck
- Data on the Outside versus Data on the Inside
- Discipline and Focus
- A Conversation with Werner Vogels
- Scalability
- Data Management for Internet-Scale Single-Sign-On
- Large-scale Incremental Processing Using Distributed Transactions and Notifications
- CAP Twelve Years Later: How the "Rules" Have Changed
- Consistency vs. availability: eventual consistency by Werner Vogels
- Eventually Consistent
- Your Coffee Shop Doesn’t Use Two-Phase Commit
- You Can’t Sacrifice Partition Tolerance
- Scalable agreement: Toward ordering as a service
- Scalable Eventually Consistent Counters over Unreliable Networks
- The key to synchronizing clocks over networks is taming delay variability.
Consensus
- The Part-Time Parliament
- Paxos Made Simple
- Paxos Made Live - An Engineering Perspective
- How to Build a Highly Available System Using Consensus
- Recon guring a State Machine
Links
- http://martinfowler.com/eaaCatalog/
- http://www.enterpriseintegrationpatterns.com/patterns/messaging/toc.html
- https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023
- http://www.hiredintech.com/system-design
- http://queue.acm.org/detail.cfm?id=2884038
- http://www.kegel.com/c10k.html
- Data Cleaner's Cookbook http://www.datafix.com.au/cookbook/
Non-tech
- Personal finance for engineers https://cs007.blog/
Books
- Code Complete: A Practical Handbook of Software Construction
- Head First Design Patterns
- Clean Code: A Handbook of Agile Software Craftsmanship
- The Pragmatic Programmer: From Journeyman to Master
- Rework
- Structure and Interpretation of Computer Programs
- Refactoring: Improving the Design of Existing Code
- The Art of Computer Programming
- Compilers: Principles, Techniques, and Tools
- Code: The Hidden Language of Computer Hardware and Software
- Working Effectively with Legacy Code
- Surely You're Joking, Mr. Feynman!
- The Little Schemer
- The Seasoned Schemer
- Agile Software Development, Principles, Patterns, and Practices
- Domain-Driven Design
- The Design of Everyday Things
- Modern C++ Design
- The Best Software Writing I
- The Practice of Programming
- Pragmatic Thinking and Learning: Refactor Your Wetware
- Software Estimation: Demystifying the Black Art
- The Passionate Programmer
- Hackers: Heroes of the Computer Revolution
- Algorithms + Data Structures = Programs
- Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application
- Computer Graphics: Principles and Practice in C
- The Elements of Computing Systems: Building a Modern Computer from First Principles
- Refactoring to Patterns
- Modern Operating Systems
- The Deadline: A Novel about Project Management
- The C++ Programming Language
- Patterns of Enterprise Application Architecture
- Computer Systems: A Programmer's Perspective
- Agile Principles, Patterns, and Practices in C
- Growing Object-Oriented Software, Guided by Tests
- Object Thinking
- Hackers & Painters: Big Ideas from the Computer Age
- The Soul of A New Machine
- The Timeless Way of Building
- About Face: The Essentials of Interaction Design
- Here Comes Everybody: The Power of Organizing Without Organizations
- The Tao of Programming
- The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation
- Philip & Alex's Guide to Web Publishing
- Object-Oriented Analysis and Design with Applications
- Computability: Turing, Gödel, Church, and Beyond
- Masterminds of Programming: Conversations with the Creators of Major Programming Languages
- The Productive Programmer
- The Art of Deception: Controlling the Human Element of Security
- Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp
- How to Solve It: A New Aspect of Mathematical Method
- Smalltalk-80: The Language and its Implementation
- Introduction to Functional Programming
- No Bugs!: Delivering Error Free Code in C and C++
- The Non-Designer's Design Book
- Universal Principles of Design