Files
org_roam/Career Concepts/20260101010049-concepts.org
Zaine e2e4972123
All checks were successful
Build Roam Site / build (push) Successful in 28s
gitea runners
2026-05-06 15:26:35 +01:00

3.8 KiB
Executable File

Concepts

In this node lies notes relating to theoretical concepts tying with maths and/or computer science. I will need to find a way to categorise different notes, but it's a wip.

Mathematical Concepts

Part of being a software engineer is having a good grasp of mathematical concepts. Here are some notes on various mathematical concepts that I find useful.

Core Programming Concepts

Some core programming concepts that are essential for software development. The things I need to add here are:

APIs

Concepts to learn and talk about (cs and maths)

  • xor
  • big O notation
  • time complexity
  • space complexity
  • data structures
  • algorithms
  • design patterns
  • functional programming
  • object-oriented programming
  • relational databases vs non-relational databases
  • Database permissions, roles and accounts
  • networking basics
  • operating systems fundamentals
  • concurrency and parallelism
  • software development methodologies (Agile, Scrum, etc.)
  • version control systems (Git, etc.)
  • testing methodologies (unit testing, integration testing, etc.)
  • security best practices
  • cloud computing basics
  • containerization (Docker, Kubernetes, etc.)
  • DevOps practices
  • CI/CD pipelines
  • microservices architecture
  • API design and development
  • restful apis
  • web development fundamentals (HTML, CSS, JavaScript)
  • mobile app development basics
  • machine learning basics
  • data science fundamentals
  • big data concepts
  • blockchain basics
  • cryptography fundamentals
  • user experience (UX) design principles
  • software architecture patterns (MVC, MVVM, etc.)
  • debugging techniques
  • performance optimization strategies
  • software documentation best practices
  • ethical considerations in software development
  • emerging technologies in software development
  • career development in software engineering
  • soft skills for software engineers (communication, teamwork, etc.)
  • project management basics for software projects
  • open source contribution best practices
  • remote work best practices for software engineers
  • continuous learning strategies for software engineers
  • data types
  • bytes and bits
  • number systems (binary, decimal, hexadecimal)
  • logic gates
  • set theory
  • graph theory
  • combinatorics
  • probability theory
  • statistics
  • linear algebra
  • calculus
  • discrete mathematics
  • compilers
  • interpreters
  • automata theory
  • formal languages
  • Turing machines
  • computability theory
  • MVPs and MVTs