A few years ago, when I first became a paid programmer, I had an incredibly bright and warm female (yay!) mentor assigned to me after going through a few weeks of training in an ancient and creaky coding language. The mentorship program was probably the only thing I really appreciated about this tiny software development company. Fay*, my first mentor was very kind, gentle and quite friendly and personable. Fay taught me quite a bit about the language and the rules of the road, so to speak. Fay was extremely intelligent, held in very high esteem by the other programmers, and coded exponentially more than anyone else on staff (which I found out much, much later).
The company's software program was divided into modules, and most modules had a team of developers assigned to it. Fay had written or rewritten most of her module by herself over a seven year or so period. This particular module was huge and complicated, thousands and thousands of lines of code, split into hundreds of programs. She knew the code so well that she could look at a customer issue and fix it in about 15 minutes. I thought she was an amazingly gifted person.
Bewildered and overwhelmed by the huge learning curve, I went to her quite often during the day, frustrated, with many questions. I was terrified that I would fail, that I couldn't ever learn enough to be of value to this company, and I would get fired (Not a "real" fear, just a residual effect of having been fired from my last job). Her patience, encouragement, compliments on my logic kept me from sinking into paralysis and depression.
After we had worked together a few months, she told me that she was still battling a heroin addiction and had been in and out of rehab several times. She also told me that she'd been a junkie for years. During the two and a half years I worked there, she went back into rehab one more time. Her courage and abilities made a great impression on me; I have nothing but the utmost respect for this person.
*Not her real name, of course