There's a quote that I'm too lazy to look up that essentially says software development is the management of complexity.
That, more than any other description, has always resonated with me. Any beginner can create a bird's nest of code that is too complex for even the most experienced developers to fully understand.
I've been at this for 40+ years now, and if I'm struggling to write something, it's usually not because I don't know how to implement it. It's because I'm trying to pick an implementation that will be simple to understand, verify, and use.
That, more than any other description, has always resonated with me. Any beginner can create a bird's nest of code that is too complex for even the most experienced developers to fully understand.
I've been at this for 40+ years now, and if I'm struggling to write something, it's usually not because I don't know how to implement it. It's because I'm trying to pick an implementation that will be simple to understand, verify, and use.