software development concepts

Love It, Hate It

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
Is the Command Prompt the New Desktop?

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
Are Recipes for Novices?

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
Code Smells

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
Egoless Programming: You Are Not Your Job

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
The Ten Commandments of Egoless Programming

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
Following Instructions for Dummies

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
If the User Can’t Find It...

usability

If the User Can’t Find It...

I was lucky enough to attend a week-long Human Factors International session on usability a few years ago.* As a developer with a long term interest in getting to the human root cause of so many programming problems, I loved it. One of the freebies from the course was this

By Jeff Atwood ·
Comments
Your Personal Brand

software development concepts

Your Personal Brand

Rajesh Setty has some unusual advice for IT professionals — stop wasting time in the technology skill-set rat race, and start building your personal brand: Jack meets Janet and they start talking. Jack explains who he is and what he does for a living and Janet does the same. While Jack

By Jeff Atwood ·
Comments
It’s Better Than Nothing

programming languages

It’s Better Than Nothing

I was struck by this quote from a New Yorker article on Muzak: “Our biggest competitor,” a member of Muzak’s marketing department told me, “is silence.” The problem with comparing something to nothing is that nothing is, well, nothing. James Bach elaborates: I was watching Dr. Stuart Reid talk

By Jeff Atwood ·
Comments