technical practices

software development

Sex, Lies, and Software Development

Are there any programming jobs you wouldn't take? Not because the jobs didn't pay enough, had poor benefits, or limited upside -- but because the work itself made you uncomfortable? Consider the tale of one freshmeat.net writer [http://freshmeat.net/articles/excessive-code-and-excessive-nudity-what-gives]: > Back in

By Jeff Atwood ·
Comments

programming languages

Should Competent Programmers be "Mathematically Inclined"?

One of the more famous Edsger Dijkstra quotes is from his 1972 Turing award lecture, How do we tell truths that might hurt? Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. Note that he specifically

By Jeff Atwood ·
Comments

programming languages

The Ugly American Programmer

On the internet, you can pretend the world is flat. Whatever country you live in, whatever language you speak, you have the same access to the accumulated knowledge of the world as every other citizen of the planet Earth. And a growing percentage of that knowledge can and should be

By Jeff Atwood ·
Comments

software development concepts

Five Dollar Programming Words

I've been a longtime fan of Eric Lippert's blog. And one of my favorite (albeit short-lived) post series was his Five Dollar Words for Programmers. Although I've sometimes been accused of being too wordy, I find that learning the right word to describe something

By Jeff Atwood ·
Comments

bug tracking

That's Not a Bug, It's a Feature Request

For as long as I've been a software developer and used bug tracking systems, we have struggled with the same fundamental problem in every single project we've worked on: how do you tell bugs from feature requests? Sure, there are some obvious crashes that are clearly

By Jeff Atwood ·
Comments

software development concepts

We Are Typists First, Programmers Second

Remember last week when I said coding was just writing? I was wrong. As one commenter noted, it's even simpler than that. [This] reminds me of a true "Dilbert moment" a few years ago, when my (obviously non-technical) boss commented that he never understood why it

By Jeff Atwood ·
Comments

programming

Coding: It's Just Writing

In The Programming Aphorisms of Strunk and White, James Devlin does a typically excellent job of examining something I've been noticing myself over the last five years: The unexpected relationship between writing code and writing. There is perhaps no greater single reference on the topic of writing than

By Jeff Atwood ·
Comments

ruby

Exploring Wide Finder

I have decidedly mixed feelings about the book Beautiful Code, but one of the better chapters is Tim Bray's "Finding Things". In it, he outlines the creation of a small Ruby program: counts = {} counts.default = 0 ARGF.each_line do |line| if line =~ %r{GET /ongoing/

By Jeff Atwood ·
Comments

software development concepts

Paul Graham's Participatory Narcissism

I have tremendous respect for Paul Graham. His essays – repackaged in the book Hackers and Painters – are among the best writing I've found on software engineering. Not all of them are so great, of course, but the majority are well worth your time. That's more than

By Jeff Atwood ·
Comments

programming languages

Code Isn't Beautiful

I was thrilled to see the book Beautiful Code: Leading Programmers Explain How They Think show up in my Amazon recommendations. It seems like exactly the type of book I would enjoy. So of course I bought a copy. Unfortunately, Beautiful Code wasn't nearly as enjoyable of a

By Jeff Atwood ·
Comments

software development concepts

The Years of Experience Myth

I recently received an email from Andrew Stuart of the Australian firm Flat Rate Recruitment. Andrew related their technical phone screen process, which is apparently quite similar to the one outlined in Getting the Interview Phone Screen Right. I'm glad to hear it works. A proper phone screen

By Jeff Atwood ·
Comments

programming languages

The Enduring Art of Computer Programming

I saw on reddit that today, January 10th, is Donald Knuth's seventieth birthday. Knuth is arguably the most famous living computer scientist, author of the seminal Art of Computer Programming series. Here's how serious Mr. Knuth is – his books are dedicated, not to his wife or

By Jeff Atwood ·
Comments