Two engineering concepts to improve your personal life

Ashcir
7 min readMar 22, 2022
Dizzee painting his masterpiece

“Life imitates art far more than art imitates life” — Oscar Wilde

I have not read much of Mr. Wilde’s work, but I am familiar with that quote. The older I’ve gotten is the more I’ve learnt about the world around us. As a youth, I was fortunate enough not to have experienced certain hardships as some children. I was always clothed, I never had to worry about what’s for dinner, and I was blessed to be raised by both my parents. I hope I don’t come off as bragging, rather I’m appreciative of my experience. However, the absence of certain experiences came at a cost, it planted a seed of naivety that grew into a tree of obliviousness at an older age.

My oblivion caused a disconnect between me and certain aspects of art and media. My friends and I would listen to angsty music that was prevalent in the early 2000s. Bands such as My Chemical Romance, Taking Back Sunday, Fallout Boy (From Under the Cork Tree specifically 🤟 ) filled up the space on my iPod. When I listened to the songs I only heard instruments and occasional screaming, my friends heard more than that. They heard the hurt and emotion within the lyrics. Frankly, I couldn’t relate because of my sheltered life. It was not until I experienced love, heartache, and loss later on in life that caused me to empathize with the pain that some artists carry and express through their work. Agony was the axe that chopped my tree down.

You’re probably wondering, “Ashcir, this was supposed to be a post about engineering and improvement, how did we end up here?” I’m getting there, I’m asking for a bit more of your patience.

Many people have the perception that software engineering is primarily left-brain focused, but in reality the best engineering is a combination of both sides. Yes, we need the analytics and numbers to ensure results are correct, but we also need the creativity and ingenuity for innovation. In essence, engineering is a beautiful orchestration of art and science. So when Mr. Wilde said that “Life imitates art far more than art imitates life” I see it as “Life imitates engineering far more than engineering imitates life”.

This inspired me to share some concepts that I learned from engineering, and how I transfer them into my daily life.

Don’t repeat yourself (DRY)

Dizzee drying his clothes

Time is the most precious resource we have. Some of us get more time on this earth, some of us get less, but none of us can make more time. Because of its value, we should treat it with the respect it deserves. One habit I apply is to avoid repetition where possible.

In software engineering we have the “don’t repeat yourself (DRY)” principle. The principle is as the name suggests, refrain from writing the same code multiple times. Write it once then reuse it where needed.

Daily routine with DRY violation

In the above snippet, we can see that sequence of bathing, eating, and brushing your teeth is repeated. This can be considered a violation. Let us refactor (restructure) it to remove the repetition.

Ah. Much better. I kept this example simple to illustrate the point. But imagine if the eatAndCleanupYourself() routine was more intricate. In the first snippet we would have to make changes in two spots as opposed to one spot in the latter snippet. When we don’t follow the DRY principle, we risk missing all the places that need to be updated whenever the code changes.

We keep things DRY so that we can have a single source of truth.

Now you’re wondering how can we apply this to real life? After all, that is the purpose of this article. Remember the key reason for keeping things DRY, having a single source of truth.

I use this principle to track my finances. When I started working I did not treat my personal finances as seriously as I should have. I contributed some money to my retirement accounts, but outside of that I did not diligently track my spending. It was not until I had gotten older and I realized that I needed to be more proactive with my investments in order to achieve financial freedom. One of the first steps I took to be more vigilant with my finances was gathering all the data in one place, so I could have a single source of truth. In contrast to having multiple spreadsheets, and looking at my accounts separately. The tool I’m using to see this data is Mint.

Full disclosure, this is not an ad. But Intuit, if you see this post please feel free to send me some coin, or buy me a coffee.

I like Mint because their software pulls my financial data from my accounts, categorizes it for me, and allows me to create budgets and goals.

Tracking finances is just one example of how we can make our lives DRYer. Using a password manager to manage your passwords, and using Linktree to to provide links to all your social media accounts are additional examples. I recommend that you spend some time investigating what ways work the best for you.

Separation of Concerns

Dizzee organizing his blocks

My fiancée loves home organization. One night while we were catching up on how our days went, she taught me that her love had become a trend. If you search TikTok, Instagram, or your favorite social media rabbit hole you’ll find videos of home owners bagging and tagging every day items. When she told me this was the new “in” thing in home improvement, I was surprised. Not to sound like a hipster, but I’ve been doing this for years.

“Does one pick a career based on their personality, or does one’s career impact their personality?” I’ve been pondering this question for a while. I wouldn’t have considered myself to be the most organized person prior to my engineering studies. My room’s default state was clean but messy, my notes would be scattered on notepads, and the closest thing I would have to plans was “meh, we’ll figure it out once we get there”.

Studying engineering forced a paradigm shift in how I approached problems. It taught me how to analyze, and break down problems into manageable and organizable chunks. Once my brain became wired like this, the habits overflowed into my personal life.

Ok, let us get back on track and talk about separation of concerns. Separation of concerns from an engineering perspective, deals with organization. Parts of a system should be modular, and responsible for one thing. Essentially, don’t mix your colored clothes with your whites, dirty dishes with your clean, your personal life with you work life (this one tends to be controversial).

Let’s take a look at some sample code that demonstrates the principle.

The code above gets the job done, because at the end of the day, it would allow the person to go shopping. But because it works doesn’t mean there isn’t room for improvement. It violates the separation of concern principle because goShopping() is worried about the details of too many things. It’s not written at a good level of abstraction.

It (abstraction) involves filtering out — essentially, ignoring — the characteristics that we don’t need in order to concentrate on those that we do.

Let’s refactor this code to a more appropriate layer of abstraction.

At first glance it might appear that we ended up writing more code. In a sense that’s true, but then we’ve made the code more organized and precise. We now have smaller functions that focus on doing one thing and doing it well. This allows us the flexibility to reuse the functions in future. Also, it’s more apparent from a glance what the goShopping() function is doing.

This is a quick example of how the principle can be used to organize a file of code, but the principle can be found at various levels throughout a system. If you’re interested in more examples, I have another post you can check out.

I alluded to how I use the principle in my life, but I’ll give a concrete example. I receive multiple emails each day. Whether it’s personal emails or work emails, one by one they come flying in piling up my digital desks. It can be difficult to prioritize them without proper filters in place. I use labels and folders to organize my email. This allows me to separate my project’s concerns from my bill’s concerns, and etc.

Life imitates art, and art imitates life; A natural cycle. Who’s to say which is the leader and which is the follower? As I grow in my career and personal life I recognize a similar cycle emerging as well. Whether this is a blessing or a curse, only time will tell. As I am learning to focus more on the positive side of things these days, I view it as a blessing because these concepts have improved the quality of my life and I hope they can assist you as well.

If you enjoyed this post and want to see read about more ways. Let me know, and I’ll create a series. Thanks!

A huge shoutout to Tony Hankerson JR, the illustrator of this post, and his character Dizzee. If you loved his illustrations, you can find him and more of his work over here.

--

--

Ashcir

Software engineer by trade; engineering & life blogger; landscape photographer; and teacher by passion. Born and raised Jamaican living in an American world.