My Goals as a Software Developer
This is a list of things I'd like to learn more about as I grow as a software developer. This is not a checklist. Because there is always more to learn, I would never feel comfortable checking something off.
Topics
General
Binary/hex Notation
Boolean Logic
Data Structures
Arrays
Strings
Linked Lists
Hash Tables
Stacks
Queues
Trees
Binary Tree
Binary Search Tree
Heap
Graphs
Matrices
Tries
Algorithms
Sorting
Selection Sort
Bubble Sort
Insertion Sort
Merge Sort
Quick Sort
Shell Sort
Searching
Linear Search
Binary Search
Breadth First Search
Depth First Search
Graph Algorithms
Dijkstra's Algorithm
Tree Traversal
Inorder
Preorder
Postorder
Design Patterns
Singleton
Factory Method
Strategy
Observer
Adapter
State
Command
Concepts
Greedy Algorithms
Dynamic Programming
Divide and Conquer
Recursion
Threading
Testing
Scalability
Programming Languages
Concurrency
Finite state machines
Databases
Tooling
Version Control
Debuggers
Issue Tracking
Continuous integration
Compilers
Assemblers
Linkers
Make utilities
Emulators/Virtualizers
Operating Systems
Kernels
Filesystems
Networking
Security
Memory management
Multiprocessing
Reading List
Currently Reading
Read
Plan to Read
Reference Materials
Last updated