The Programmer’s Food Pyramid

Programmer's Food Pyramid

Update: (1) There’s a discussion (at the moment) on reddit. (2) Thanks to FusionGyro for suggesting the name change to “revising”.

Buy on Zazzle:
Poster
Mousepad
Coffee mug

Posted: January 17th, 2008
Categories: Illustrations, Programming
Tags:
Comments: 26 Comments.
Comments
Comment from lamer - January 17, 2008 at 11:16 pm

I should think “reading about code” would be the bottom of it all eh?

Comment from Head On » Blog Archive » links for 2008-01-18 - January 18, 2008 at 12:23 am

[...] The Programmerââ¬â¢s Food Pyramid Great illustration on how a programmer should spend time (tags: programming) These icons link to social bookmarking sites where readers can share and discover new web pages. [...]

Comment from Oliver Steele’s Programmer Food Pyramid | foojam.com - January 18, 2008 at 1:25 am

[...] Oliver Steele posted an excellent image in his blog today titled “The Programmer’s Food Pyramid”. I love how the code reading activities form the base of the pyramid. The multitude of high quality open-source projects, coupled with new web apps like Krugle and Google’s code search to index them, finding and browsing quality source code is easier than ever. It’s a great way to pick up new tricks and find out how your peers in the community are solving problems. [...]

Comment from Codin’ Rabbi - January 18, 2008 at 3:01 am

Well lamer… if it’s by analogy to the Food Pyramid, then it’s showing quantity more than relationship. And reading about something is good, but practice is probably more important.

Nice chart, Oliver. Fun way to think about it.

And I notice that “providing commentary on the commentary” doesn’t show up in the picture. Quite right.

Comment from ndanger.organism :: blog :: LOTD: 2008-01-17 - January 18, 2008 at 5:06 am

[...] The Programmers Food Pyramid [...]

Comment from Silveira Neto - January 18, 2008 at 5:30 am

And what about “writing about writing about code”?

[...] ÞûøòõÃ⬠áÃâøû ÿÃâ¬ÃµÃ´ÃÂÃâðòûÃÂõÃâ òõÃâ¬ÃÂøÎ ÿøÃâ¬Ã°Ã¼Ã¸Ã´Ãâ¹ ÃÅðÃÂûþòð ôûàÿÃâ¬Ã¾Ã³Ãâ¬Ã°Ã¼Ã¼Ã¸ÃÂÃâþò, The Programmer’s Food Pyramid at Oliver Steele [...]

Comment from zanshin.net » Blog Archive » links for 2008-01-18 - January 18, 2008 at 7:23 pm

[...] The Programmerââ¬â¢s Food Pyramid at Oliver Steele (tags: code programming) [...]

Comment from robotpony.net » A day in the life of a programmer - January 19, 2008 at 1:27 am

[...] ((A take on the more serious Programmer’s pyramid)) [...]

Comment from LinkLog: From Journey Man to Programmer « Dorai’s LearnLog - January 28, 2008 at 6:14 am

[...] [...]

Comment from Labnotes » Rounded Corners – 188 (Catching up) - January 30, 2008 at 4:51 pm

[...] [...]

Comment from AOWS » Pirámide del programador - February 2, 2008 at 6:29 am

[...] The programmerââ¬â¢s food pyramid. [...]

Comment from The Programmer’s Food Pyramid at Oliver Steele « Ballinger - February 3, 2008 at 11:38 pm

[...] The Programmerââ¬â¢s Food Pyramid at Oliver Steele The Programmerââ¬â¢s Food Pyramid at Oliver Steele [...]

Comment from Jaksa - February 4, 2008 at 10:40 am

I heard people interpreting this pyramid as the learning path of a programmer. An important thing to state here is that it does not represent a learning path (which would have been much more complex), but just the amount of time spent on each activity. Actually I think the food pyramid itself is not very intuitive. I would prefer a pie chart.
That saud, I would add, even more code reading, in particular bad code written by others and understanding what is so bad about it, and why is it bad.
Reading your own code is not so effective: you already know what it does and, even worse, you’ll always think it’s good code.
Getting feedback on your code is important if you can. Ask people for reviews if you can (and shut your mouth). Look at how other people changed the code you wrote. Did they rewrite it instead? Are they using your libraries effectively?
Reading blogs can be misleading, anyone can write on blogs, even bad programmers: read them, but with a reserve.
I hope this didn’t sound polemic, I’m just trying to refine the original message in the post.

Comment from Fred - February 8, 2008 at 4:51 am

IMHO the size of “Reading Environmental Code” is way below what it should be. Reading your code or well written framework code goes smoothly. Reading “Environmental” code takes a LOT of time trying to figure out the twisted implementation (Have a look a the daily WTF site ;-) ..

Comment from Delicious Links – 20 links – programming, community, develop - February 9, 2008 at 3:25 pm

[...] [CODE] The Programmer’s Food Pyramid, osteele.com, via:labnotes.org [...]

Comment from ZenPHP › Welcome friends and foes alike - February 11, 2008 at 8:42 pm

[...] Recently, I stumbled across Oliver Steele’s site and found his link to The Programmer’s Food Pyramid. Looking it over, I recognized the importance of most of the items there. Reading code, and reading about code of course. Writing code, how obvious. Revising code, okay, I had always lumped that one into the reading code and writing code blocks, but I could see how it could be considered a separate activity. Then, up there at the top, the one that made me think for a minute. [...]

Comment from Random Thoughts… » Blog Archive » links for 2008-02-12 - February 12, 2008 at 7:26 pm

[...] The Programmerââ¬â¢s Food Pyramid at Oliver Steele (tags: programming software pyramid) [...]

Comment from Random Thoughts… » Blog Archive » links for 2008-02-13 - February 12, 2008 at 11:25 pm

[...] The Programmerââ¬â¢s Food Pyramid at Oliver Steele (tags: programming software pyramid) [...]

Comment from it solution provider - May 14, 2008 at 8:52 pm

hi… very nice post. that’s exactly what we did with my classmates when we do our project in programming. that’s very helpful idea to those who are just beginners. have a nice day!

Comment from Recipe Collector - June 2, 2008 at 10:16 am

Surely the top of the pyramid is ‘dreaming code’

I can’t be the only one who wakes up the morning with a solution that I apparently coded in my sleep?

Comment from Code masta - June 17, 2008 at 11:30 am

Wow…never imaggined reading code and reading about code take that much importance….To be honest i spend the least time reading code ( mind or others)…some code gives me a headache to go through.

Comment from superwebsiteguy - January 8, 2009 at 3:31 pm

really like the pyramid

Comment from superwebsiteguy - January 8, 2009 at 3:31 pm

really like the pyramid

Pingback from Dubroy.com/blog – A Hierarchy of Needs for Code - February 11, 2009 at 7:20 pm

[...] Andrew McKinlay wrote about A Programming Hierarchy of Needs, and Oliver Steele proposed The Programmerâs Food Pyramid. Kathy Sierra, whose blog Creating Passionate Users I sadly miss, also tackled the user hierarchy [...]