Running away from complex projects is something most of us do, this is mostly because of not knowing what you are supposed to do and it involves a lot of trial and error and if you just can't handle that then you just start searching for existing solutions and just settle.
Being interested in the most basic things (in terms of tech) has helped me build things based on assumptions and that helps me look for solutions faster since I kinda know what I'm looking at. It's not a perfect approach but it does help you speed up things.
Also, it's the only way I know that has helped me learn quite a few things, base them on assumptions about the implementation then go in detail to correct myself. The correction part is quite important.
This has significantly helped in improving my thinking process while writing code and I appreciate what lower level implementations have saved us from. If I had to deal with all of that when I first started, I wouldn't be a programmer, I'd be crying in the corner somewhere.
Not that I'm suddenly a guy with a higher IQ but i'm smarter than I was 2 weeks ago with regards to the domain I've been working with.
I guess at some point in your developer life, no matter what you do, (frontend, backend, etc) , getting down to writing implementations of things you've always taken for granted will help you get better at development.