Assembler has a narrow use case. Any more than 10 lines and it should be done in C.
Rarely can an engineer, let alone a true programmer do a better job hand stitching assembler than a modern C toolchain can. There is nothing you can do in assembler that you can't do in C, better, faster, cheaper and with fewer bugs and fewer maintenance headaches. I'll take the 0.01% inefficiency for the smallest most trivial programs in favor of the 99.99% extra efficiency in everything else.
If you reach for Assembler, you probably don't know C well enough but I would suggest, as a software guy primarily, you would gain way more by becoming a C expert than you would lose by letting Assembler go. C gives you a vast array of tried and true libraries of code, much of it runs the same on an AVR as a 8051 or a PIC or ARM. How many Assembler variants and datasheets are you going to remember?
C makes you flexible, pragmatic.