Day 53: An Engineering Mindset

I have spoken out many times about how much I dislike software developers granting themselves titles that include the terms “engineer” or “architect” in them. Those are titles that are earned through years of hard study and certification, just like doctors and lawyers.

Software development is not engineering. If I want to build a vaulted ceiling in my home, there are tables of the properties of materials that give the acceptable spans for any given size of component. If I have a 20-foot span, I can look at those tables and determine what I would need with steel beams, engineered wood beams, or plain 2×10 lumber.

Engineered Lumber & Beams | NICHOLS LUMBER AND HARDWARE
Each of these engineered wood beams has a known maximum span.

There’s no need to debug this; these are known values, along with gravity, weight, and all the other things that go into building design. And you could use a table for materials from 100 years ago, and it would still work today. Knowing how to apply these values in the structure behind the design of buildings takes years of study before one can legally call themselves an architect or an engineer.

The most apt term I’ve heard for a software developer is “gardener”. It’s accurate, as gardens take up-front planning, and like software, they need to be maintained. Both also have their share of bugs!

So while I won’t call myself an engineer, I do have an engineering mindset. What I mean by that is I strive to be methodical about things like program structure, testing, code review, version control, and the like. I enjoy working with teams who are like-minded in that regard.

An engineering mindset isn’t limited to software development, though. I find I do that with every task I do. Take washing dishes, for example. We don’t have a dishwasher, so they all need to be washed by hand. Nor do we have a drainboard, so they have to go on a towel by the sink. I don’t just wash them in the order that they are piled in the sink; instead, I re-arrange them so that they are stacked in the order to be washed in the left sink basin, with the right sink basin empty. Why? Because the drying area is on the right, and this makes for a neat left-to-right flow. First the flat dishes get washed and placed in the right sink. They are then rinsed off, then placed vertically leaning against the wall to help them dry evenly and quickly. Then the bowls and other things with depth are washed, with the eventual placement in the drying area determining the order. Finally the small things like utensils are washed and placed in any available spot left on the towel. This allows the most efficient use of the limited drying area while still allowing things to dry fully.

The other thing I try to optimize for is to minimize the use of hot water. I’ve come up with some routines for group wetting and rinsing that has cut the amount of hot water usage. I’ve even played around with how an item is handled while being rinsed in order to get the most efficient rinsing of all surfaces.

I have been developing this process over the 4 years since we moved into this small house, and I believe I have it down to as efficient a flow as possible. I’ve mentioned this to people, and their reaction is along the lines of “wow, you’re pretty OCD!”. But this isn’t anything like OCD: people who suffer from that condition say that they are perfectly aware that their actions are silly or even harmful, but are unable to stop doing them. I choose every one of these steps because it makes sense. If someone were to show me an even better way to do it, I’d switch in an instant.

That’s an engineering mindset: taking a process, even one as mundane as washing dishes, and always thinking of ways to optimize it. It doesn’t feel like work, though, it’s more like solving a puzzle. Some people like crossword puzzles or jigsaw puzzles; I like solving dish washing puzzles!

Day 52: Happy 10th Birthday, OpenStack!

I just saw this announcement from the OpenStack Foundation about OpenStack’s 10th birthday! Yes, 10 years ago this week was the first OpenStack Summit, in Austin, TX, with the public announcement the following week at O’Rielly OSCON. Yet most people don’t know that I played a very critical role in the beginning!

OpenStack began as a joint venture between Rackspace (my employer at the time) and NASA. I was on the team at Rackspace that developed and supported its aging cloud compute services, and we were looking to develop something from scratch that could be much more scalable than our current system. Around that time Thierry Carrez saw an announcement from a group at NASA about their development of a compute virtualization system, and suggested to the powers that be at Rackspace that this might be a better way to go instead of developing the whole thing ourselves. From that followed a lot of discussion among the executives at Rackspace, as well as some conversations with NASA, and the conclusion was that we would team up. One of the first things to do was to get the developers for both groups together to discuss things from a more technical perspective. And this is where I believe that I made a critical decision that, had I chosen wrong, might have resulted in OpenStack never happening.

The NASA team was a consulting group, Anso Labs, and they were arriving in San Antonio, and we had plans to take them out to dinner, but no idea where. It was then that I suggested The Cove, a local place with lots of outdoor seating, a relaxed atmosphere, good beer, and delicious food. We had a great time that evening, and we all got to know each other. Had we been in a more conventional restaurant, people may have only gotten to know the people sitting next to them, but since The Cove is open seating, we moved around a lot, talking about both the technical stuff and personal stuff.

Over the next few days we began reviewing the code and exchanging idea on what needed to be developed next, and those discussions went very smoothly, getting a lot done in a short period of time. I still maintain to this day that without that first night having beer and food at The Cove, OpenStack might never have become the success that it did.

You’re welcome.

Day 51: Adaptation

I’ve written before about my hearing loss. Years ago, I was about 5 feet away from a tree that got struck by lightning, and lost my hearing for a couple of days. When it returned, it only returned partially. I permanently lost some of my high-frequency response. I was 18 when that happened, and over the years the loss of the ability to hear high frequencies has gotten worse. I began to notice that I was having a hard time understanding women and children speak, as their voices are more in that high-frequency range.

hearing test results
My hearing test results.

The above is my hearing test from 3 years ago. For normal hearing, the lines should all be within the grey area at the top of each chart. Note that I’m pretty close for frequencies below 2000Hz, but that it drops precipitously past that. Typical age-related hearing loss has a more-or-less flat response that is evenly lower than the grey area.

