When we say coding/software development is hard, what do we really mean?
It can vary depending on your personal definition of "easy" versus "hard", but generally, people often use the term "coding" to describe a range from mildly simple programming constructs like loops and conditionals through slightly more complex things that involve object oriented scripting languages or syntaxes with an easier-to-learn language such as Python. As you advance in this realm it may become increasingly difficult due to the complexity inherent when trying to define behavior by describing systems (in the form of objects) which interact with each other without pre-defined rules (loops).
The difficulty in software engineering comes primarily in large part because it has no objective measure of correctness, only subjective opinions based on empirical evidence (like tests not running correctly under certain conditions compared to expectations). A single small change could break existing code leading to new bugs discovered months later being labeled a 'feature', rather than a fix for something that wasn't working properly at all before! This lack of precise measurement leads towards arguments over semantics rather then actual solutions making it so any consensus takes time while developers just stop caring about their work as they are busy finding excuses why its too expensive for them to get paid... (This happened less then 10 years ago...)