I think programming consists of several subdisciplines:
- how to use the compiler + build tools.
- how to use the programming environment / libraries
- how to split your problem in smaller problems
- how to solve a small problem
- how to organise your code on a high level.