Learning In Public 🎓

Come and Join Me on Curiosity Consortium. Let's learn together.

Engineering


Javascript

  • How Javascript works & Execution Context
  • Hoisting
  • Functions in JS
  • The Scope Chain
  • Variables
  • Block Scope & Shadowing in JS
  • Closures
  • First Class Functions & Callbacks
  • Asynchronus Javascript
  • Event Loop
  • JS Engine
  • Map, filter & Reduce
  • High Order Functions
  • Callback Hell
  • Promises
  • Async Await
  • this Keyword

Go

  • Variables
  • Constants
  • Basic Data Types
  • Composite Data Types
  • Protocols and Formats
  • Functions & Organization
  • Object Oriented Programming in GO
  • Interfaces & Abstraction
  • Concurrency in GO
  • Goroutines
  • Channels
  • Select
  • Timeouts
  • Tickers
  • Worker Pools
  • WaitGroups
  • Atomic Counters
  • Mutex
  • Panic
  • Defer
  • Recover
  • Strings
  • Regular Expression
  • JSON/XML
  • Files and Directories
  • Testing and benchmarking
  • Command Line arguments
  • Loggin
  • Context
  • HTTP

Ruby & RubyOnRails

  • Active Record
  • Active Model
  • Action Dispatch
  • Action Mailbox
  • Action Mailer
  • Action Text
  • Active Support
  • Action View
  • Action Controller
  • Active Job
  • Active Storage
  • Rails Assets Pipeline
  • Rails Engine
  • Sidekiq
  • Zeitwerk
  • Puma with Rails
  • Action Cable Overview
  • Minitest
  • Rails CI/CD
  • System and Integration Test
  • Railties

React

  • JSX
  • Class vs functional components
  • State vs props
  • Lifecycle Methods
  • Hooks
  • Context
  • Redux

Backend Engineering

  • Request/Response
  • Synchronous vs Asynchronous workloads
  • Push Design Pattern
  • Pooling
  • Pub/Sub
  • Multiplexing vs Demultiplexing
  • Stateful vs Stateless
  • OSI Model
  • Internet Protocol
  • UDP
  • TCP
  • TLS
  • HTTP
  • WebSockets
  • WebSockets
  • gRPC
  • WebRTC

Database Engineering

  • ACID
  • Phantom, Serializable and Repeatable Read
  • Eventual Consistency
  • Row-Based vs Column-Based Databases
  • Database Indexing
  • B-Tree and B+Tree in Database
  • Database Partitioning
  • Database Sharding
  • Shared & Exclusive Locks
  • Dead locks
  • Database connection pooling
  • Database Replication

Tools / Frameworks

  • CLI
  • Git
  • Docker
  • AWS
  • Chef Client
  • K8s
  • Jira
  • WebRTC
  • 100ms
  • Msg91
  • Redis
  • Yarn & NPM
  • Postgres
  • MySql
  • Newrelic
  • Sentry

Algorithms & Data Structures

  • Arrays & Vectors
  • Strings
  • Bit-manipulation Techniques
  • Sliding Window ALgorithm
  • Sorting & Searching
  • Binary Search
  • Recursion
  • Linked List
  • Stack
  • Queue
  • Binary Trees
  • BST
  • Hash Tables
  • Heap
  • Tries & Pattern Matching
  • Graph
  • Union Find
  • Complexity (Big O Notation)
  • Time & Size Complexity
  • Dynamic Programming
  • BFS
  • DFS
  • Dijkshthra's Algorithm

Research Papers


Technology

  • Maglev: A Fast and Reliable Software Network Load Balancer by Google Inc.
  • Dynamo: Amazon’s Highly Available Key-value Store
  • C-Store: A Column-oriented DBMS

Books


Technical

  • Don't make me think
  • Learn Web Development with Rails by Michael Hartl
  • Introductions to Algorithms By Thomas Cormen
  • The Pragmatic Programmer
  • Infinite Jumper in Phaser 3 with Modern JavaScript
  • WebRTC For The Curious
  • Practical OBJECT-ORIENTED DESIGN by Sandi Metz
  • Ruby Under a Microscope by Pat Shaughnessy

Growth & Success

  • Eat that Frog!
  • How to win friends and influence people
  • Outliers: The Story of Success
  • Steve Jobs: The Man Who Thought Different
  • Start With Why
  • The 7 Habits of Highly Effective People
  • Atomic Habits
  • Memory Power
  • Thinking, fast and slow

Finance

  • Rich Dad Poor Dad
  • DO EPIC SHIT
  • The Psychology of Money

Guidance

  • Bhagwat Geeta
This page inspired by Tania Rascia