Skip to content

tshemsedinov/Programming-Knowledge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

Essential Knowledge for Programmers in 2026

Here's what I suggest learning and practicing for all langiages but especially for JavaScript/TypeScript and Web. These principles can become cargo cults if not properly rethought. Understanding these concepts can't just be extracted from a box (or book) and placed into your maind. It varies greatly for different languages and platforms. Blindly transferring knowledge and practices from C++ or Java to JavaScript and C# results in dead ceremonies. However, they can be revived through practice, tied to realities, and rethought to avoid becoming monstrous and horrors.

  • Data structures (just how to use)
  • Type systems: nominal, structural, variance...
  • Modularity system (in your language)
  • Polymorphism (Ad-hoc, Subtype, Parametric, etc...)
  • Structural composition, aggregation, delegation
  • Functional composition, pure functions
  • Abstraction layers separation
  • Dispatch and Dynamic dispatch
  • Referential transparency
  • Law of Demeter
  • Abstract data types (ADT)
  • Hidden and explicit state
  • Lazy evaluation
  • Declarative vs imperative style
  • Recursion versus loops
  • Generics (generic programming)
  • Separation of concerns
  • Isolation, interfaces, architectural boundaries
  • Dependency injection and Inversion of control
  • Coupling and cohesion
  • Mutable vs immutable data
  • Idempotent operations
  • Naming conventions
  • Error handling
  • Refactoring, code review process
  • Tests (unittesting, coverage, end-to-end...)
  • Multiparadigm programming
  • Metaprogramming (codegeneration and dynamic)
  • Platform-agnostic, framework-agnostic approach
  • Domain-Specific Language (DSL), Interpreter, AST
  • Contract programming
  • Concurrency and Asynchronous programming
  • Separation of system and applied code
  • Language and semantics
  • AI-assisted engineering

But all of this should also take up no more than 30% of an engineer's skills, as of 2026. I'll add somethin about the 70% here later.

Follow Me

Contributors