Design

Swaine's Flames: Two Pomodoros at Foo Bar

The Pomodoro Technique -- an agile methodology for getting you through the work day

"Evening, Larry. A glass of the house Pinot Gris?"

"It is a comfort," journalist Larry Wilde said as he settled onto his customary stool, "to end a long day in a saloon where the bartender knows your preferences."

I poured. Larry watched. The tomato ticked.

"Rough day?" I asked, "Or just a long one?"

"Productive but inconclusive," he said between sips. "I'm researching computer languages for a piece I'm doing on spec for a new online magazine about Silicon Valley lifestyles. Silicon Valley lifestyles. I must say I have my doubts about a publication premised on an oxymoron, but there's not a lot of work out there for a beat journalist."

I tsked sympathetically. I could think of three possible meanings for "beat journalist," two of which fit Larry these days. I enjoyed serving drinks at Foo Bar for the tips I got from working journalists, but fewer and fewer journalists were actually working. "Computer languages, eh?"

"Yes, the question the article asks is, when programming languages grow old, what happens to the programmers using them?"

"Do programming languages really grow old?"

"Oh, yes. Think of Pascal. Once it was all hip and structured and stylish, like Danish Modern furniture. Now it's dated and quaint and inconvenient -- "

"Like Danish Modern furniture?"

"Or Ada, which went from being not your father's Oldsmobile to being your grandfather's Edsel."

"Where are you getting these characterizations of languages, anyway?"

"From my Twitter followers. What a marvelous research instrument Twitter is, Michael! You just throw out a question and in minutes you have dozens of answers."

"Yes, but -- "

"Or consider Forth. In its youth, Forth was punk, but now it's bluegrass."

"But I don't think these characterizations make any sense."

"Fine, Forth was Ska, but now it's techno. That was another tweet I got. The point is, languages age; they cease to fill the role they once filled, and search for a new role, usually one that involves taking a nap in mid-afternoon. By the way, are you aware that there is a ticking tomato on the bar?"

"It's a Pomodoro," I explained.

"That's simply the Italian for tomato, I believe." He frowned at me but smiled as I refilled his glass.

"The Pomodoro Technique is an agile methodology for a single individual," I explained. "It was invented by Francesco Cirillo and requires the use of a five-dollar kitchen timer. You work for 25 minutes and then break for three to five minutes. Each such time period is also called a Pomodoro. If you're being really true to the plan, you use a timer shaped like a tomato."

"So that's your pomodoro. I see. And what is it ticking for?"

"I'm using the Pomodoro Technique to organize my work."

He snorted. "What work? Excuse me, Michael, but all you do here is schmooze with the customers."

Ding!

"Your tomato just dinged."

"Sorry," I said, "I have to stop schmoozing for the next three to five minutes." I set the Pomodoro for five minutes, put my feet up on a nearby stool, my back to the bar, and opened the Merc.

"Ah, I get it. Schmoozing is your work, and you've just done your 25-minute spell of it, so now you get a break. Clever."

"La la la. Can't hear you."

He kept talking and I continued to ignore him. I also ignored the yuppie couple who walked in and sat at the chair next to Larry.

"You'll just have to wait," Larry told them. "He's on Pomodoro break."

A little later the Pomodoro dinged, I reset it for 25 minutes, and I saked what I could do for them. After filling their order, I picked up my conversation with Larry, first recapping, in proper Pomodoro Technique, what had been accomplished in the preceding Pomodoro.

"You were telling me about your magazine article, but not making any sense. Continue."

"I was too making sense. Anyway, the point of the article is, what happens to the programmer in such cases?

If you are a long-time Java programmer, you were once cutting-edge and cool. What are you now if you're still using Java? Have you actually changed and become a dinosaur, or are you still the risk-taker you once were, but strapped to a moribund language?"

"Well, people do change."

"Yes, but does the language you use dictate that you change? When it gets old, does it drag you along with it?"

I waited on a couple other customers and pickeed up the conversation again.

"I'm still skeptical about this article of yours, Larry. What other languages are you looking at?"

"I'm asking if Haskell programmers turn into absent-minded professors, or Ruby programmers into grumpy old men. Do you have a programming language that you're particularly interested in these days?"

"Yes," I said. "Subleq. And I think it'll serve me well when I get so senile that I can only remember one instruction."

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!