Programming should be like this. When you're in your twenties thinking you know everything you should have have an old master slapping you on the writs telling you that even if you think you are - you actually are not ready building real systems yet. ;-)