Small learnings of everyday life
This article describes a series of anecdotes from my personal life, outside the work scope, useful to illustrate the synergy between every day elements and software development, and how we can create synergies between two very different aspects of our experience.
The correct tool
When my eldest son was one year old, I found out how much wooden blocks cost. That’s when I decided to make them myself.
I lived a block away from the Easy Home Center in the Caballito district, which had home supplies, so I bought a few pinewood strips (you have to find the straightest ones, because they’re usually quite crooked) and 1 cm rods.
That weekend, I did the math: 20 5x10 rectangles, and 30 5x5 ones. Rectangles would have two holes for the rods to pass through, and the square ones, only one. And so I got to work with my hacksaw. I made the cuts within half an hour and things were going well. I continued making the holes, I loaded a 1 cm drill bit (in the package it read that it was for wood and steel) and I got started.
Making the first hole in the 2.5 cm-thick pine took me almost an hour. I was exhausted, my back hurt and I was sweating, all while thinking ‘’My God, it’s 70 holes, I might as well buy the blocks and move on…’’ (let’s say that it was a bit more vehement than that).
While I was having lunch that day, I thought: ‘’this is not reasonable, this much time to make a hole in a piece of wood doesn't make sense, something’s wrong…maybe the drill bit is not the correct one?’’.
I searched online and indeed, the drill bits made only for wood were quite different. Let’s take a look:
I went back to the Easy Home Center, bought the drill bit for woodwork and started over. Over the next hour, I was able to make all the holes that were left.
When a task is tediously long or insufferable (neither efficient nor effective), most likely you are using the incorrect tool, and the correct one is probably within reach.
The Shark’s jaws
Contrary to popular belief, the original title of what we knew in Spanish as the movie ‘’Tiburón’’ (Shark in Spanish, 1975) is actually ‘’Jaws’’ in English. This is just one more (gross) example of this annoying habit of distributors of changing the name of films. But even with this in mind, the name in Spanish seems to make more sense.
The truth is that ‘’Jaws’’ refers to a mandible, and both words exist in the English language. Although jaw and mandible are practically synonyms, in daily use the Spanish word for ‘’Jaw’’ is mostly used for farm animals (horses, cows and pigs), and the equivalent of mandible is more formal, almost a technical term. Another word that can be used is maxillary. Others have even proposed the translation ‘’fauces’’, but this mostly refers to the back part of the mouth and is not a synonym of the above terms, which in my opinion is incorrect.
And so we run into the first problem. Distributors couldn’t use the actual translation of ‘’Jaws’’ in Spanish because it is used in a different context. But why didn’t they use ‘’Mandibles’’ or ‘’Maxillary’’, or even ‘’fauces’’? Actually, none of them was catchy enough for a horror/suspense film.
Going back to the beginning, and about rookies: several times I’ve heard someone hum the film’s soundtrack and then say: ‘’Shark! What a movie!’’. With such a statement, one would figure that these people had never seen the film in its original language, nor had ever seen the poster or anything, and only pretended to be capable of using English words.
And why do I say this is annoying for connoisseurs? In my own experience, a literal translation is the easiest, the quickest. The names of films shouldn’t only express the same words but also convey the same message, even at the expense of saying something that barely resembles the original or even saying something else altogether.
Talking about a topic with intellectual honesty should involve at least a bit of research, of studying, of checking different sources and going to the sources of the sources and of course, plenty of analysis.
A CD with multimedia content
I had bought an electric grinding machine to fix up an apartment I had just bought. I went to my usual hardware store and bought a model that fit my needs and budget (more than eight years later I still use it, so it was a good purchase).
Happy as a camper, I went home and checked the contents. I left the manual for the end, and started displaying the parts on the floor: the grinder, the adjustment key, a white envelope with a multimedia CD. ‘’How interesting! I’ll check it out later’’ I said out loud, knowing I never would. I finally took the manual, opened it on the first page ‘’Parts’’, and went over them on the floor.
‘’But where are the disks? These creeps, they did not include the disks, now I have to go back and complain…’’. And once again, I saw the white envelope: of course: the two disks. What else could there be in this envelope, a CD with multimedia content? Who could even think about including a CD with multimedia content? You'd have to be crazy.
There is a natural way to approach problems. Of course we must always start at the beginning, find it and try to stick to the nature of the problems. It is easy to get distracted and lost, and get carried away by our own likes and interests, or technological fetishes. The solution to technical problems is not necessarily more technology.
Building my house
Not too long ago, I bought a plot of land and built my home, with my own funds and some family loans. I am deeply proud of the fact that there was a mere 6% deviation from the original budget, and only a 2-month delay. For those of you who know how construction works, you will realize that this is an extraordinary feat.
I could spend hours speaking about this topic, and that would go against the brevity spirit of these anecdotes. So I will focus on only one thing: something I would do differently….
One is used to acting as a ‘’contractor’’. We get paid for doing something that someone else ends ups using (I’d like to say enjoying, but let’s leave it at that for now). The thing is that when it’s the client, time flies and the budget evaporates. But in this case the management was good, the team did their job, there were no problems with integration with other specialists (and there are many) and like I said before, it was finished properly and in a timely manner.
Turns out that wet construction (bricks, cement and plaster) has a setting time (drying and hardening). Small cracks on doors and windows are absolutely normal at first; even if the land was never used before, there is a period for the construction to settle on its own weight. Usually, a good work involves allowing for the appropriate setting time (and this time is usually extended) and when it is time to paint, to use spackling paste to cover these cracks, an effortless task.
I must confess that sticking to the plan was my ultimate goal, and although I achieved this, now I know that if I had respected the time of each material the result would’ve been even better. The supplier stretched his technical capacities to fulfill my business needs…
That’s some news! As a client, I discovered that indeed ‘’Good cooking takes time’’.
These anecdotes were chosen for a reason; they illustrate learnings I obtained throughout my life and later applied to specific disciplines of Software Engineering.
“The correct tool”. I applied this to many development-related activities, first estimating how much effort a task requires and comparing this against the result. More than once, I changed tools when it became obvious that at that pace, we would burn half the project. When there were no other options, I let myself be guided by the cost-benefit analysis.
''The sharks’ jaws” is an example of what a good functional analysis can achieve. This may seem like a redundancy, but people working with systems do not know much about the business based on which we build software, and therefore, we must make additional efforts to do research on the issues we wish to tackle.
“A CD with multimedia content’’ refers to the natural design that developments should have, and the way in which the different parts of a solution should be naturally integrated.
“Building my house’’ is an example of project management, of how I envisioned every piece as a part of the sum and one same team with a common goal, with its roles and specialties, aiming at all times at the success of the project through planning, risk management, follow-up and a control board. But at the end of the day, details are found in technical issues.
Santiago Seijas Cao
.NET Technical Expert