Skip to content

Instantly share code, notes, and snippets.

@lavantien
Last active June 29, 2024 20:05
Show Gist options
  • Save lavantien/dc730dad7d7e8157000ddae845eddfd7 to your computer and use it in GitHub Desktop.
Save lavantien/dc730dad7d7e8157000ddae845eddfd7 to your computer and use it in GitHub Desktop.
Modern Software Engineering Resources

Modern Software Engineering

The Foundation (jump)

Knowledge and Education should be open and free. Hierarchy and Exploitation must be abolished.

Wayback Machine (internet's archive), Anna's Archive (ebooks/papers library), 1337x/bk (media's archive).

  • Z. Notes below (down). A non-sugar-coated-bullshit non-grift library for SWE. You should avoid all funnel sales and paid bootcamps at all cost, and don't ever work free for someone (avoid take home projects, one way interview, etc.). Also don't forget proper OpSec, self defense gears, and physical/mental strength.
  • A. (go) Development Environment (Linux, Neovim, Wezterm, Dev Tools, Languages, Configs, Security, and Dotfiles).
  • B. (go) Complementary Subjects (Linguistics, English, Security, OpSec, Psychology, Anthropology, History, Philosophy, Religion, Economics, Business, Cooking, Xenology, and Self Defense).
  • C. (go) Fundamentals of Science and Technology (Logic, Physics, Mathematics, Game Theory, Geology/Geography, Business, Chemistry, Biology, Medical, MCAT, and Their Applications).
  • D. (go) Computer Science and Competitive Programming (CPU/OS/Linux/CMake, Git/Vim/Cronjob/Regex, Object Oriented/Functional Programming, Lua/Python/JavaScript/C/C++, Data Structures and Algorithms, Artificial Intelligence, Design Patterns, Database Design, Networking/Security/Encryption/Cryptography, Distributed Systems, and System Design).
  • E. (go) Low-Level Programming (Assembly/C, Embedded Systems, Interpreter/Compiler, Control Theory, and Robotics).
  • F. (go) Game Dev and Digital Arts (Game Theory, Worldbuilding, Game Design, C/Raylib, Godot, Lua/Love2D/Defold, C++/OpenGL, Aseprite/LDtk/Tiled/Krita/Inkscape, Gimp/Blender/Kdenlive, and LMMS/Audacity).
  • G. (go) Fullstack Dev and Backend Engineering (Figma/JS/TS/Node/Vue/React/React Native/Next, Java/Spring, Go/Pprof/DevContainers/Testcontainers, Python/Django, Bun/HTMX, PostgreSQL/MongoDB/SQLite/Supabase, REST/GraphQL/GRPC-Protobuf/NSQ/NATS/Kafka, NGINX/Certbot, Docker/Kubernetes/OpenTelemetry/Prometheus/Grafana, AWS/Jenkins/Ansible/OpenTofu, and Rust).
  • I. (go) Preparation for Job Search and Realities of the Industry (Head Ups, Pathways, Resume, Interview, and Reflections).
  • J. (go) Pet Project Ideas and advice on open-source contribution.
  • K. (go) Interview Questions that I've been asked (Fundamentals, DS&A, Go, JS, and React).
  • L. (go) Interview Preparation Template (Frequent questions, how to avoid traps and answer them properly).
  • M. (go) Some non-free resources (books & Udemy courses, wait for sales).
  • N. (go) Streamlined Noob to SWE L7 Roadmap - The Foundation (Effective Training, Frontloading Method, Foundations, Fundamentals, Languages, Tools, Web Dev, Infrastructures, and Production-grade Software).
  • O. (go) Productive Daily Plan for NEETs (Daily normal days and Uposatha/Sabbath days).
  • P. (go) Philosophy in Action (Internal Analysis, External Influences, and Layman's Primer).
  • Q. (go) Chess Practice (Fundamentals, London, CaroKann, NimzoIndian, and Bullet).
  • R. (go) Speedcubing Resources (Rubiks, Big Cubes, Blindfolded, and Side Events).
buddhistanarchism

(a manifesto).

Governments are the biggest criminals.

"A wise man should avoid unchastity as a pit of glowing charcoal. If unable to lead a celibate life, he should not go to another’s wives." - KN Snp 2.14

...more

Hierarchy is inherently problematic because it will always have the problem of asymmetries: power and information, and thus, will inevitably lead to corruption and exploitation.

"Wage slavery refers to a person's dependence on wages or a salary for their livelihood, in a world where the distribution of and conditions for these wages is determined by a specific class."

Copyright Law is a capitalist mechanism created for the perpetuation of domination and monopoly. All form of knowledge and education should forever be open and free without any restriction.

It's just rebranded feudalism, where the elites own all the lands and means of production, most wealth are inherited, self-made is a myth created to gaslight the masses, while slavery becomes systemic. "Butttt, you can choose your employer." Good luck saying this with a hobo, a neet who for years cannot land a single job, or a minimum wagie. The vast budget (thievery via taxes) in the army, wars, law enforcement, consumerism propaganda, and entertainment industrial complex is solely for protecting the system and to make the population dull and indulging. The elites, meanwhile, prepped for the worst with their underground cities and luxury New Zealand villas. They can just safely farm the population, and everything is going as planned.

If God created the universe, who created God? If God doesn't need a creator, so does the universe. The concept of a Creator God, universal consciousness, or any of those vague terms, is just pure absurd and utterly useless, made by grifters, preyed on your delusion and insecurity. If anyone worthy of being called a Creator, a God, that's your mother and father. They've literally created you, showed you the world, and they're your first teacher. It's hard to repay them.

(up).


A. Development Environment

B. Complementary Subjects

C. Fundamentals of Science and Technology

D. Computer Science and Competitive Programming

E. Low-Level Programming

F. Game Dev and Digital Arts

G. Fullstack Dev and Backend Engineering

I. Preparation for Job Search and Realities of the Industry

  • If you’re following along this list, you may need to have a proof of work, i.e. a document or a portfolio to list all of your projects ordered by themes, this acts as a degree for when you go to interviews (up).
  • It’s essential to be able to read official documentations, search on Google, and prompt the AI. But be aware that AIs can hallucinate stuffs, last time I ask Bard it said its hallucination rate is 57%.
  • Keep resume simple, condense, one single page if possible, don’t leak your picture or address, and don’t lie or add unnecessary things.
  • Avoid scammy recruiters, offshore sweatshops, and dodgy domains like gambling, drugs, drinks, dating apps, weapon sellers, blockchain, property development, PR, quant.
  • Don't talk or even look at women in your workplace unless for urgent work related reasons, to avoid false accusation, defamtion, and envy from fellow male employees.
  • Again, don't work for anyone for free especially unpaid internship, avoid one-way interviews, send them introduction videos/voices, too much personal information, take homes (demand standard compensation rate instead), etc..
  • One applicant per day is a good rate, too much will lead to overwhelm and drop in quality of job and preparation. Upwork, Workable, GolangProjects, Turing, Toptal, LinkedIn, etc. Or just directly apply to the companies' career portal.
  • Practice makes perfect, just keep studying, building pet projects, implementing your practical ideas, and interviewing a lot & take notes.
  • It’s just a number game, don’t take it personally if you constantly fail, keep up the grind.
  • Even if you’re employed, don’t stop job seeking, or else you will get complacent, delusion, and atrophy. And you have zero leverage in case of laid off.
  • Understand that companies will do whatever it takes to force you to work as much as possible and pay you as little as possible, so don't rely on recognition or some shit, always have backup plans, only you can protect yourself.
  • If you're still in school, please, for the love of the Buddha, finish them, get that degree. Despite their pointlessness, having them is just much better in a grim market, just get as much degrees and quality certifications (from official vendors like AWS and the likes, not some certificates of attendance from scammy course sellers) as you can, because the industry is mostly nepotism, cronyism, and favoritism. Meritocracy is a myth. But still it's always important if you have the real skill to back yourself up. This is why this resources guide exist. If you're a drop out, you will need to work twice as hard and apply quadruple as much. Life is rigged and cruel, you just have to bite the bullet, know the game and how to navigate it.
  • Building your own knowledge base with free/OSS tools like Anki, and Vim/Neovim (up).

.

J. Pet Project Ideas

Try to build them yourself without watching tutorials. I gathered some these on the internets, not all are my original ideas. If you want to work with an open source project, contact their team first and see how it goes. Please don't spam open source projects fishing for contribution, it's just not worth it and you only degrade yourself, only if you're using the software and run into problems, then try report the issue and contact the maintainer first. Check out the Nix Drama.
Build ones that are not too basic and you can explain them well. Also check the project based learning list.

  • Something that you are interested on or have a need to solve, ad blockers, bypass paywalls, your personal website, discord bots, tools and mods for hobbies or video games you're playing, emulator, memory trainer, repertoire trainer, maze solver robot, automated irrigation system with an app for calibrations and monitoring, sudoku solver, ant simulator, genetic algorithm visualizer, invent a new board game, schema generator, or just simply automate and sync your daily repetitive tasks (up).
  • Try to create something that will help people, make the world a little bit better for somebody (up).
  • A fully functional text editor that support undo/redo, search/replace, tables, and drawing (up).
  • A free blog/writing collection website with headless CMS (up).
  • A statistical analysis and solution website that based on the United Nation's 17 Sustain Development Goals (up).
  • A peer-to-peer messaging app (up).
  • A free course website (Netflix clone but instead of movies you deliver educational content) (up).
  • A content/project management system with task synching and scheduling (up).
  • A 4chan clone (up).
  • A multi-threaded web indexing spider (up).
  • An e-commerce website/app (Amazon clone) that integrate with map, payment, and delivery (up).
  • A decentralized peer-to-peer (not blockchain) barter transaction app with proper backend system that can support a large Anarchy society (up).
  • 3D Printing hardware and software (up).
  • A grid gallery portfolio website with pure HTML/CSS and host on GitHub Pages (up).
  • A personal project/habit/income/expense planner from scratch with React Native (up).
  • Code 15 classic games from scratch with ECS using Rust/Bevy and Aseprite/LDtk (Street Fighter, Pokemon-like RPG, Shoot 'em Up, Bomberman, Tower Defense, Graph Visualizer, Pacman, Tetris, Galaga, Asteroid, Arkanoid, Frogger, Snake, Cellular Automata, and Pong) (up).
  • A turn-based 2D RPG with physics-based-slingshot-combat from scratch with Defold/Krita and release on Steam and Google (up).
  • Setting up a production-grade REST API with tests, autho/en, caching, migration, PostgreSQL database, and GitHub CI in Go from scratch with Docker/Pprof and AlwaysData/Oracle Cloud Free Tier hosting (up).
  • A fullstack distributed market system for mutual aids with Go, NodeJS, GRPC, NextJS frontend, and Docker/K8s/OpenTelemetry/Prometheus/OpenTofu/AWS (up).

K. Interview Questions

That I've been asked (Fundamentals, DS&A, Go, JS, and React) (up).

  • (DSA) Explain and compare Object Oriented, and Functional Programming; explain MVC, MVVM, and ECS.
  • (DSA) Explain the concept of array, linked list, tree, hash map, stack, queue, and priority queue.
  • (DSA) Explain DFS, BFS, topology sort, and their practical applications.
  • (DSA) Implement a string reverser, palindrome checker, prime number checker, permutation generator, or reverse a linked list.
  • (DSA) Solve an array problem like two sum; or a 2D array problem like find all isolated islands.
  • (DSA) Solve a dynamic programming, a medium string manipulation with trie, or an easy graph problem (up).
  • (JS) Explain hoisting, scope, and closures; explain expression precedence.
  • (JS) Difference between var, let, and const; explain null, undefined, NaN, and Optionals.
  • (JS) Explain DOM manipulation; how to center a div both horizontally and vertically.
  • (JS) Explain class, arrow function, map-filter-reduce.
  • (JS) Explain async and await; list and explain some ES6 features.
  • (JS) Explain Node's single threaded event loop model; explain callback and promise; explain prototype and how to use it.
  • (JS) Implement word count; tricky questions asked to do in one single loop.
  • (JS) Implement an event emitter from scratch.
  • (JS) Implement map-filter-reduce from scratch.
  • (JS) Implement promise and async/await from scratch; resolve chain promises.
  • (JS) Implement signal from scratch; migrate CSV data to Mongo (up).
  • (React) What's the difference between function component and class component.
  • (React) What are props and how children prop works.
  • (React) How Virtual DOM works.
  • (React) Explain all built-in React hooks; explain react router.
  • (React) Best practices of using Redux, Store, State Management, Context and Redux Middleware.
  • (React) How to use GraphQL with React; the difference between REST and GraphQL; the n+1 problem.
  • (React) Implement a listing page in React with TDD using a public API.
  • (React) Build a virtual DOM from scratch (up).
  • (Go) What's the difference between ACID and BASE; explain in the context of PostgreSQL and MongoDB.
  • (Go) Which features of PostgreSQL/MongoDB did you use; drop all data; how to use cursor or limit/offset.
  • (Go) How to use JSON data in PostgreSQL; how to store money and discounts in PostgreSQL/MongoDB.
  • (Go) Explain normalization and indexing; concurrent transactions, blocks, and isolation levels.
  • (Go) How to read 10gb of data from PostgreSQL; how would you read a 10gb file with Go.
  • (Go) What's the difference between HTTP, TCP, UDP, WebSockets, and GraphQL.
  • (Go) Explain HTTPS; what's the difference between certificate and public key; differences between symmetric and asymmetric encryption.
  • (Go) Name and explain some important services in a cloud platform; cronjob scheduling.
  • (Go) How to scale with and without a cloud platform; explain API gateway, reverse proxy; how Kubernetes works.
  • (Go) Identify bottleneck in production environment; explain tracing, distributed logging, and metrics (up).
  • (Go) Explain and give code examples for some design patterns that are commonly used in Go.
  • (Go) The difference between parallelism and concurrency; Go's concurrency features and their use cases.
  • (Go) How Go's scheduler works; compare it with the OS scheduler; difference between Kafka and NATS;
  • (Go) Explain context package in Go; how would you implement time out; how would you handle errors.
  • (Go) How would you write unit tests in Go; explain mocking and dependency injection.
  • (Go) How would you test a database layer, a service layer, a handler layer, or a 3rd-party callback layer.
  • (Go) Explain common concurrent patterns in Go and their usages; practical ways to use closure in Go.
  • (Go) Explain CAP theorem; how Event Driven works in Go services; orchestrate a micro-services architecture.
  • (Go) Explain producer, consumer, and offset in Kafka; how to concurrently consume and retry.
  • (Go) Implement a task with generics; design and implement an inventory and storefront system.
  • (Go) Implement a parallel URL fetcher with 5 async processes and print a specific field in the JSON respond.
  • (Go) Implement a REST API with a database layer, caching, and rate limiting using only standard libs.
  • (Go) Implement a Kafka batch producer and consumer streaming system and test suite with persistent and stateful data.
  • (Go) Implement a custom schema generator/parser; check if a mongo geoloc coordinates is within a polygon.
  • (Go) Modify an existing source code and add features according to requirements, in real time (up).

L. Interview Prep Template

I'm looking for a full-time software development job in X (A, B, C; great if remote). Back-end or full-stack regarding anything Go and/or JavaScript (Node, React and Vite, React Native, and a little bit of Next). I love to work on a quality product or project with proper git workflow, code review, and unit tests. My salary requirements: $X-X/month gross with standard benefits (9-to-5, 13th month pay, full social insurance, health insurance, yearly health check, etc.).

Introduction (up)

  • I'm Lavantien, a Y born in X, and I studied computer engineering at UIT, majoring in embedded systems, and minoring in robotics. Now I'm working mostly as a web developer, I enjoy programming and solving problems. I mostly use Go and JavaScript. I can do front-end but I love develop my back-end skill because there's always something new to learn, like networking, protocols, security, dealing with distributed systems and databases, setting up a robust testing pipeline, and working with third-party integrations and cloud services. During the 7 years of my web development career, I've been involved in some large projects like ETCC E470 and Ackio Mesh, but most of them were small projects and startups where I had the chance to build things from the ground up and participate in the whole development process.

Values that I will bring to the team (up)

  • Good sense of responsibility.
  • When in doubt, I always directly ask questions and clarify with others. I'm open to feedback and welcome criticism.
  • I am good at analyzing problems, reading documentation, and searching for solutions. I always try to find the best ways to save costs and improve profitability for my clients.
  • I have a strong foundation of core programming techniques, data structures and algorithms, design patterns, and networking. I have a robust mental model for debugging and writing code.
  • And I am very intimate with all aspects of backend development and all the nuances of the Go and JavaScript languages. I am very familiar with complex code bases, distributed systems, and third-party integrations.
  • I focus on team objectives. I have a win-win mentality.
  • I love to learn from other people and to constantly improve myself.

Potential incompatibilities with company culture (up)

  • I don't want to speak with anyone unless it's necessary for the job.
  • I don't like to work on a legacy code base or just pure maintenance work.
  • I don't like most of the meetings where people are just bantering and wasting time on what could be just email.
  • I don't like to give vague estimations. I hate it when PMs give unrealistic timelines just to
  • I might come across as being critical, as I don't want to flatter.
  • I love meritocracy. I hate micromanagement, nepotism, cronyism, and favoritism regarding performance reviews.

Description of my favorite project (up)

  • It was a remote international team at Dropezy, a quick commerce app that allows customers to quickly buy necessities like food, vegetables, water, toiletries, etc., applies discounts with a seamless payment process, guaranteed delivery in under 15 minutes, no matter where they are located in supported cities. Our code base is entirely in Go and Flutter. We use GRPC with Protobuf for communication, HTTP callbacks for third-party integrations, and Docker Compose for local development. Our code base is comprised of four monorepos: one for the backend, one for the mobile app, one for the protobuf schemas, and the last one for platform tools like Kubernetes, Terraform, and GCP. I'm fortunate to join in very early in the development process, and I'm also fortunate to be a part of the first production release. My work there focuses mostly on the inventory-order-payment-delivery pipeline, delivery services integration, research on geolocation optimization, writing unit tests to ensure proper coverage, and lastly optimizing MongoDB aggregation pipelines.

Points I would like to clarify with HR (up)

  • Real salary range? Full social insurance? Payment method and frequency?
  • Yearly health checkup? PTO policy? OT policy? Work log?
  • 13th month policy? Project bonus?
  • Who are the clients of the company? What are the domains of projects in the company? What are the sources of funding? How stable is the profitability of the company?
  • What is the longest project in the company, and how did it end up?
  • Layoff possibility? "We can keep the contract but no more salary, or you can write a resignation letter"?
  • Is there nepotism in the company (e.g., HRM is the CEO's wife and CTO is the CEO's brother)? Cronyism? Favoritism regarding performance reviews? Micromanagement?

Questions I would like to ask the tech lead (up)

  • Is there a minimum standard for the code base? Like, regression testing, 80% on the test coverage, or all PRs need to be reviewed and rebase before merging? And what does the CI pipeline look like?
  • Are there sufficient onboarding documentation and a development wiki? How many SLOC in the code base?
  • What are the problems that you expect this position to solve? Could you describe a typical ticket or story?
  • How are stories and tickets divided? What does a typical sprint look like? Timeline and release cycle?
  • How are estimations and decisions made? Evident-based solutions, data-driven approach, i.e., profiling and benchmarking first? Does the team keep decision records?
  • I've heard about the term, but what are your definition of Clean Code? Who decided whose code is cleaner?
  • How many users are the system serving? What kind of architecture? Why chose microservices? What are the network latency between each service and the amount of serialization and deserialization on each request? Are you solving problems you don't have?
  • How does the team evaluate performance? What are the specific metrics? Are there peer reviews?
  • What are the types of meetings? How does each of them go? What does a typical working day look like?

Feedback for the interview process (up)

  • Try to focus on the positive.

M. Some non-free resources


N. Streamlined Noob to SWE L7 Roadmap - The Foundation

  • You'll learn 11 programming languages - Go, Lua, Python, Rust, Zig, Ocaml, C, Java, Scala, JavaScript, TypeScript, and related technologies for real world systems thorough this section (up).

  • To be quite efficient with all of them, with each, on the weekends, set out a few hours, try to do yourself:

    • 99 Problems (go),
    • Advent of Code (go),
    • Blind's 75 Problems (go),
    • an SQLite REST API with caching, rate limiting, middlewares, and full test suite,
    • a concurrent data fetcher and processor,
    • a pub-sub system (go),
    • and a schema parser (go).
  • Plan out your long term goals and make a detailed daily plan like this and stick to it; adjust along the way, but you must stick to it or else you'll just stay lazy, depressed, and become bewild and indulged like everybody else (aka normies).

  • All you need to know to train from tutorials and documentations effectively: after every item in The Frontloading Method list (up),

    • summarize in your head what that tut/doc is about, take notes is useless as you'll most likely never look at it again,
    • redo all the code without looking at the tut/doc, add your own spin to it and see how it goes,
    • try to explain to and teach yourself the concept, and try to understand the underline mechanism behind it; for maths vids, try to implement them yourself with a language of choice,
    • make sure to use terminal and neovim keybinds or at least vim motions when coding to familiar with your dev env,
    • only proceed to the next items when you've completed these 4 tasks, or else you're just wasting your time and not building any skill; remember, every choice you make in life will have consequences, whether you aware of them or not,
    • it'll be a tedious grind but the best time to start is right the fucking now, 21 weeks planned is for experienced devs, go with your own pace and no need to rush if you're not a boomer; don't fall for funnel sales, course and book sellers, and don't waste money for the grifters,
    • the world is cruel and wild, especially with human interactions, this is why having a strong foundation of morality and ethics is crucial; this training process will become a lifestyle, so be sure to make plans, time table, stick to it, and have strong mental and philosophical frameworks to not get taken advantage of; check out productive daily plan for example,
    • this list aim for strong fundamentals as the foundation, hence the name (also a reference to Asimov's work), with building real world complex production-grade software on top, so it's impossilbe that you don't have at least real SWE L5 skills after thoroughly finished the list as instructed, the rest is upto you and luck (good luck competing with capitalists' slave sweatshops, nepotism, cronyism, and favoritism),
    • you don't need to go through all the items in the D and G list, it depends on the jobs you're going to apply and refer common interview questions: K list for direction on what to focus on; after finished the list, try applying to all faang companies and see how it goes,
    • get to really familiarize yourself with lua, programming principles, and dev env on the first week; regarding tools, if it's not FOSS, just toss; try to also build some useful tools like ad blockers or bypass paywalls along the way (up).
  • Primary subjects covered:

    • computer science: philosophy, game theory, economics, geolocation, compiler/os, data structures and algorithms, design patterns, database design, system design, ui/ux design, distributed systems, microservices, linux, neovim; job search, the market, resume, and interview skills
    • c, python, and lua: fundamentals, linguistics, oop is bad, scrum is stupid, clean code is dirty, orm is terrible, software design, region-based gc; maths, calculus, algebra, statistics, probability, physics, category/group/number theory, halting/synchronization problem, regex, latex
    • go: structural typing, composition, closures, error handling, concurrency, middlewares, testings, memory model, garbage collection, containerization-docker/compose, profiling-pprof, tracing-opentelemetry/prometheus/grafana
    • javascript: typescript, apis, runtime model, garbage collection, async, fetch, implement js features from scratch, html/css, react/vite, react native, and nextjs
    • rust and zig: ownership/borrow-checker, lifetimes, smart pointers, generics, traits, extended enums, collections, macros, compile time, async tokio, serde, axum, tracing, sqlx, advent of code, distributed systems challenges
    • functional programming, ocaml, and jvm: android, java, spring boot, scala, functional programming, ocaml, type-level programming, multiplicities, monads, monoids, endofunctors, akka, http4s
    • database: postgresql, mongodb, sqlite, cassandra, csv, spreadsheets, sqlc, sqlx, migration, mock, distributed database problems
    • protocols: restapi-http, grpc-protobuf, grpc-web, graphql, websockets, kafka, nats, authentication, role-based authorization, and weebhooks integration
    • git workflow: with rebase/pull request/review/merge, ci/cd with github actions, testcontainers
    • orchestration and deployment: podman, helm, kubernetes, ansible, openstack, opentofu, local deploy with minikube, cloud basics with aws (up)
    • game dev and ui/ux design: raylib, html canvas, wasm, and figma
    • easy projects: a grid gallery portfolio website, a standard production rest api using go and postgres, with full features and pipelines
    • medium project: an all-in-one management android app in react native and sqlite (tasks, finance, health, projects, etc.)
    • hard project: a quick-commerce microservices distributed backend system in go, grpc, mongodb, docker, github ci, k8s, opentofu, aws, paseto for auth, opentelemetry, and prometheus, with paxos algorithm for inter-instance consensus
    • nemisis project: your magnum opus - a mutual aid distributed platform, where users login via oauth2 and 2fa can post offers, request aids, get notified, have category to subscribe to, have a voting based merit system, fraud detection and anti cheat system, there'd be no payment everything will be via barter library economic system, and delivery is arranged between 2 users
    • interview prep: Principles of Algorithmic Problem Solving, Algorithms for Competitive Programming, Competitive Programmer’s Handbook, Project Euler, Rosetta Code, CSES Problem Set, Blind's 75 LeetCode Problems, Advent of Code, Open Source eBooks, Hired In Tech, Tech Interview Handbook, Front End Interview Handbook, FreeCodeCamp's Coding Interview Prep
    • if you interested in game dev check out section F (up).

The Frontloading Method

Finish (frontload) these 20 free quality foundations first in 21 weeks of 48-50 hours/week, while concurrently supply if needed with the D, G, and K lists, then proceed to building your dream projects or just go applying to good places:

  • 1. Morality, Ethics, Self-Improvement, Lua, Programming Principles, Philosophy, Realities, Social Science, Anarchism, and Early Buddhism (Week 1, 2) (jump)
  • 2. Git, GitHub, Linux, Neovim, Dev Environment, Cheatsheets, Tools, and AI (Week 2) (jump)
  • 3. Computer Science Fundamentals, Linguistics, Python, Mathematics, Physhics, Semiconductors, Game Theory, and Economics (Week 3) (jump)
  • 4. C, Go, Testing, Mocking, Fuzzy Logic, and Design Patterns (Week 4) (jump)
  • 5. Java, Coding Standards, and Introduction to Problem Solving (Week 5) (jump)
  • 6. Web, Networking, Cryptography, API Design, OWASP, HTML, CSS, Node, Express, and JavaScript Deep Dive (Week 6) (jump)
  • 7. Turing Complete, Finite State Machines, Entity Component Systems, Tasting Game Dev with C, Go, Raylib, HTML Canvas, Python, and JavaScript (Week 7) (jump)
  • 8. TypeScript, Ocaml, Scala, and Functional Programming Deep Dive (Week 8) (jump)
  • 9. Database Design, RDBMS, SQL, NoSQL, CSV, and Spreadsheets (Week 9) (jump)
  • 10. Go Deep Dive, Pprof, OpenTelemetry, WebSockets, and Valkey (Week 10) (jump) (up)
  • 11. React, Headless WordPress, Next, HTMX, GraphQL, and React Native on Android (Week 11) (jump)
  • 12. Data Structures and Algorithms Training (Week 12) (jump)
  • 13. Introduction to Containerization via Docker, Microservices, and System Design (Week 13) (jump)
  • 14. Containerization with Podman, Kubernetes, Helm, Ansible, OpenStack, OpenTofu, GitHub Actions, and AWS (Week 14) (jump)
  • 15. Job Search, LaTeX, Resume, and Interview Techniques (Week 15) (jump)
  • 16. Distributed Systems and Advanced System Design (Week 16) (jump)
  • 17. Rust and Zig Deep Dive (Week 17) (jump)
  • 18. Competitive Programming (Week 18) (jump)
  • 19. Backend Engineering Extras (Week 19) (jump)
  • 20. Your Magnum Opus, and Life-Long study of Anthropology and Xenology (Week 20, 21) (jump)
  • Streamlined 1-Week React & Node JS SWE L5 Interview Prep List (jump) (up)

1. Morality, Ethics, Self-Improvement, Lua, Programming Principles, Philosophy, Realities, Social Science, Anarchism, and Early Buddhism

  • Youtube: Back to Work Wagie (go) (back).
  • Youtube: Clean It Up, Wagie (go).
  • Youtube: Permanently stop masturbation (go).
  • Youtube: Spaceship You (go).
  • Youtube: Clean Code and Successful Career in Software Development (go).
  • Youtube: Academia is a Ponzi Scheme (go) (up).
  • Youtube: Why Governments are the Biggest Criminals (go) (up).
  • Youtube: All The Paint Explainer videos (go).
  • Youtube: When bad software kills (go).
  • Youtube: The worst thing you can commit, and how you can fix it (go).
  • Youtube: Just Be Bored, and You'll Level Up (go).
  • Youtube: Guide to Escape Media Consumption This Summer (go).
  • Youtube: The Perfect Crime - Scientific Fraud in America (go).
  • Youtube: The Nofap Deniers (go).
  • Youtube: My Advice to You (go).
  • Youtube: Factorio teaches you software engineering, seriously (go).
  • Youtube: How Much Google ACTUALLY Pays Their Software Engineers (go) (up).
  • Youtube: You've Been Lied To About Genetics (go).
  • Youtube: How Much Do Genes Matter (go).
  • Youtube: Undercover as a MILF on Dating Apps (go) (up).
  • Youtube: The Most Brutal Dating App Experiment (go).
  • Don't be gaslighted by hypocrites, human attractiveness is not subjective (go).
  • Youtube: AI Hype is completely out of control - especially since ChatGPT-4o (go).
  • Youtube: Medical Profession is about to COLLAPSE (well deserved) (go).
  • Youtube: What Kaspersky really discovered... (go).
  • Youtube: EU Tries to Kill End-To-End Encryption (go).
  • Youtube: When Ancient History Gets POLITICIZED (go).
  • Youtube: War.....War Never Changes (go).
  • Youtube: A government crook eats luxury golden beef abroad while people starving at home (go).
  • Youtube: 沒有,沒有,沒有,通過!No, no, no, pass! (go).
  • Youtube: Archive: Chinese troops fire on protesters in Tiananmen Square (go).
  • Youtube: Pleasure Trips or Underage Sex Tourism? (go).
  • Youtube: Legalized Slavery - The Private Prison System (go).
  • Youtube: What Governments Don’t Want You To Know About Modern Slavery | System Error (go).
  • Youtube: The unspoken aspects of Abortion and Euthanasia - Murder, Abduction, Sex-Slavery, Human-Trafficking, Child-Kidnapping, Crimes Against Humanity, Gender-Selected Genocide, and Mass Infanticide (go).
  • Youtube: Dilation and Extraction (go).
  • Youtube: Dharma - A Gradual Training (go).
  • Youtube: Karma and Rebirth Workshop (go).
  • Discourses: conversations with the Buddha (go).
  • Youtube: Introduction to Buddhist Philosophy (go).
  • Youtube: Abortion of Samsara (go).
  • Youtube: Why Is Celibacy Important? (go).
  • Youtube: Even Being a Layman Does Not Justify Your Sensuality (go).
  • Youtube: Hard Precepts, Easy Safety (go).
  • Youtube: STREAM ENTRY FOR LAYPEOPLE (go).
  • Youtube: The Wasteland Of Politics (go) (up).
  • Youtube: Should be careful with all relationships (society is full of thieves) (go).
  • Youtube: I Fasted for 5 Days and Walked 7 hours a Day (go).
  • Youtube: How Fasting changes Testosterone (Fasting Science) (go).
  • Youtube: How 3 Crooked Cons Bullied Americans Into Canceling Red Meat (and going vegan) (go).
  • Youtube: Vegan diets don't work. Here's why (go).
  • Youtube: Lab Meat. The $1 Trillion Ugly Truth (go).
  • Youtube: My Mom Went from Millionaire CEO to Bankruptcy after 6 Divorces (go).
  • Youtube: My Body has been Permanently Scarred after forced surgery at 16 (go).
  • Youtube: Capitalocene: how capitalism caused the climate crisis (go).
  • Youtube: Kurzgesagt and the art of climate greenwashing (go).
  • Youtube: Kurzgesagt: billionaire propaganda, trusting science, and effective altruism (go).
  • Youtube: All Dark Science videos about prominent health problems and their causes (go).
  • Youtube: Laws of Nature: The Best System Analysis (go).
  • Youtube: Astrology: Fact or Fiction? (go).
  • Youtube: Debunking the Electric Universe (go) (up).
  • Youtube: Quantum Mysticism is Stupid (Deepak Chopra, Spirit Science, Actualized.org) (go).
  • Youtube: Debunking the State of Israel (go).
  • Youtube: I AM AN ANARCHIST (go).
  • Youtube: The Revolution Series - The State is Counter-Revolutionary (go).
  • Youtube: Anarchism Summary Lectures (go).
  • Youtube: A Modern Anarchism (go).
  • Youtube: Anark Abridged (go).
  • Youtube: Meditation Toolkit (go).
  • Youtube: A Course on Early Buddhist Meditation (go).
  • Youtube: JCS - Criminal Psychology videos (go).
  • Youtube: Lua Programming Tutorials (go) (up).
  • Exercism - learn many programming languages with curated track for free (go).
  • Youtube: Episode 1 - Mongo DB Is Web Scale (go).
  • Youtube: Microservices (go).
  • Youtube: Hitler Learns Topology (go).
  • Youtube: Hitler uses Docker (go).
  • Youtube: Hitler reacts to functional programming (go).
  • Youtube: Why "senior software engineer" isn't worth it... (as an ex-Google tech lead) (go).
  • Youtube: 14 Hard Lessons After 14 Years Of Software Development (go).
  • Youtube: I Hate UML (go).
  • Youtube: Why Go Or Rust On New Projects (go).
  • Youtube: The Only Database Abstraction You Need (Not ORM) (go).
  • Youtube: Solid Programming - No Thanks (go).
  • Youtube: Maintainability And Readability (go).
  • Youtube: Don't Contribute to Open Source (go).
  • Youtube: YouTube Coders are LYING to You. Here's How (go).
  • Articles - Functional Programming in C (go).
  • Youtube: I regret doing this (go) (up).
  • Youtube: The Clean Code Debacle and Rhetoric Tricks (go).
  • Youtube: What GenZs Think Of Software Engineering (go) (up).

2. Git, GitHub, Linux, Neovim, Dev Environment, Cheatsheets, Tools, and AI

  • GitHub Skills (go, go) (back).
  • Youtube: Everything You'll Need to Know About Git (go).
  • Youtube: Git and GitHub for Poets (go).
  • Youtube: Learn GitHub Projects (go).
  • Youtube: GitHub Actions Certification Course (go).
  • Youtube: How to be a git expert (go).
  • Youtube: 60 Linux Commands you NEED to know (in 10 minutes) (go).
  • Youtube: Vim Tips (go).
  • Linux GNU Coreutils Cheatsheet (go).
  • Git Cheatsheet (go).
  • Vim Cheatsheet (go).
  • AIO Linux cheatsheet (go) (up).
  • AIO Operation cheatsheet (go).
  • AIO Webdev cheatsheet (go).
  • Youtube: Your Command Line, Oxidised (go).
  • Youtube: 7 Amazing CLI Tools You Need To Try (go).
  • Youtube: The Only Video You Need to Get Started with Neovim (go).
  • Minimal dotfiles for Dev - Ubuntu/Windows, Neovim, and Wezterm (go).
  • Youtube: How to Use Neovim with Devcontainers (go).
  • Free Google Gemini AI (go).
  • Free Codeium Chat AI (go).
  • Free Perplexity AI (go) (up).
  • Free Suno AI (go).
  • Free Microsoft Designer AI (go).
  • Youtube: TJ DeVries videos (go).
  • Youtube: Luke Smith videos (go).
  • Youtube: Mental Outlaw videos (go) (up).

3. Computer Science Fundamentals, Linguistics, Python, Parallelism, Mathematics, Physics, Semiconductors, Game Theory, and Economics

  • Youtube: World's shortest UI/UX design course (go) (back).
  • Youtube: Python Tutorial for Beginners (with mini-projects) (go).
  • Youtube: Science and Technology (go).
  • Youtube: How do computers work? CPU, ROM, RAM, address bus, data bus, control bus, address decoding (go).
  • Youtube: Exploring How Computers Work (go).
  • Youtube: Threading vs multiprocessing in python (go).
  • Youtube: Optimal Parallel Algorithms in the Binary-Forking Model (go).
  • Youtube: Linguistics (go).
  • Youtube: English Pronunciation Practice - Word Lists - American Accent (go).
  • Youtube: Learn ALL Verb Tenses - Past, Present, Future with examples (go).
  • Youtube: Mathematics (All Of It) (go).
  • Youtube: Learn Algebra 1 and 2 in One Video (go).
  • Youtube: Learn Trigonometry (go).
  • Youtube: Learn Learn Precalculus (go).
  • Youtube: Learn Probability (go).
  • Youtube: Essence of calculus (go).
  • Youtube: Essence of linear algebra (go) (up).
  • Youtube: Bayes theorem, the geometry of changing beliefs (go).
  • Youtube: Bayes theorem examples (go, go).
  • Youtube: How to systematically approach truth - Bayes' rule (go).
  • Youtube: Classical Physics (go).
  • Youtube: Modern Physics (go).
  • Youtube: Fusion (go).
  • Youtube: Math for Game Devs 2022 (go).
  • Youtube: Gamedev Math (go).
  • Youtube: A Sensible Introduction to Category Theory (go).
  • Youtube: Okay but WTF is a MONAD (go).
  • Youtube: The Absolute Best Intro to Monads For Software Engineers (go).
  • Youtube: What is a Monad? - The Last Monad Intro You'll Ever Need (go).
  • Youtube: Programming with Math | The Lambda Calculus (go).
  • Youtube: Numberphile's Square-Sum Problem was solved (go).
  • Youtube: Game Theory 101 (go).
  • Youtube: Economics (go).
  • Youtube: Asianometry videos about Semiconductors (go) (up).

4. C, Go, Testing, Mocking, Fuzzy Logic, and Design Patterns

  • Youtube: C Programming Mini Projects (go) (back).
  • Youtube: Hacker CS: Advanced C Programming (go).
  • Youtube: How principled coders outperform the competition (go).
  • Youtube: 8 Design Patterns (go) (up).
  • Youtube: More Advanced C Programming (go).
  • Youtube: How I program C (go).
  • Youtube: Advanced C: The UB and optimizations that trick good programmers (go).
  • Youtube: Practical C: (go).
  • Youtube: Designing your own Database in C (go).
  • Youtube: Hash Table in C (go).
  • Youtube: Arenas, strings and Scuffed Templates in C (go).
  • Youtube: Async Engine in C (go).
  • Youtube: Linux Programming with C (go) (up).
  • Youtube: Design Patterns (go).
  • Youtube: We gonna learn Go FAST (go).
  • Youtube: Learn GO Fast: Full Tutorial (go).
  • Learn Go with Tests (go).
  • Youtube: Golang Tutorial (go).
  • Youtube: Go Class (go).
  • Go by Example (go).
  • Read and practice through all Go Documentations, especially Effective Go and Memory Model (go).
  • Gokatas (go).
  • Donal Feury Topics (go).
  • How Google mock their tests (go) (up).
  • Youtube: Learn By Building: Language Server Protocol (go).
  • Youtube: An Introduction to Fuzzy Logic (go).
  • Youtube: Fuzz Testing Made Easy (go).
  • Youtube: Tree-Sitter Explained (go).
  • Youtube: Ok I tried Tree-sitter! Here is what I think about it (go).
  • Youtube: Deriving 3D Rigid Body Physics and implementing it in C/C++ (with intuitions) (go).
  • Youtube: The Best Coding Interview Question Ever (go).
  • Youtube: Jeffrey Chupp videos about Go and LSP (go).
  • Youtube: Tsoding Daily videos (go).
  • Youtube: Molly Rocket videos (go).
  • Youtube: TheVimeagen videos (go) (up).

5. Java, Coding Standards, and Introduction to Problem Solving

  • Book: Principles of Algorithmic Problem Solving (go) (back).
  • Modern Java in a Nutshell, 8th Edition (go).
  • Youtube: Functional Programming in Java (go).
  • Youtube: Learn SOLID Principles with CLEAN CODE Examples (go).
  • Youtube: Object-Oriented Programming is Bad (go).
  • Youtube: You're doing agile wrong (go).
  • Youtube: All CodeAesthetic videos (go).
  • Youtube: All Udiprod videos (go).
  • Youtube: All Spanning Tree videos (go).
  • Youtube: All Reducible videos (go).
  • Youtube: All B001 videos (go).
  • Youtube: Sebastian Lague videos (go).
  • Complete Introduction to the 30 Most Essential Data Structures & Algorithms (go) (up).
  • Implement Rule 110 in your programming language of choice (go).

6. Web, Networking, Cryptography, API Design, OWASP, HTML, CSS, Node, Express, and JavaScript Deep Dive

  • How Web Works (go) (back).
  • Youtube: Each layer of the OSI model and TCP/IP explained (go).
  • Youtube: Networking Tutorial (go).
  • Youtube: Error detection (go).
  • MDN: Curriculum (go).
  • MDN: Getting Start with the Web (go).
  • MDN: JavaScript (go).
  • HTTP Networking in JavaScript – Handbook for Beginners (go).
  • Wiki: OSI model (go).
  • MDN: HTTP (go).
  • Youtube: The QUIC Protocol, HTTP3, and How HTTP Has Evolved (go).
  • Youtube: Cryptography (go).
  • Youtube: A complete overview of SSL/TLS and its cryptographic system (go) (up).
  • RESTful web API design and Best practices in cloud applications (go).
  • OWASP Top 10 (go).
  • Youtube: HTML & CSS Full Course - Beginner to Pro (go).
  • Youtube: How to put an HTML website online (GitHub Pages) (go).
  • Youtube: JavaScript Tutorial Full Course - Beginner to Pro (2024) (go).
  • Youtube: The Nature of Code (go).
  • Youtube: Working with Data and APIs in JavaScript (go).
  • Youtube: Node.js Crash Course 2024 (go).
  • Youtube: Node.js Event Loop (go).
  • Youtube: Express JS Full Course (go).
  • Youtube: Web Development In 2024 - A Practical Guide (go).
  • Youtube: Understanding the Complexity of Modern Web Dev Stack (Webpack, Babel, TypeScript, React) (go).
  • Youtube: What is Hydration (go) (up).
  • Youtube: 21 Awesome Web Features you’re not using yet (go).
  • Youtube: Learn DOM Manipulation In 18 Minutes (go).
  • Youtube: Reactivity Explained (go).
  • Youtube: Signal Explained and Implementation (go, go).
  • Youtube: Promises and Async/Await From Scratch (go).
  • How to build an event emitter in JavaScript (go).
  • Youtube: Array Iteration: 8 Methods - map, filter, reduce, some, every, find, findIndex, forEach (go).
  • Inner workings of Map, Reduce & Filter in JavaScript (go).
  • Coding Interview Prep (go) (up).

7. Turing Complete, Finite State Machines, Entity Component Systems, Tasting Game Dev with C, Go, Raylib, HTML Canvas, Python, and JavaScript

  • Youtube: Designing My First Game (go) (back).
  • Youtube: Easy Web Games in C (go).
  • Youtube: Making a game with Raylib and Go (go).
  • Youtube: Master Python by making 5 games (go).
  • Youtube: Making a computer Turing complete (go).
  • Youtube: An introduction to finite state machines and the state pattern for game development (go).
  • Youtube: Entity Component System (ECS) - Definition and Simple Implementation (go).
  • Youtube: JavaScript for Game Dev 101 (go).
  • Youtube: JavaScript game development basics (go).
  • Youtube: JavaScript with p5 JS (go).
  • Youtube: 2048 with Web Techs (go).
  • Youtube: Hang Man with Web Techs (go).
  • Youtube: JavaScript Game Development Course for Beginners (go).
  • Youtube: Pokémon JavaScript Game Tutorial with HTML Canvas (go).
  • Youtube: How to code a Street Fighter game (go).
  • Youtube: How to code a Bomberman game (go) (up).

8. TypeScript, Ocaml, Scala, and Functional Programming Deep Dive

  • The TypeScript Handbook (go) (back).
  • Youtube: Functional Programming with TypeScript (go).
  • Youtube: Advanced TypeScript (go).
  • FrontendMasters: The Last Algorithms Course You'll Need (go).
  • A Tour of OCaml (go).
  • Introduction to Functional Programming and the Structure of Programming Languages using OCaml (go).
  • OCaml Programming: Correct + Efficient + Beautiful (go).
  • Youtube: Let's Talk About Functional Programming (go).
  • 99 OCaml Problems (go).
  • Real World OCaml (go).
  • Functional Program Design in Scala (go).
  • Youtube: Scala at Light Speed (go).
  • Youtube: Type-Level Programming in Scala (go).
  • Youtube: An Akka, Cats and Cassandra Project in Scala (go).
  • Youtube: Scala in Action (go) (up).

9. Database Design, RDBMS, SQL, NoSQL, CSV, and Spreadsheets

  • Youtube: Relational Databases (go) (back).
  • Youtube: Database Design (go).
  • Youtube: Learn RDBMS, Database Normalization, and Boyce-Codd Normal Form (go).
  • Youtube: PostgreSQL Tutorial Full Course 2022 (go).
  • Youtube: ALL Hackerrank SQL Solutions - Easy Medium Hard Problems (go).
  • Youtube: Understand isolation levels & read phenomena in MySQL & PostgreSQL via examples (go) (up).
  • MongoDB Basics (go).
  • A Comprehensive Guide to Data Modeling (go).
  • Practical MongoDB Aggregation Book (go).
  • Youtube: ACID Definition (go).
  • Youtube: Writing My Own Database Form Scratch (go).
  • Regex Explain (go).
  • Crontab (go).
  • AST Explorer (go) (up).
  • Compiler Explorer (go).
  • GDB Online Debugger (go).
  • Youtube: Spreadsheets Tutorial for Beginners (go).
  • Batch Processing 22GB of Transaction Data with Pandas (go).
  • Web Page to PDF and other PDF tools (go).
  • Mongo Playground (go) (up).

10. Go Deep Dive, Pprof, OpenTelemetry, WebSockets, and Valkey

  • Read and practice through all Go Documentations, especially Effective Go and Memory Model (go) (back).
  • Youtube: 3 SIMPLE patterns to organize your goroutines (go).
  • Youtube: Go Semaphore Pattern Tutorial (go).
  • Youtube: Go REST API with NO DEPENDENCIES (go).
  • Youtube: Cache ALL THE THINGS using Valkey (Redis but FOSS) with Golang (go).
  • Youtube: Mastering Golang: Comprehensive Tutorial Series (go).
  • Youtube: Go Design Patterns (go).
  • Youtube: Advanced Golang (go).
  • Youtube: Build Web Application with Golang (go).
  • Youtube: Golang Ecommerce Platform (go).
  • Youtube: GO - Monolith Vs Microservice Project (go) (up).
  • Youtube: The complete gRPC course (Golang, Java, Protobuf) (go).
  • Udemy: Backend Master Class (request free coupon from the author) (go) (up).
  • Youtube: Fundamental of Profiling a Go application (go).
  • Debugging Go Code: Using pprof and trace to Diagnose and Fix Performance Issues (go).
  • Go-profiler-notes (go).
  • Youtube: OpenTelemetry Bootcamp Tutorials | Complete Course (go).
  • Youtube: Anton Putra's DevOps videos (go).
  • Youtube: Tiago's Go videos (go).
  • Youtube: ProgrammingPercy's Go videos (go).
  • Read goyave code, try to understand it (go) (up).

11. React, Headless WordPress, Next, HTMX, GraphQL, and React Native on Android

  • Youtube: I tried React and it Ruined My Life (go) (back).
  • Read grecha.js code, try to understand it, and reimplement it (go).
  • Learn React (don't use any of the framework they suggest, we'll use Vite) (go).
  • React Foundations (use they course, but again, don't use Next) (go).
  • Youtube: React Crash Course 2024 (go).
  • Youtube: React JS Full Course 2024 (go).
  • Youtube: React JS Full Course - Build 4 Projects in 5 Hours (go).
  • Project Odin: Foundations (go).
  • Project Odin: Full Stack JavaScript (go) (up).
  • Youtube: Learn React, Router, Redux, Zustand, React Query, Zod, i18next - Complete Tutorials (go).
  • Youtube: Learn React Hooks - Simply Explained (go).
  • Youtube: Design Patterns in React (go).
  • Youtube: Headless WordPress with React JS: Explained for Beginners - 2023 (go).
  • Youtube: GraphQL Crash Course in 2024 - Build a Full Stack MERN App (go).
  • Youtube: N + 1 Query Problem, GraphQL, and Performance Woes (go, go) (up).
  • Youtube: tRPC, gRPC, GraphQL or REST: when to use what (go).
  • Youtube: The Hidden Cost Of GraphQL And NodeJS (go, go).
  • Hypermedia Systems (go).
  • Youtube: FULL Introduction To HTMX Using Golang (go) (up).
  • Youtube: Go and React Query (go).
  • Youtube: Complete Next.js Course (go).
  • Youtube: From 0 to Prod with React (go).
  • Youtube: Build and Deploy Banking and Finance App with NextJS 14 (go).
  • As a Programmer's videos about JS ecosystem and building stuff (go).
  • Building React/Vite projects throughout the process (split 8/2 for example, dedicate 2h everyday building side projects, while 8h focus on main plan progressing).
  • React Native Guide, Components, APIs, and Architecture (go, go, go, go).
  • Youtube: Building a Budget Buddy App with React Native Expo SQLite (go).
  • Build an all-in-one management android app in React Native and SQLite (tasks, finance, health, projects, etc.) (up).

12. Data Structures and Algorithms Training

  • Youtube: Data structures playlist (go) (back).
  • Youtube: Dynamic Programming playlist (go).
  • Youtube: Graph Theory playlist; and implement them in Go (go).
  • Hands-on Algorithmic Problem Solving (go).
  • Youtube: Johnson Trotter Algorithm - Generate Permutations (go).
  • Detecting if GPS coordinates fall within polygon of points (go).
  • Grind 75 Must Do Leetcode Problems (go).
  • Build your portfolio website that show projects in a grid layout (up).

13. Introduction to Containerization via Docker, Microservices, and System Design

  • Youtube: Introduction to Microservices, Docker, and Kubernetes (go) (back).
  • Youtube: Docker Build Manual and Best Practices (go).
  • Youtube: Using docker in unusual ways (go).
  • Youtube: System design fundamentals (Series) (go).
  • Continuous Integration (go).
  • Scalable Web Architecture and Distributed Systems (go).
  • Software Design by Example with Python (go).
  • Software Design by Example with JavaScript (go).
  • PostgreSQL High-Availability (go) (up).

14. Containerization with Podman, Kubernetes, Helm, Ansible, OpenStack, OpenTofu, GitHub Actions, and AWS

  • Youtube: Podman Introduction (go) (back).
  • Youtube: Kubernetes 101 Workshop for Absolute Beginners (go).
  • Youtube: Ansible 101 (go).
  • Youtube: AWS Cloud Complete Bootcamp Course (go).
  • AWS Fargate for Amazon ECS Theory (go).
  • Youtube: Complete OpenTofu Course (Learn Infrastructure as Code) (go).
  • AWS and Go (go).
  • Youtube: GitHub Actions, OpenTofu, K8s, and Helm (go).
  • Container Self-Pace Training (go).
  • Testcontainers Getting Started (go).
  • Leveraging Containers and OpenStack - A Comprehensive Review (go).
  • Youtube: Let's read the Kubernetes source code (go) (up).

15. Job Search, LaTeX, Resume, and Interview Techniques

  • Youtube: The Best Career Advice Everyone Should Know (go) (back).
  • Youtube: Resume Advice (go).
  • Youtube: LaTeX for Students – A Simple Quickstart Guide (go).
  • A LaTeX resume template (go).
  • Youtube: How To Succeed In Coding & Technical Interviews (go).
  • Open Source eBooks (go).
  • Hired In Tech (go).
  • Front End Interview Handbook (go).
  • Tech Interview Handbook (go) (up).
  • Youtube: ThePrimeagen videos (go).
  • Youtube: Off the Clock videos (go).
  • Turing, LinkedIn, and companies job portals are the few place that I actually got fulltime offers from; 99% of job posts are fake.
  • Start making a resume and applying to every single decent platform and companies job portals after 100 work days while continue training (up).

16. Distributed Systems and Advanced System Design

  • Distributed Systems - A free online class (go) (back).
  • Distributed Problems Theory (go).
  • Youtube: System Design Interview (go).
  • Kubernetes Ultimate Hands-on Labs and Tutorials (go).
  • Kubetools - A Curated List of Kubernetes Tools (go).
  • Youtube: Distributed Database Concepts (go) (up).
  • Youtube: Understanding and using NATS Server in Golang (go).
  • Learn NATS by Example (go).
  • Youtube: Distributed File Storage In Go (go).
  • Go and Kafka with franz-go (go).
  • Youtube: Apache Kafka Series (in English) (go).
  • Youtube: Event Driven Programming with GO and Kafka (go).
  • Youtube: High Available Microservices With Apache Kafka In Golang (go).
  • Youtube: Solving A Golang Job Interview Assignment With Kafka (go).
  • Youtube: Building Microservices with Go (go) (up).

17. Rust and Zig Deep Dive

  • Youtube: Rust Tutorial Full Course (go) (back).
  • Youtube: Rust 101 (go).
  • Youtube: Rust Demystified - Simplifying The Toughest Parts (go).
  • Youtube: You Should Really Know These Traits in Rust (go).
  • Youtube: But what is 'a lifetime? (go).
  • Youtube: Modern All Rust Stack - Dioxus, Axum, Warp, SurrealDB (go).
  • Youtube: Compiler-Driven Development in Rust (go).
  • Youtube: Zig Master (go).
  • The Rust Programming Language (go).
  • Youtube: Crust of Rust (go).
  • Youtube: Advanced topics in Rust (go).
  • Youtube: Impl Rust (go).
  • Youtube: Decrusted (go).
  • Advent of Code (go) (up).
  • Youtube: Solving distributed systems challenges in Rust (go) (up).

18. Competitive Programming

  • Youtube: Errichto's Algo Lectures (go) (back).
  • Algorithms for Competitive Programming (go).
  • Book: Competitive Programmer’s Handbook (go).
  • Youtube: Algorithms Live (go).
  • CSES Problem Set (go).
  • Project Euler (go) (up).

19. Backend Engineering Extras

  • AWS Workshops (go) (back).
  • Youtube: KILLER GOLANG Projects (go).
  • Spring Academy: Spring Framework Essentials (in case apply to Java jobs) (go).
  • Youtube: Advanced Spring Boot tutorials (go).
  • The Hadoop Distributed File System (go).
  • The NoSQL Ecosystem (go) (up).

20. Your Magnum Opus, and Life-Long Study of Anthropology and Xenology

  • Good first issue (go) (back).
  • Final Project: Mutual Aid Distributed Platform with Go/GRPC backend and React/Vite frontend, any database; while concurrently building other web apps (go, go).
  • Youtube: CrashCourse educational playlists (go).
  • The Ancient Buddhist Texts (go).
  • Youtube: DhammaNet spiritual playlists (go).
  • Youtube: Dhamma-Vinaya Patipada spiritual videos (go).
  • Youtube: Ajahn Punnadhammo spiritual videos (go).
  • Youtube: Hillside Hermitage spiritual playlists (go).
  • Youtube: Ajahn Sona spiritual playlists (go).
  • Youtube: The Dhamma Hub spiritual videos (go) (up).
  • Youtube: Anark anarchism playlists (go).
  • Youtube: Andrewism anarchism videos (go).
  • Youtube: Horses social commentary videos (go).
  • Youtube: ThePrimeTime programming commentary videos (go).
  • Youtube: Professor Dave Explains educational playlists (go).
  • Youtube: Gutsick Gibbon's videos about primates and archeology (go).
  • Youtube: Avoid scams and grifters with Coffeezilla, Voidzilla, Coffee Break, and SomeOrdinaryGamers.
  • Youtube: Thunderf00t's videos debunking scammers (go) (up).
  • Youtube: The Why Files xenology videos (go).
  • Youtube: That is impossible xenology videos (go).
  • Youtube: DeepseaOddities xenology videos (go).
  • Youtube: Mr. Mythos xenology videos (go) (up).
  • Youtube: World of Antiquity anthropology videos (go).
  • Youtube: Ivan0135 xenology videos (go).
  • Youtube: UAP Gerb xenology videos (go).
  • Youtube: Jenined UFO Research xenology videos (go).
  • Youtube: MetaBallStudios anthropology simulation videos (go).
  • Youtube: Sam O'Nella Academy anthropology videos (go) (up).
  • Youtube: BlueJay anthropology videos (go).
  • Youtube: LEMMiNO anthropology videos (go).
  • Youtube: Barely Sociable anthropology videos (go).
  • Youtube: IMPERIAL anthropology videos (go).
  • Youtube: Zoanfly anthropology videos (go) (up).

Streamlined 1-Week React & Node JS SWE L5 Interview Prep List

...show all
  • Youtube: Permanently stop masturbation (go) (back).
  • Youtube: Spaceship You (go).
  • Youtube: Clean Code and Successful Career in Software Development (go).
  • Youtube: Academia is a Ponzi Scheme (go) (up).
  • Youtube: Why Governments are the Biggest Criminals (go) (up).
  • Youtube: All The Paint Explainer videos (go).
  • Youtube: When bad software kills (go).
  • Youtube: The worst thing you can commit, and how you can fix it (go).
  • Youtube: Linguistics (go).
  • Youtube: English Pronunciation Practice - Word Lists - American Accent (go).
  • Youtube: Learn ALL Verb Tenses - Past, Present, Future with examples (go).
  • Youtube: How do computers work? CPU, ROM, RAM, address bus, data bus, control bus, address decoding (go).
  • Youtube: Exploring How Computers Work (go).
  • Youtube: Science and Technology (go).
  • Youtube: Lua Programming Tutorials (go) (up).
  • Youtube: Python Tutorial for Beginners (with mini-projects) (go).
  • Youtube: Threading vs multiprocessing in python (go).
  • Youtube: Optimal Parallel Algorithms in the Binary-Forking Model (go).
  • Youtube: Mathematics (All Of It) (go) (up).
  • Youtube: Learn Algebra 1 and 2 in One Video (go).
  • Youtube: Learn Trigonometry (go).
  • Youtube: Learn Learn Precalculus (go).
  • Youtube: Learn Probability (go).
  • Youtube: Essence of calculus (go).
  • Youtube: Essence of linear algebra (go) (up).
  • Youtube: Bayes theorem, the geometry of changing beliefs (go).
  • Youtube: Bayes theorem examples (go, go).
  • Youtube: How to systematically approach truth - Bayes' rule (go).
  • Youtube: A Sensible Introduction to Category Theory (go) (up).
  • Youtube: Okay but WTF is a MONAD (go).
  • Youtube: The Absolute Best Intro to Monads For Software Engineers (go).
  • Youtube: What is a Monad? - The Last Monad Intro You'll Ever Need (go).
  • Youtube: Programming with Math | The Lambda Calculus (go).
  • Youtube: Game Theory 101 (go).
  • Youtube: Economics (go).
  • Youtube: Learn SOLID Principles with CLEAN CODE Examples (go).
  • Youtube: Object-Oriented Programming is Bad (go).
  • Youtube: You're doing agile wrong (go).
  • Book: Principles of Algorithmic Problem Solving (go) (up).
  • Youtube: Data structures playlist (go).
  • Youtube: Dynamic Programming playlist (go).
  • Youtube: Graph Theory playlist; and implement them in JavaScript (go).
  • Youtube: All CodeAesthetic videos (go).
  • Youtube: All Udiprod videos (go).
  • Youtube: All Spanning Tree videos (go).
  • Youtube: All Reducible videos (go).
  • Youtube: All B001 videos (go).
  • Complete Introduction to the 30 Most Essential Data Structures & Algorithms (go) (up).
  • Youtube: Design Patterns (go) (up).
  • How Web Works (go).
  • Youtube: World's shortest UI/UX design course (go).
  • Youtube: Each layer of the OSI model and TCP/IP explained (go).
  • MDN: Curriculum (go).
  • MDN: Getting Start with the Web (go).
  • Exercism - going through JS, TS, HTML, CSS, Node, React tracks (go).
  • MDN: JavaScript (go).
  • HTTP Networking in JavaScript – Handbook for Beginners (go).
  • Wiki: OSI model (go).
  • MDN: HTTP (go) (up).
  • Youtube: The QUIC Protocol, HTTP3, and How HTTP Has Evolved (go).
  • Youtube: Cryptography (go).
  • Youtube: A complete overview of SSL/TLS and its cryptographic system (go) (up).
  • RESTful web API design and Best practices in cloud applications (go).
  • OWASP Top 10 (go).
  • Youtube: HTML & CSS Full Course - Beginner to Pro (go).
  • Youtube: How to put an HTML website online (GitHub Pages) (go).
  • Youtube: JavaScript Tutorial Full Course - Beginner to Pro (2024) (go).
  • Youtube: The Nature of Code (go).
  • Youtube: Working with Data and APIs in JavaScript (go) (up).
  • Youtube: Node.js Crash Course 2024 (go).
  • Youtube: Node.js Event Loop (go).
  • Youtube: Express JS Full Course (go).
  • Youtube: Web Development In 2024 - A Practical Guide (go).
  • Youtube: Understanding the Complexity of Modern Web Dev Stack (Webpack, Babel, TypeScript, React) (go).
  • Youtube: What is Hydration (go) (up).
  • Youtube: 21 Awesome Web Features you’re not using yet (go).
  • Youtube: Learn DOM Manipulation In 18 Minutes (go).
  • Youtube: Reactivity Explained (go).
  • Youtube: Signal Explained and Implementation (go, go) (up).
  • Youtube: Promises and Async/Await From Scratch (go).
  • How to build an event emitter in JavaScript (go).
  • Youtube: Array Iteration: 8 Methods - map, filter, reduce, some, every, find, findIndex, forEach (go).
  • Inner workings of Map, Reduce & Filter in JavaScript (go).
  • The TypeScript Handbook (go).
  • Youtube: Functional Programming with TypeScript (go).
  • Youtube: Advanced TypeScript (go).
  • FrontendMasters: The Last Algorithms Course You'll Need (go).
  • Youtube: Introduction to Microservices, Docker, and Kubernetes (go).
  • Youtube: Docker Build Manual and Best Practices (go) (up).
  • Youtube: Using docker in unusual ways (go).
  • Youtube: System design fundamentals (Series) (go).
  • Continuous Integration (go).
  • Scalable Web Architecture and Distributed Systems (go).
  • Software Design by Example with JavaScript (go).
  • The Hadoop Distributed File System (go).
  • The NoSQL Ecosystem (go) (up).
  • Container Self-Pace Training (go).
  • Testcontainers Getting Started (go).
  • Youtube: Relational Databases (go) (up).
  • Youtube: Database Design (go).
  • Youtube: Learn RDBMS, Database Normalization, and Boyce-Codd Normal Form (go).
  • Youtube: PostgreSQL Tutorial Full Course 2022 (go).
  • Youtube: Understand isolation levels & read phenomena in MySQL & PostgreSQL via examples (go) (up).
  • MongoDB Basics (go).
  • A Comprehensive Guide to Data Modeling (go).
  • Practical MongoDB Aggregation Book (go).
  • Mongo Playground (go) (up).
  • Youtube: ACID Definition (go).
  • Youtube: I tried React and it Ruined My Life (go) (up).
  • Read grecha.js code, try to understand it, and reimplement it (go).
  • Learn React (don't use any of the framework they suggest, we'll use Vite) (go).
  • React Foundations (use they course, but again, don't use Next) (go).
  • Youtube: React Crash Course 2024 (go).
  • Youtube: React JS Full Course 2024 (go).
  • Youtube: React JS Full Course - Build 4 Projects in 5 Hours (go).
  • Project Odin: Foundations (go).
  • Project Odin: Full Stack JavaScript (go) (up).
  • Youtube: Learn React, Router, Redux, Zustand, React Query, Zod, i18next - Complete Tutorials (go).
  • Youtube: Learn React Hooks - Simply Explained (go).
  • Youtube: Design Patterns in React (go).
  • Youtube: Headless WordPress with React JS: Explained for Beginners - 2023 (go).
  • Youtube: GraphQL Crash Course in 2024 - Build a Full Stack MERN App (go).
  • Youtube: N + 1 Query Problem, GraphQL, and Performance Woes (go, go) (up).
  • Youtube: tRPC, gRPC, GraphQL or REST: when to use what (go).
  • Youtube: The Hidden Cost Of GraphQL And NodeJS (go, go).
  • Youtube: Complete Next.js Course (go).
  • Youtube: From 0 to Prod with React (go).
  • Youtube: Everything You'll Need to Know About Git (go).
  • Youtube: Git and GitHub for Poets (go).
  • Youtube: How to be a git expert (go).
  • Youtube: Learn GitHub Projects (go).
  • Youtube: AWS Cloud Complete Bootcamp Course (go).
  • AWS Fargate for Amazon ECS Theory (go).
  • Working with AIs to plan the project.
  • Implement the projects with GitHub Projects tickets and pull requests (up).
  • Youtube: The Best Career Advice Everyone Should Know (go).
  • Youtube: How To Succeed In Coding & Technical Interviews (go).
  • Youtube: Off the Clock videos (go).
  • Hired In Tech (go).
  • Front End Interview Handbook (go).
  • Tech Interview Handbook (go) (up).
  • As a Programmer's videos about JS ecosystem and building stuff (go).
  • Coding Interview Prep (go) (up).

For reference, here is an estimate of level based on Google's scheme:

  • L0: intern
  • L1: junior
  • L2: semi-middle
  • L3: middle
  • L4: semi-senior
  • L5: senior
  • L6: staff
  • L7: principal (up)

O. NEET Productive Daily Plan

Normal days

  1. 7 hours of sleep (11pm-6am); 30 minutes of morning stretching and breath meditation, 30 minutes of night stretching and breath meditation.
  2. 2 sets of 30 minutes of walking meditation; 15 minutes of muay and staff training; 15 minutes of alternate-day body-weight exercises:
    1. On Mon, Wed, Fri: Strength, 4 sets of:
      1. upper body: 7 push-ups, 2 pull-ups;
      2. lower body: 14 squats;
      3. core: 7 hanging knee raises;
      4. rest: 21 breaths.
    2. On Tue, Thu: Cardio, 7 sets of 40 jumping rope reps with a 21 breaths rest.
    3. On Sat, Sun: rest day.
  3. 1 hour of training Pali or English.
  4. Abstain:
    1. from killing any being whether human or animal, abortion, euthanasia, suicide, wars;
    2. from stealing, thievery, slavery, exploitations, fraud, bribery, nepotism, cronyism, favoritism;
    3. from sexual misconducts, assaults, adultery, prostitution, masturbation, hookups, transactional relationships;
    4. from lying, deceiving, cheating, forgery, propaganda;
    5. from alcohol, drugs, smoking, gambling, pornography, overeating, clubbing, partying, etc.
  5. 30 minutes of one meal of vegetables, fruits, and pasture raised chicken eggs; 15 minutes of house chores.
  6. 8 hours of programming.
  7. 6 hours of gaming, chess, cubing, or researching, writing, and making videos (up).

Uposatha/Sabbath days, average 4 or 8 days per month, base on lunar calendar

  1. 7 hours of sleep (11pm-6am); 1 hour morning stretching and breath meditation, 1 hour night stretching and breath meditation.
  2. 2 sets of 1 hour of walking meditation.
  3. 2 hours of reading scriptures.
  4. Abstain:
    1. from killing any being whether human or animal, abortion, euthanasia, suicide, wars;
    2. from stealing, thievery, slavery, exploitations, fraud, bribery, nepotism, cronyism, favoritism;
    3. from all sexual activities;
    4. from lying, deceiving, cheating, forgery, propaganda;
    5. from alcohol, drugs, smoking, gambling, pornography, overeating, clubbing, partying, etc;
    6. from meals at the wrong times and at night;
    7. from entertainments and beautification;
    8. from sleeping on high or luxury beds.
  5. 30 minutes of one meal of vegetables, fruits, and pasture raised chicken eggs; 30 minutes of house chores.
  6. 8 hours of programming.
  7. 2 hours of listening to dhamma talks.
  8. 1 hour of reflection and contemplation (up).

A detail timetable example

  • Use app like Habits to track all of your daily common activities, strive for consistency
  • daily-routine.md

P. Philosophy in Action

1. Internal Analysis (Buddhism) (up)

  • 8 external influences: gain and loss, fame and disgrace, blame and praise, pleasure and pain.
  • The keeping of the five precepts and eight precepts on Uposatha days; strengthening Right View and analysis frameworks.
  • The training in Noble Eightfold Path.
  • The training in healthy lifestyle, strength, and endurance.
  • The training in self defense and staff usage.

2. External Analysis (Anarchism) (up)

  • 8 core aspects of a society: infrastructure, healthcare, welfare, education, council of direct democracy, economics, defense, intelligence.
  • 3 core analyses of hierarchy: mean-end disunity; violent domination, exploitation, and deception; self perpetuation.
  • The abolition of all forms of hierarchy, state, class, slavery, involuntary servitude, exploitation, domination, prison system, and taxation; the uprooting of any chance of re-arising of any form of hierarchy, state, or class; the prevention of any form of upstartism and exploitation.
  • The abandonment of all forms of private property and land ownership or representation, and the protection of personal properties based on usage.
  • Freedom and solidarity; stateless classless moneyless society via library economy; freedom of movement, of speech, of assembly, of horizontal association, of religion, to self defense and to keep and bear arms, of restoration or social sanction or eviction or excommunication of bad people from a community; the protecting of the ecology and the conscious continuous ongoing revolution, of mutual aids.

3. Layman's Primer - A collection of 30 discourses (up)

Read and try to understand and memorize by heart the discourses to develop Right View, what’s right and what’s wrong, what’s to be done and what’s not to be done, and to be able to recall the Dhamma in dire circumstances. Keep the five precepts (understand all the specificities, not break them yourself, not encourage the breaking of them, and not praise the breaking of them) everyday, keep the eight precepts on Uposatha days. Practice the Noble Eightfold Path according to the Buddha’s instructions (pay attention to Right Livelihood as you’re a lay person). Develop the habit of contemplation and meditation (both sitting and walking), see what’s obstructing the mind and what’s nourishing it.

(up)


Q. Chess Practice

Aim for strong principles, tactics, endgames, and strategies; Simple London for White and Caro-Kann/Nimzo-Indian for Black.

R. Speedcubing Resources

Aim for decent enough in all WCA events. Main 3x3, 3BLD, 2x2, Pyraminx, Megaminx, OH, 4x4, 5x5.


Notes

My reference resources and some experiences as a software engineer (60% backend/game/robotic, 30% frontend, 10% ops, working in game dev since 2007, robot engineering since 2015, and web dev since 2018), it should be a good “birds-eye view” for a programmer who want to learn things the bottom-up approach. This list is handcrafted and not generated by AI nor contains any affiliation. Some notes before proceeding with the list (up):

  • This guide is based on 100% free and quality resources vetted and curated by me. It’s not mean to be an exhaustive list. It aims to provide just a minimum skeleton that built from the ground up. If you found something cool please share in the comment below and I can add it to the list after vetting. Copy/clone/fork this so that you can use the checkboxes.
  • Avoid sinking time into pointless videos made by grifters and course/dream sellers, don’t let them exploit your emotions and insecurities for views and money. This is not a get rich quick course, or get 6 figures salary roadmap, it's just my knowledge base.
  • Practice the habit of always checking official documentations first before watching tutorials, endure the inconvenient in the moment, you'll become much better and more independent in the long run. Take the knowledge and leave, don't worship the educator.
  • For YouTube videos, just blast through them in 2x speed or even 4x speed, enjoy the ride, and code along. Beware the sales funnel in some videos and don't waste money on those. Make sure the concepts are well sticked to your mind before moving on or else you're just wasting your time. Use uBlock Origin and SponsorBlock to combat the evil advertisement industry.
  • For someone who’s self-taught, it will take more than 18 months to thoroughly finish the whole Streamlined Noob to SWE L7 Roadmap - Foundation, assumes that you spend at least 8 hours everyday working on it, there is no shortcut.
  • Remember the 80/20 rule: you only need to do 20% (easy things first) to achieve 80% of results (good enough). The rest 20% is exponentially expensive, so tread carefully. Have a plan in mind and focus on a certain niche, for example, if you want to be hirable fast focus on web dev with Go and NextJS, if you want to have a lot of fun and can do useful things right away and can earn money via selling games on Steam then focus on game dev and robotics first. And also participate in free competitions or game jams if you have chance.
  • Have a Daily Routine planed out in details and stick with it. Cultivate good habits and drop bad habits gradually. Please stay healthy in both body and mind.
  • Just go through the list in a top-down order, one-by-one, and you’re good to go. Stuffs inside parentheses mean optional. Numbers in the bracket are total duration in 2x speed and number of video in that playlist.
  • All you need is a large sample size (build a lot of projects) for a comprehensive mental model. It all comes down to muscle memory. And also to have a beefy portfolio of finished projects.
  • Think about the problems in your life or others that you want to solve and try to apply your knowledge.
  • Regarding code editor, using whatever feels comfortable is good enough, but Vim motions is a must-have. I recommend Neovim, but you can also use Emacs, it has great org mode for note taking, it’ll be much more enjoyable when you have full control of your dev environment.
  • If you're using magnet/torrent, consider keeping the files for at least 7 days or 1.0 ratio for seeding so that you can pay back the community.

(up).

@lavantien
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment