We developers are privileged to stand on the shoulders of giants. If I tried to list the names of all influential people who contributed to the current state of the art of computer science and software development, this would be one very long blog post.
Much of what I know as a software developer (and professional geek) is information freely shared by friends of mine, colleagues I’ve worked with and strangers I’ve never met, all of whom saw their knowledge not as treasure to be secreted away, but as wealth to be shared.
I know what I’m doing to pass on what I’ve learned - you’re reading one part of it now.
But what are you doing to pay it forward? Here are some ideas.
Get involved in an online community - StackOverflow is one good choice. When someone asks a question and you know the answer, post a response with the best detail you can. The person will the problem gets a solution, you get good practice at communicating clearly, and you’ll probably learn something by reading other people’s responses.
Work on a team of developers? Organise some kind of weekly or fortnightly team screencast. There are a lots of screencasts available, some free (Dot Net Rocks TV, DimeCasts.Net, Channel 9, Oredev) and some commercial (TekPub, CleanCoders). Find a source of videos that suits your team and start presenting them regularly.
Write a blog. Kind of obvious - gives you a chance to establish your personal brand, practice in clear writing, and adds what you know to what the search engines can tell others. Use the Good Samaritan principle - if you looked online and didn’t find the answer to your problem quickly, post the answer so that someone else can find the answer quickly.
Found a recurring pattern of poor code at work? Share a better way of solving the problem with your peers. Be diplomatic - and encourage others to do the same.