I got my start in programming from typing lines of BASIC in the backs of magazines into my Commodore 64. I didn’t really understand what each line did at first, but I dutifully typed in the lines, just to see the finished product in action.
I got my professional start in programming when I was a student at Georgia Tech. When I enrolled at Tech, I indicated that I wanted to be part of the cooperative education plan, which meant that I would attend classes for one quarter, then work at a company for one quarter, then repeat. It took me a little over a year to find a company that would hire me as a “co-op student”, but once I did I stayed with that company until I graduated from college. In fact, that company hired me when I graduated, and I went to work for them full-time.
But while I was still a co-op student, I often felt that I learned more while I was on the job rather than when I was in school. I think the reason for this is that I was very fortunate to have found a job where there were many people eager to share their knowledge of programming with me.
In a nutshell, I was surrounded by mentors.
I have very fond memories of those days—people smarter than myself showing me how things got done in the “real world”. As a result, I often take the time to teach others things that I have learned, now that I’ve been a professional developer for nearly 20 years.
I guess that’s where this blog is coming from.
In my current role as a consultant, my coworkers are all very knowledgeable about software development, so I don’t often get to mentor them. But on the rare occasion that I get to explain something, or show something that I know, it really gives me a sense of satisfaction when I can see that I’ve made a difference—when the other person has that “a-ha” moment and has learned something.
I think we can all learn from each other, and I think that there is great value in continually learning new things. My company doesn’t currently have a mentoring program, but I’m considering suggesting that they start one.
What about your company? Do you have a mentoring program of sorts? If so, what’s it like? Can you quantify the value of it? Is it company-supported?
I’d be willing to collaborate with you (Google Wave, anyone?) on a “Mentoring Charter” of sorts if you want to start a similar program at your company.