When I was working as a programmer during my first job, I had a staunch position and strong opinion on certain issues, and would budge very little from my position. Even when I knew I was wrong (talk about escalation of commitment!). My family soon learnt that the best way to solve such issues was to let me on my own and let me figure out the answer.
As time went by, often I would be in a position where I was forced to re-examine the issues and take a different stance. At a philosophical level, it became easy to write-off such inconsistencies by simply saying that “there can be no absolutes” … “what is truth” … and so on of more such poppycock. In fact this was the subject of a discussion with a friend – the fact that there is no such thing as an absolute, and that the identity of a person is defined by the absolutes he chooses to stand by. These absolutes may not be universal in nature (as in, they may be subjective in nature), but they are absolutes for that person nonetheless.
A child’s mind is put in a mold through the use of such absolutes. “Don’t lie” … “Don’t cheat” … but over a course of time, the individual learns to define his own absolutes … “cheating is good as long as I am not hurting anyone” … “don’t give money to beggars” … “don’t enter the kitchen when the wife is cooking” … well not the last one (but hey, it might exist for you!!).
In short, if you want to develop your identity, develop your own opinion of things (in turn developing your own set of absolutes).