10 Coding Principles for Better Code Quality
Ten coding principles covering readability, coupling, testing, and maintainability.
Software engineering practices, design choices, and delivery habits that influence code quality, maintainability, debugging, testing, and change safety.
Ten coding principles covering readability, coupling, testing, and maintainability.
Eleven career steps covering depth, ownership, communication, and judgement.
Concurrency for coordination and parallelism for simultaneous execution.
Linux boot stages from firmware and bootloader to kernel, initramfs, and user space.
Nine API test types and the failure modes each one is meant to catch.
Programming paradigms through state changes, pure functions, and objects.
Algorithms behind partitioning, ranking, scheduling, and distributed coordination.
Programming paradigms for state mutation, abstraction, data flow, and concurrent work.
Object-oriented programming pillars for modelling behaviour, state, and reuse.
Load balancing algorithms for request distribution, affinity, and backend load awareness.
Programming language evolution from machine code to modern abstractions.
Ten everyday data structures for lookup, ordering, traversal, and storage.
C++, Java, and Python differ in where compilation, execution, and runtime work happen.
Core standards for transport, web APIs, data formats, identity, and security.
Ten software engineering books on design, systems, debugging, and team practice.
Duplicate URL control with normalisation, fingerprints, and probabilistic deduplication.
Big-endian and little-endian byte order in memory, files, and network protocols.
Blocking and non-blocking queue semantics for waiting, throughput, and contention.
Data transmission through serialisation, network transport, routing, and parsing.
Multithreading patterns for work queues, pooled workers, futures, and shared-state control.
C++ workloads where memory control, predictable latency, and hardware access matter.
Browser execution of C, C++, and Rust through WebAssembly and host APIs.
Java collections through interface contracts, ordering, and lookup costs.
Programming language energy use through runtime cost, memory use, and workload.
Full-stack development across browsers, servers, databases, and delivery pipelines.
Garbage collection through reachability tracing, generations, and pause trade-offs.
Common server roles for HTTP delivery, mail, databases, files, applications, and proxies.