pdzaffina / the_personal_cs_degree

An opinionated and curated list of Computer Science concepts in the spirit of Josh Kaufman's "The Personal MBA" (https://personalmba.com/)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Personal CS Degree

An opinionated and curated list of Computer Science concepts in the spirit of Josh Kaufman's The Personal MBA (https://personalmba.com/)

Intro

My name is Peter Zaffina and I'm passionate about using technology to improve people's lives. I'm a self taught technologist with a focus on designing systems to help small local government businesses solve their workflow problems.

I'm living proof of the character Will Hunting's quote:

You wasted $150,000 on an education you coulda got for $1.50 in late fees at the public library.

Matt Damon, Good Will Hunting

I've compiled a list of references to help guide others with their self development journey.

Roadmap

This is currently a mind dump. I'll be working to shape this into a more coherent structure over time.

Basic Theory

Concepts

  • Legacy Code
  • Test Driven Development
  • Domain Driven Design
  • Software Design Patterns
  • Software Architectural Patterns

Databases

  • OLTP / OLAP
  • Write heavy vs. Read heavy workflows
  • Eventual consistancy
  • NoSQL
  • Data warehousing
    • Kimball
    • Slowly changing dimensions
  • SQL
  • ETL vs. ELT

Techniques

  • Functional Programming
  • Object Oriented Programming
  • Procedural Programming
  • Imperative vs Declarative
  • DevOps
  • Legacy Code
  • Responsive Web Design
  • Agile
    • Agile Manifesto
  • "The Subway problem"
  • Virtualization
  • Containerization
  • Infrastructure as Code

Web Dev

  • MVC Pattern

System Design / Architecture

  • Event Driven Microservices
  • Service Oriented Architecture
  • Clean Architecture
  • Microsoft guides
  • Monoliths

Technologies

  • Postgresql
    • A Curious Moon

Fields / Career Paths

  • Architecture

Engineering Management

Tools

  • learining.oreilly.com

Characters

  • Ada Lovelace
  • Bob "Uncle Bob" Martin
  • Michael Feathers
  • Dorothy Vaughan
  • Kent Beck
  • Brooks
  • Conway
  • Dyskstra
  • Guido van Rossum

Opinions

  • Zen of Python
  • Web is platform that best delivers write once, run anywhere
  • LoB apps in Enterprise as web first
  • Event driven to act as unifying sysytem of lots of different disparate systems
    • Customer addresses and every system needing access to a central data system. When One changes some other businesses need the knowledge that there was a change, even if they don't want to change.
  • ftw
    • Functional
    • Web based
    • F# / C#
    • Postgres
    • Event Driven Pub/Sub
  • Python
    • Django framework
  • sqlite
  • Clojure
  • Typescript
  • C#
    • Blazor framework

Recommended Reading*

"The Classics"

  • Gang of Four
  • Wizard Book
  • The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition
    • by David Thomas and Andrew Hunt
  • Clean Code: A Handbook of Agile Software Craftsmanship
    • by Robert C. Martin
  • Kent Beck
  • Michael Feathers
  • Don Dykstra

IT to Drive Business

  • Lean Start Up

Risk Management

  • Waltzing with Bears

DevOps

DDD

  • Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#
    • by Scott Wlaschin

Management

  • The Effective Manager
    • by Mark Horstman

History

  • The Turning book on breaking down his paper
  • Where Wizards Stay Up Late: The Origins of the Internet
  • Life in Code: A Personal History of Technology

Recommended Listening*

Links*

*note: links are for convenience, I don't receive anything when you use them

About

An opinionated and curated list of Computer Science concepts in the spirit of Josh Kaufman's "The Personal MBA" (https://personalmba.com/)