Making Lemonade

Lemons in a colander on a blue table

I live in a wooded area, and have fallen behind in my yard work. Again.

So, there is an enormous pile of leaves in my backyard, with a lot of raking yet to be done. Over the weekend, I hoped to make some progress on this chore.

My town allows residents to burn leaves, and when you have as many as I do, that is by far the most efficient method of dealing with them. So, on Saturday, I went to the fire department to get a burn permit.

I have learned from experience that they don’t allow us to burn when it is too windy, too dry, or if there is even a threat of rain. Saturday morning seemed like a perfect day to burn leaves: there had been some rain recently (it’s April in New England after all) so the ground and vegetation were still a bit damp. It was sunny, with nothing but a few small, white clouds in the deep blue sky, and no rain in the forecast. And, there was just a very slight breeze. So, I was fairly confident that if I went to the fire station, I’d be granted a permit.

However, I remembered that burning is only allowed during certain times of the year. I could not remember what those times were. On my last visit to the fire station, I was told that I had missed my opportunity, and no more permits would be granted for the remainder of the year. That was in November. They told me I’d have to come back in the spring, but I did not remember whether they had given me a date, so I checked the town website.

What I found there was disappointing: Burn permits are issued only if it is after Columbus Day or before April 30. So, when I went in November, it was the right time of year per the town ordinance, after all. As to why they refused to issue the permit, I do not know.

Whatever their reason for refusing the permit in November, I was now in a bit of a bind. It was April 18, and permits are only issued until April 30, and they allow a maximum of 2 per month (each permit is only good for the day it is issued). So I was determined to get as much done as possible.

As noted, I was pretty sure they’d give me a permit on this day. I had printed out the ordinance from the town website, so if they argued with me about the date, I could show them that it was still within the range. And the weather could not have been better.

However, I was disappointed yet again. When I arrived at the station, a sign in the window read:


I got out of my car, looked up at the blue sky with the puffy clouds, felt the barely-existent breeze on my face, and went inside to ask what it was about the weather that would make it unsuitable for burning.

Experience has taught me to go easy when dealing with government officials at any level. They have a tendency to be a bit touchy, and they can make life more difficult for you if you get on their bad side. So, I was as friendly and matter-of-fact as possible when I asked why permits would not be issued.

“Let’s see… Why are we doing this? Oh yeah. The National Weather Service is calling for very dry conditions. And the National Forest Service, which is what we go by, has put out a red flag, because they expect it to be dry later.”

What to do? With so few days left in the burning season, it was not likely that I’d get another opportunity; after all, there are only certain days when I have time available to do yard work, and the likelihood that any of those few days would just happen to have the right kind of weather seemed exceedingly small.

If I fail to rake the leaves, it’s not just that my grass will die. If that were the case, I could just rake the leaves off the grass into the woods around the edges of my property and be done with it. The problem is, if I don’t rake, then the leaves in the woods at the edge of my property pile up and provide harborage for ticks. Three members of my immediate family, plus our dog, have suffered from Lyme disease, so I really don’t want more ticks.

Well, there are always bags. If I put leaves into those large, brown paper bags made for the purpose, then I can place them by the side of the road for the town to pick up, or I can bring them to the town garage myself.

Why don’t I just use bags all the time? Because they are wasteful. Remember, I have a LOT of leaves. Putting them all in bags is wasteful on several counts:

  • It wastes time. It takes much more time to put the leaves in bags than it does to rake them into a pile and burn them.
  • It wastes money. The bags are not very expensive, but they are far from free, and for the quantity I need, it really adds up.
  • It wastes paper. The paper on one of those large bags could make multiple grocery bags, or yards of wrapping paper, or something else useful.
  • It wastes fuel. Hauling dozens of large paper bags to a facility miles away will require the use of some fossil fuels. Maybe a small amount, but whatever it is, it’s that much more than would be used by just burning the leaves in place.

As you can see, I really think leaf bags are a bad idea for my yard.

But what is my alternative? Provide more tick harborage this summer!

What did I do? I started putting my leaves in bags.

As far as I am concerned, it is far from optimal. In fact, I think it’s a pretty bad idea. However, it’s the only tool left me to get the job done. So, I do the best job of raking I can. I’m careful to stuff the bags full, but not so full as to weaken them, in order to not be any more wasteful. And, I am thankful to be out in the fresh air and sunshine.

Why is this on a blog about programming?

Depending on where you are in your career, it may not have happened to you yet. But if you pursue a career in software engineering, you are bound to experience it at some point – most likely multiple times: You will be forced to work with sub-optimal tools. In fact, you may be in a situation where the only tools at your disposal are really not suited to the task at all.

There are many factors that go into any organization’s technology choices. Budget considerations are certainly at or near the top of the list in most cases. But there are other things that factor in as well:

  • What technical skills do we already have in house?
  • What skills can our current resources be expected to acquire given time and budgetary constraints?
  • Given the current job market, what skill sets can we hire, and what will they cost?
  • What existing third-party and/or legacy systems will our new software need to integrate with?
  • Do any of our very senior people (all the way up to c-level folks in some cases) have preferences for certain technologies (e.g. .Net vs. Java)?

If you’ve been doing this for a while, you’ll likely think of other factors not listed, and that just makes the point more clear: software development and deployment tools are not chosen based solely on their technical merits, and there will be many times when you are convinced that the choices made by your organization are not the best ones.

What do to? Make lemonade.

Take the tools that are given to you and build the best product you possibly can within those constraints. Make it as beautiful, usable, robust, maintainable, secure, and scalable as the tools, time, and other imposed limitations allow.

And when you have deployed it, enjoy the satisfaction of a job well done.

Will it be perfect? Unlikely. But if you’ve done the best that could be done with the lemons you were provided, then you’ve done your job.

Am I saying that you should not try to influence the technology decisions? Not at all. By all means, if you have a well-considered opinion, make it known. If your organization is open to such input, then I encourage you to fight for the technology you believe to be the best. Fight hard, and don’t give up until the final decision is handed down.

But once the decision is made, make the best of it. Don’t waste a bit of your time or energy fretting about how much better your software could be “if only.”