Sharpening the Saw

I read various blog posts and listen to various podcasts to sharpen my saw. I typically ignore the comments though as they’re generally a waste of time, with everyone spouting the same thing or just being pompous.

The way i see it, if the comments contain anything of any real value then the author will typically spin up a new thread to address it… if not my loss I guess, but either way the signal to noise ratio in comments is so high that its simply not worth the time.

Project Euler (http://projecteuler.net) is a good saw-sharpener.

Particularly good if you use a different programming language than what you use for your day job.

Excellent topic Jeff - Hanselman brought it up a year or so as well and its become part of my interview process to ask kids how they sharpen their saw (or if they care at all to)

My suggestions - Step 1 - Pick your favorite RSS reader (mine is RSS Bandit) and start collecting great blogs around your area- I like ScottGu, Jamie M’s Data Mining blog, Kimberly Tripps SQL Blog, etc…and pick up a few like Greg’s Cool [] of the Day blog to pick up tidbits on new tools, etc

Step 2 - actually attend a user group, regional conference (I am lucky enough to be by Heartland Developer Conference in Omaha) or regional MSDN events - things that make you interested in new material or techniques

Step 3 - Load up your MP3 player with .NET Rocks or Hanselminutes

I will respectfully disagree with reddit programming and Hacker News as I too find them too noisy with too many religious battles fanboys but it only takes 1 new idea from any source to make it worth your while

I enjoy your site - thank you

It’s too bad StackOverflow isn’t managed more like Hacker News… for a lot of folks it’s going to be read-only.

When they invent yet another new framework or technology, it often gets more bloated, more complicated, with less features or otherwise unfamiliar. So instead of sharpening the saw, they bring us a new tool that we need to figure out how to make it sharp.

Hey, your captcha-word is always orange???

I’d argue that a lot of the suggestions thus far have been better for identifying new types of saw or different types of wood to cut.

Jeff, you’ve been plagiarized:

http://www.nitinh.com/2009/03/hacker-news-hacked-newsycombinatorcom-hacked

(I thought I’d read that paragraph before, somewhere :wink: )

Just to second Graeme’s comment: Stack Overflow is a great grindstone.

Don’t just answer questions you already know how to answer. Don’t just read other answers when you expect to see something new.

Instead, read other takes on what you think you already know, and explore new avenues to help someone else. Solving other people’s problems is a great form of insurance against running into the same problem yourself in a year’s time.

1 Like

What do you recommend for sharpening your saw as a programmer?

I still like technical books - actual, dead tree books, especially those from the Pragmatic Programmers. The experience improves with a real live book by highlighting, making notes in the margins and ,if appropriate, throwing the entire thing at the wall in disgust. It makes a satisfying thump, after which it can be retrieved none the worse for the experience.

I’d argue that a lot of the suggestions thus far have been better for identifying new types of saw or different types of wood to cut. Getting better at programming is more about how you saw (or how to identify that your saw is blunt) rather than how sharp your saw is.

One of the most effective tools I’ve found is trying to teach other people what you think you know. It’s only when you try and explain things that you find out how much you know (especially if they then start asking questions!). I’ve often found myself having to google elements of their question to give a fully thought out answer or tom confirm what I’d suggested to them.

Do that enough and you’ll definitely improve your skills and knowledge as a programmer.

If you want non-programming ways of getting better, I’ve read (on this blog possibly?) that playing the game ‘Go’ can improve your problem solving and ability to disect problems into something solvable.

@Eric - My point exactly :slight_smile:

For longer pieces that take significant time and energy to write, why not build
your own site up rather than someone else’s?

I started writing a blog just over one year ago, intended to be a professional portfolio of a sort. I’ve spent most of my career working on embedded software, which makes it really difficult to show or talk about. I thought a blog would be a good way to have something out there in public.

Writing has been a great learning experience, but the professional portfolio idea really isn’t working. When you Google for my name you get a bunch of other hits well before you get to my own site. Stackoverflow, LinkedIn, and other sites with high PageRank are first, even if I have not participated there recently. PageRank is not a social rating algorithm, it exists to rank entire websites not individual participants.

I guess if I want to make my own site come up first in the search results, I have two choices:

  1. Don’t use my real name in any other context on any other site.
  2. Make my blog so insanely popular as to eclipse all the rest of the results.

Neither option is particularly appealing or practical. I don’t have an alternate handle I’d want to use on other sites, and, well, the second option is not exactly likely to happen.

One of the stackoverflow podcasts said that part of the goal is to give participants a public exposure, a blog of their own as it were. It certainly succeeds at that. In my case, it succeeds a bit more than I would like.

When people start visualizing ‘sharpening the saw’ they usually think of somethings that will improve their skills. What about ways of spending time that improves your mindset and aptitude rather than skills? Skills can get outdated in no time at all, once a new programming language comes out tomorrow.

I use Google to sharp my saw :slight_smile:

Avoid ‘tunnel vison’ and use Google as much as I can, ideal to find ideas and functionality.
Imagination is the limit