few doubts
maintainable
programmer
One additional point. If you are writing very low level code in C with references to the lowest part of the processor the compiler is responsible for instruction selection. In asm we are always working on both algorithm and implementation. Both important. In the C case we can be more focussed on the algorithm and less on implementation. We can take advantage of compilers new implementation per compile and use the metrics of the compiled code to evaluate alternatives.
I agree with your other point about good programmers are good programmers in any environment.