Sadly a large part of "improving steadily" has been my knowledge about how the SDK functions. If you read the docs there is no way on earth you can just write something that works. You try, it crashes, you read someone else's code, you re-read the docs sideways, you try some crazy stuff, you swear, and finally you figure out what crazy idea their SW developer had...
The typical modules (esp-01 thru esp-11) are super-cheap. I don't know about the -12. I'd look for the -13 module or the WROOM-II module that Espressif makes themselves. It's a good footprint and may be getting FCC certification (I can't tell). The Espressif modules may have higher quality...