I had a really good boss once that took the time to make me better than he found me. I am not sure what he initially saw in me because I was always a strong-willed-arrogant-stab-you-in-the-front-know-it-all-dont-like-others-my-way-or-highway kind of person.
I very easily alienated others and hit bricks walls without knowing they were there... I knew what needed to happen, but always seemed to find the wrong way to go about it. At any rate over the course of several years he mentored me to the point that I know have the business knowledge to wade deeper in the cesspool and still come out clean. I have not changed so much as I know how to use my skills more wisely to give the business what they want; therefore, getting what I want too.
I recently changed jobs and am continually faced with new opportunities to further hone my skills. The only bad thing is that I see how I used to be by watching others make the same mistakes and them not knowing why. I would say that 70-75% of the developers I know do not know how to carry themselves in a professional manner.
They either are too geeky to relate to others or they will not step off their pedestal long enough to realize they are missing out on so much (could be lack of oxygen).
Something simple like answering the customer's questions to the best of your knowledge like oh maybe an estimate or what did you do last week! Too many people want to hide what they are doing by being evasive and thinking they are getting away with something. WAKE UP! You are only harming yourself by fearing change and full disclosure. I know devs that do not want to watched while coding because of fear.
I say let's co-develop so you CAN see my mistakes and maybe I can get better. If you know you need help, do not try and hide it because you really aren't anyway. People are very intuitive and know without being told what you are trying to hide.
Be courageous and willing to open yourself up to others, you may find something you did not know you were missing. LIfe is a test that you will not survive, be willing to test and be tested daily.