Modern tooling and lack of language features does not make it easier to design a program. I have seen self-proclaimed C developers struggle with managing the ownership and lifecycle of memory in a sane way.
I started writing commercial software in c in the late 80s, did my own memory management system to work around the limited memory handles in win3, got sdcc going for a custom z80 system where I had to do the startup code, and i have no idea how const works.