Within The Constraints

A common pitfall that people face is that when they encounter a problem, they wish for tools or solutions that they don’t have. You can easily spot when this happens because the first thing someone will say is, “we need . . .” The problem is that most often, you don’t have what you need to solve the problem. Frequently getting what you need to solve the problem is more effort or resources than the problem is worth.

For example, you might encounter a difficult accounting retro-pay problem. The first reaction might be: “We need a payroll system that does retro pay.” But implementing such a system will be more expensive than the human-power it takes to calculate the retro-pay.

Know Your Constraints

A better way to approach the problem is to state what your constraints are from the outset and solve your problem within these constraints. You may recognize that you have a payroll problem, but you don’t have money for a new system. You may also realize that a few lines of code in Python can do 95% of the calculations that need to be done. Python is free, and even if it takes you 16 hours to figure out the right script, you haven’t disrupted everyone’s life and spent countless resources on a conversion. (Note: There is a time to replace your payroll system, but not every time you run into a function that doesn’t work for you.)

7 strings and 95 keys

Most guitarists don’t play a seven-string guitar because they can’t write a tune on a six-string. I’ve never seen a 95 key piano because 88 keys weren’t enough. Great musicians play their instruments as they are. The instruments have constraints, and the musicians play within them. You should play within the constraints that your resources have provided you. Go out there and make amazing music.