Introduction
I am not a smart man. But you do not need to be smart in order to write software. In fact, I have found that, more than anything else, curiosity is the engine of productivity in software engineering. It can be easy to get discouraged if you are not careful though. The sheer volume of things to learn in software engineering can be overwhelming to the point of paralysis. Sometimes I find it helpful to remind myself of something I used to say when studying mathematics:
I like to think that this applies to software engineering as well. Don't try to learn everything. You can't. It's a fool's errand. But, day by day, you should hopefully be able to point to something you misunderstand just a little bit less. I have worked hard to break into the software industry, something I have now been doing professionally for a couple of years, but I have much more "breaking" and "misunderstanding less" to do. This site represents portions of my journey. Feel free to point out whatever mistakes I make. Hopefully we can both learn from them. Here's to misunderstanding everything just a little bit less.
Noteworthy Resources
This site consists primarily of documentation pages (i.e., the "Handbook"), but a blog is also actively maintained. Noteworthy posts from both categories may be found below as well as links to other noteworthy external resources that I maintain (but are not technically part of this handbook).
Handbook Entries
Data Structures Overview
Check out time and space complexity overviews for various data structures and array sorting algorithms.
Window Functions (SQL)
Feynman Technique
Definitions, theorems, and results
A cumulative list of definitions, theorems, and results can be quite useful, especially when you are in need of a dust-up or review.
Blog Posts
Comments with Giscus
This blog post details how to enable comment sections on doc pages and blog entries on sites powered by Docusaurus (like this one) using giscus.
Light/Dark Modes with Material UI and Docusaurus
This blog post details how to synchronize the default light and dark mode palettes used in Material UI with the light or dark mode being used on a Docusaurus site.
External Resources
Docusaurus Input-Output Examples
Collection of input-output examples for use with sites powered by Docusaurus.
KaTeX Reference
Basically the KaTeX documentation site (but everything is ensured to work with Docusaurus).
MySQL Reference
Easy-to-use references to many MySQL functions (e.g., string functions, date functions, etc.).
Postgres Reference
Easy-to-use references to many Postgres functions (e.g., string functions, date functions, etc.).
PG Exercises Reference
Comprehensive reference for the popular online Postgres Exercises tutorial.
Algorithm Design Manual (Book Notes)
Book notes to accompany Steven Skiena's Algorithm Design Manual.