I've been programming since the mid-late eighties. I started out with BASIC on a Commodore 64. By 1992, I thought I knew everything there was to know about programming. Then I learnt C, and found out that I didn't know very much at all. I programmed for another ten years. By 2002, I had programmed a lot. Surely by now I'd figured out everything about programming. Then I saw Scheme and I realised that I didn't know very much at all.
When I started testing software, I thought I knew everything about testing. Just check the requirements, create some tests cases to validate the requirements, run the cases, and you're done, right? Then I ran into TDD, Cem Kaner, Brett Pettichord and James Bach. Now I know that I don't know very much at all.
When I started working with UI, it all seemed so easy. Create windows and buttons and hook up events. Then I started reading Alan Cooper, Bruce Tognazzini and Don Norman. Now I know that UI design is actually very complicated and I don't know any of it.
Peter Norvig says it takes 10 years to get good at a skill. If you think you know something, either you've been doing it for years, or you're still at the first step. Most likely the latter.
The more you know, the more you realise how much you don't know.