Actually I am a hardware developer. But doing that, I have to program C++ every other day. So although I am a professional, I am not a professional programmer. weird
Since the last years, I tried to learn more and more C++ and improve my techniques and understanding. And while I am quite good (in comparison to hw developers), I am still a novice in comparison to a professional programmer.