📃
Julianne's Knowledge Base
  • README
  • Home
    • Computer Science and Programming
      • Data Structures
        • Array
        • Binary Heap
        • Binary Tree
        • Deque
        • Dynamic Array
        • Graph
        • Hash Table
        • Linked List
        • Queue
        • Stack
      • Databases
        • Database Normalization
      • Networking
        • IP Protocol
        • Network Devices
        • OSI Model and TCP/IP
        • Ethernet LAN Switching
        • IPv4 Addressing
        • Sockets
      • Operating Systems
        • UNIX Operating Systems
          • Fundamentals
            • Virtualization
              • CPU Virtualization
              • Processes
            • Processes
          • xv6
      • Software Development
        • General Tips
        • My Goals as a Software Developer
        • Programming Languages
          • C
            • Memory Management in C
          • C++
            • I/O in C++
            • Iterators
            • Memory Management in C++
          • Javascript/TypeScript
            • Inheritance
            • React
            • Useful Libraries
          • Python
        • Tools
          • GDB
          • Git
    • Cooking
      • Diet and Nutrition
      • Recipes
    • Languages
      • Japanese
        • Grammar
        • Numbers and Counting
    • Productivity
      • Getting Things Done (GTD)
      • My GTD Trigger List
      • My Personal Knowledge Management System
      • Obsidian
        • Plugins
        • Using Obsidian
Powered by GitBook
On this page
  • Topics
  • Reading List
  • Currently Reading
  • Read
  • Plan to Read
  • Reference Materials
  1. Home
  2. Computer Science and Programming
  3. Software Development

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

PreviousGeneral TipsNextProgramming Languages

Last updated 2 years ago

The Linux Programming Interface
The C Programming Language
The Pragmatic Programmer
21st Century C: Tips from the New School
The UNIX Programming Environment
Beej's Guide to Network Programming
Programming: Principles and Practice Using C++ (2nd Edition)
Operating Systems: Three Easy Pieces
The Elements of Computing Systems
The Algorithm Design Manual
The Structure and Interpretation of Computer Programs
How to Solve It
Computer Networking: A Top-Down Approach
Language Implementation Patterns
The Mythical Man-Month
Clean Code
System Design Primer
The Structure and Interpretation of Computer Programs
Effective Modern C++
OSDev Wiki
C/C++ Reference