Software Engineering Checklist

Resources for essential topics of Software Engineering, including Distributed systems, Database, Operating Systems, etc.

General

  • The Missing Semester of Your CS Education

Architecture

  • The Architecture Behind A One-Person Tech Startup

Linux

  • Linux command line for you and me
  • bootup — System bootup process
  • How to Use Cron on Linux: Tips, Tricks, and Examples
  • https://www.trevorlasn.com/blog/10-essential-terminal-commands-every-developer-should-know
  • Perl: Perl One-Liners Guide

Programming

  • Write yourself a Git!

Distributed systems

  • MIT 6.824 Distributed Systems (Spring 2020)

Database

  • CMU Intro to Database Systems (15-445/645 - Fall 2022)

Security

  • The Reluctant Sysadmin's Guide to Securing a Linux Server
  • Hack the Hacker - How to Setup an SSH Honeypot

Mobile device app

  • Build Apps w/Swift + SwiftUI

Blogs

https://nat.org/

Productivity

  • Some self-host containers:

    • https://www.xda-developers.com/best-docker-containers-productivity/
  • AI-Powered Git Commit Assistant:

    • https://github.com/Undertone0809/gcop?tab=readme-ov-file
  • Converting various files to Markdown (e.g., for indexing, text analysis, etc):

    • https://github.com/microsoft/markitdown
  • White noise: https://www.ppbzy.com/