software development concepts

programming languages

Secretly, We’re All Geeks

Scott Hanselman was kind enough to sing the praises of my blog a few months ago, completely unprompted. I finally met Scott in person at TechEd this year, and I can assure you that if you suck, Scott will be the first person to tell you that you suck.* That’

By Jeff Atwood ·
Comments

programming languages

Viva la Programming Revolution!

Jonathan Edwards’ Manifesto of the Programmer Liberation Front is an inspiring call to arms for programmers who are fed up with the status quo of Java and C#. Maybe it is time to open your window, stick your head out and yell, “I’m as mad as hell and I&

By Jeff Atwood ·
Comments

software development concepts

Text Columns: How Long is Too Long?

Ian Griffiths recently wrote a proof of concept WPF browser for the MSDN online help. One of the improvements cited is multi-column text: This is why WPF offers a column-based reading experience. We know from experience in the print world that breaking text into columns can make it much easier

By Jeff Atwood ·
Comments

programming languages

Love It, Hate It

Brendan Kidwell noted something interesting about the comments on Trackpoint versus Touchpad: You know, I just realized that there is a lot of LOVE and HATE going on, and it doesn’t seem to be very unified. Software development is basically a religion. It’s not surprising that software developers

By Jeff Atwood ·
Comments

user experience

Is the Command Prompt the New Desktop?

People keep rediscovering the article Don Norman posted a few months ago criticizing what he thinks of as Google’s faux simplicity: “Oh,” people rush to object, “the Google search page is so spare, clean, elegant, not crowded with other stuff.” True, but that’s because you can only do

By Jeff Atwood ·
Comments

programming languages

Are Recipes for Novices?

The last post about programmers and chefs reminded me of a point raised in the classic Pragmatic Progammers’ presentation Herding Racehorses, Racing Sheep: vs Instructions that are appropriate for a novice may be totally inappropriate for an expert. This is something I touched on a while back in Level 5

By Jeff Atwood ·
Comments

refactoring

Code Smells

I’m often asked why the book Refactoring isn’t included in my recommended developer reading list. Although I own the book, and I’ve read it twice, I felt it was too prescriptive – if you see (x), then you must do (y). Any programmer worth his or her salt

By Jeff Atwood ·
Comments

software development concepts

Egoless Programming: You Are Not Your Job

The concept of egoless programming, as described by Johanna Rothman: Twenty-five years ago, Jerry Weinberg published The Psychology of Computer Programming. I discovered the book in 1977, and decided I wanted to work as an egoless software engineer, not as a radio disk jockey. Egoless programming occurs when a technical

By Jeff Atwood ·
Comments

egoless programming

The Ten Commandments of Egoless Programming

The Ten Commandments of Egoless Programming, as originally established in Jerry Weinberg’s book The Psychology of Computer Programming: 1. Understand and accept that you will make mistakes. The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket

By Jeff Atwood ·
Comments

software development concepts

Following Instructions for Dummies

James Bach responded to my recent post, Are You Following the Instructions on the Paint Can?, with Studying Jeff Atwood’s Paint Can. Being under Bach’8596s intensive analytical microscope feels a lot like an interview with Hannibal Lecter. It’s flattering, but it’s also a little scary. You

By Jeff Atwood ·
Comments

software development concepts

Fail Early, Fail Often

Scott Hanselman thinks signing your name with a bunch of certifications is gauche: If it’s silly to suggest putting my SATs on my resume, why is… Scott Hanselman, MCSD, MCT, MCP, MC*.* … reasonable? Having a cert means you have a capacity to hold lots of technical stuff in your

By Jeff Atwood ·
Comments

programming languages

Keeping Up and “Just In Time” Learning

Do you ever feel like you’re buried under umpteen zillion backlogged emails, feeds, books, articles, journals, magazines, and printouts? Do you ever feel that you’re hopelessly behind, with so much new stuff created every day that you can never possibly hope to keep up? Well, you’re not

By Jeff Atwood ·
Comments