Those are two of the things I value. In the ideal world I have the ability to do both. I’ll add another thing which is a variation of learning — exploration — into the mix as well.

In the general case when I’m working I like not being the smartest or most experienced guy in the room. I want to have someone who knows more than I do to teach me about what I’m doing — what I’m doing right and what I’m doing wrong. Most things work on the apprenticeship model it seems. What you learn is hard won knowledge that’s been passed down over time.

At the same time I love to teach. Information wants to be free. Knowledge, as the word itself implies, wants to be known. If I know something I want to be able to share it. I want the people around me to be better. Teaching a class on advanced Java programming at Cuyahoga Community College, while hard, was a fun time.

A manager I worked with once said that anyone who works for him should be able to quit and get a better job in three years — though he hoped that they would stay along because the job was so good. That’s the way I want people around me to bo. It’s only through teaching and learning that is possible.

You can’t be afraid that your students will surpass you — you hope for it. Then you might be able to learn from them.