Programming Under Constraints

Meeting Topic

Any kind of process, creative or production-oriented, involves constraints — usually time, quality, and cost. Often how we deal with constraints in our work helps us prioritize what really needs focus. Another way we can use constraints is to help reframe how we think about solving the problem. Writing software is very much a creative act (e.g., like writing poetry). Think about how writing a sonnet constrains you: there can only be so many lines, syllables per line, and often there are rules for the rhyming patterns. The fun part is writing something interesting in spite of the constraints.

For this month’s meeting, we’ll work through a simple exercise (the Mars Rover kata), not necessarily with the goal of completing the kata, but focusing on how we go about solving it under certain constraints. (Yes, I borrowed this idea from the Global Day of Coderetreat.) We’ll talk about these more during the meeting, but here are some example constraints:

  • Tell, don’t ask
  • Use verbs instead of nouns
  • Have minimal lines of code per method
  • Use paper only (no IDE)
  • Use only immutable objects


The meeting will be on Thursday, June 13 at 6pm. (Click here to RSVP.) As usual we will have food and refreshments. If you have special requests for food (e.g., vegetarian-friendly), please leave a comment below.

We will be in the same location as last month, which is the 3M office building off Pellissippi Parkway. The address is 804 Innovation Drive. As you pull into the parking lot, stay to the right, and park in front of the building.

Important: Our venue requires an list of people in advance that will be attending so that guest badges can be created. Please use the RSVP link above so you can get on that list.



Leave A Reply

You must be logged in to post a comment.