I had tried hearing aids a while ago, and they just weren’t advanced enough to help my specific issue. Three years ago I read about improvements in the technology, and liked what I found. I brought my wife to the fitting session, and it was obvious how much better I could understand her when she spoke. I was thrilled!

But it wasn’t easy, especially at first. My brain had been used to processing the sound levels my ears could hear, and all of a sudden they were wildly different! Many times things sounded screechy, almost painful. I was in the supermarket and an announcement came over the loudspeakers, and it hurt so bad I had to pull the hearing aids out. The same thing happened when I went to wash dishes: the sound of the water running from the faucet was uncomfortably hissy-sounding.

My wife has worked with many hearing-impaired and deaf kids who have had cochlear implants, and mentioned that many times the kids tear them out because the sensation is so unpleasant to them. If they’ve never had the ability to hear, their brain can’t interpret the nerves being stimulated (irritated, more accurately) by the implant, so it doesn’t come across as useful information, just irritating noise. I never really understood that until that day in the supermarket when I had to remove my hearing aids because the sound was very irritating.

It wasn’t all unpleasant, of course. I am now able to hear birds chirping and singing! It’s really odd to be listening to them, and then remove the hearing aids – the chirping just stops! It’s not quiet chirping; it’s not there at all. Then I replace them in my ears, and once again I can hear the birds singing.

Within a few months my brain largely re-wired itself to better balance the sounds it was receiving. What’s funny is when I forget to put the hearing aids in, say, after a shower, and start speaking with my wife: she sounds like she has a pillow over her mouth! That just shows how adapted my brain has become to having those high frequencies available.

Day 50: Divisions

Currently, the rate of COVID-19 hospitalization in many parts of the US is climbing rapidly. Here in Texas there are many hospitals that are at capacity, and are unable to take any more patients. The point of “flattening the curve” wasn’t to stop the virus; it was just to keep our medical system from being overwhelmed. We are seeing this happening now across Texas.

In the midst of all this, we have many voices calling for the re-opening of schools when the fall term starts next month. That would be great, except we’re not even close to being able to do that safely. Remember, it’s not just the safety of the children at stake, but that of teachers, custodians, food service staff, bus drivers, administrators, and everyone else involved in running a school. Some districts are choosing to delay in-person classes for at least two more months, but others are rushing forward, such as Orange County, California, whose school board is allowing in-person classes with no masks or social distancing. Understandably, many parents are angry at the callousness of the school board, and are asking them to reconsider.

What is needed is for people to come together in opposition to these short-sighted actions. Yes, there are some parents who want their kids back in school, but the vast majority would place their children’s safety above any other consideration. When people join their voices together, they are much more powerful than when acting individually. But that seems almost impossible these days.

When it was discovered that Russia had been using bots to influence the 2016 election, it turned out that they weren’t just promoting Trump; they were also promoting Hillary, and in roughly equal numbers. The goal was to divide the American people against each other, preventing them from being able to come together and unite against an enemy. Just look at that division has taken a simple thing like wearing a mask during an infectious pandemic has become a political issue, not a health issue.

There are wide differences of opinion on many political matters, such as immigration, monetary policy, and the like. We can continue to oppose each other on those, but unite against the dangers of the pandemic. The divisions run deep, though – I don’t hold out much hope of them going away any time soon.

Day 49: Little Courtesies

Someone recently told me of the shopping cart test to gauge a person’s level of consideration for others: when you unload your groceries into your car, what do you do with the empty cart? Most people return them to one of the cart collection areas set up for that purpose, but many do not. They just leave it in an empty space by their car, and drive off. Sometimes they make a minimal effort to reduce the risk of the cart accidentally rolling away and denting another car by propping in on a nearby curb, but many times they simply leave it.

How difficult is it to walk the cart to a collection area? Some suggested that a person might have a disability that would make that difficult, but it does seem odd that they would be able to use the cart to do their shopping, and then push it to their car, but not be able to return it.

To me, this displays a lack of basic courtesy, rooted in selfishness. The cart served your needs, so it is just abandoned. There is no thought about potential damage to others’ cars, or making the employee work harder to gather the carts from the far-flung corners of the parking lot. It’s a simple test of one’s consideration for others.

There are many such things where you need to acknowledge that you are just one person in a common environment with others, and when we do, things just go much smoother. Did you use the last of the toilet paper roll? Or leave just a tiny bit? If you don’t make the small effort to replace it with a new roll, you’re making life more difficult for the next person. Same thing with cleaning the lint screen of the dryer after your load. It’s a small effort on your part to make someone else’s experience much better.

What do you think about people who can’t be bothered to do these little things? Sure, everyone forgets once in a while, but I’m talking about people who consciously choose not to do them.

I’m writing this in the shadow of the biggest social effort in some time: stopping the spread of COVID-19. Everyone is asked to do something very simple: wear a face mask over your nose and mouth to reduce the potential for spreading the virus, since people can be infectious before they have any symptoms at all. It’s not much to ask, but man, the way that some people react makes it sound like the worst oppression ever experienced by a human being!

My parents lived through World War II (my dad fought in the war), and I grew up hearing stories of the rationing that the entire country was expected to follow. I can’t imagine something like that working today, for one simple reason: back then people saw themselves as belonging to the same side against a common enemy. That’s no longer the case: too many people see themselves as a persecuted group

It’s sad, but that’s to be expected with the polarization that has spread across this country. Too many people have rejected the American vision of inclusion that we’ve been striving for for centuries, and want to return to the days of straight white male dominance, even if it means embracing our enemies.

Me? I’m going to continue to return my shopping cart to the cart return area.