When I started working one and a half years ago, I knew a lot less about software development than I know now. This does not necessarily imply that I know everything now. But I think in the meantime I have learned a lot.
The latest acquisition in the field I made through my second code review where the reviewer came back and said “You need to look over your exception handling, you should not ….” he was absolutely right. Up to that point I had basically ignored exception handling and had seen exceptions as a necessary evil that came with the language. So I had done all kinds of funny things with exceptions, except one thing: handle them in a consistent way throughout my application and make them visible when they occurred.
The first changes with my attitude came about when I learned about assertions.