Function, parameters, modules, classes, objects, variables, interface, co and contravariance, structs, union... Functional programming, database (data normalization, SQL, no-sql), OS stuffs (process, scheduling, virtual memory), virtual machines, linkers and loaders, compilation, interpretation, compilers (language theory & implementation), HTML et al., networks (ip addressing, domain name, socket), software architecture, design patterns, security issues, memory management, IPC, containers, deployment, CI, encoding (Unicode, UTF8, ASCII), IO, various file formats... List, tree (binary, balanced, implementation), hashset, graph, stack, FIFO. Back-end, mobile, windowed app, game... etc, etc.
I see there is a lot of genius in this thread, having come across all these concepts and got a working understanding of all these things in a few weeks/months. I'm 10 years in and I still learn weekly. Either Dunning–Kruger is in full effect or you internalized so many thing you don't see them anymore.