Personal Boundaries & Modular Code

Ian Halverson
Jul 24, 2017 · 4 min read

There are many things you can’t learn from a book or computer. Life things.

At the point that I am writing this, I have been married 10 months, 7 days. If you’re not married, you should know something… Getting married means you’re going to learn. a lot.

Not the type of “Google-it” learning that those of us in the computer/software field are used to. Hard learning. You’re going to fail, you’re going to hurt people, and you’re going to grow from it. “De-bugging” your personal life is not as simple as a “console.log(myIssue)”. It takes conversations, contemplation, introspection, and a willingness to adapt.

Recently, my wife and I have been talking about boundaries. So what is a boundary? Where do we set them? Do I even need them?

To answer these questions, I want to talk about software coding. Especially modular coding. The idea of being modular in software coding is to split the responsibilities of the code into many modules, often in its own file. It is completely separate from the rest of the application, waiting patiently. When it is called to duty, it faithfully performs, and then returns to rest, dormant in its solitary namespace.

The idea of boundaries is very similar. However, boundaries can be mental, physical, and/or situational. A boundary can be telling your spouse that you need space to work on a project. It can be telling your in-laws that you are only available for 2–3 day visits maximum. It can be the action of allowing yourself to close down the “work” part of your brain when you need to be with your loved ones. A boundary means you’re giving definition to your life and the way it will operate.

Back to modular code for a moment. The benefits of modular code include:

  • A more organized app
  • Able to work on one piece of functionality without interfering with other code
  • Easier to de-bug
  • Easier to build

So what do these have to do with my personal life? Let’s go one by one…

A More Organized App

This may seem vague, but as software engineers, we know that being organized is a good thing. Not sure if you agree? Try reading somebody else’s code.

Just like reading code, the people around you are trying to read your life-code. People want to know:

  • when it’s a good time to talk to you
  • when they can plan for you to be somewhere
  • how you plan on getting something done
  • how much time you have to commit to something

Just like code, people can’t read your life if it’s unorganized. Are your plans flexible? Are you able to commit enough time for a new project? Setting boundaries helps clearly show your friends, family, and spouse where your priorities are, what you’re willing to do, and how you’re willing to do it. You’re making your life-code easier to read.

People around you are trying to read your life-code.

Non-Interference Code

This is a big one. If you’re trying to run all your code in one file, you’re going to have a bad time. Imagine: you’re working on fixing something in the workProject function, when suddenly your attention is needed over at the myMarriage function. You change a few things when suddenly you have to rush to the feedBaby function! You write a few lines there, and then you start to feel like your “life app” is crashing… And for good reason! You’ve got missing code, open functions, messy syntax…

It may seem like I’m suggesting that you don’t do all these things at once. I’m actually suggesting that if you don’t want your “life app” to crash, set boundaries. This could mean setting a situational boundary like kindly asking your spouse to take care of the baby when you are working. It should also mean setting mental boundaries. If you continue thinking about work when your focus needs to be on other things, you will mentally crash.

Put those functions in their own files, and close them when you’re not using them!

If you don’t want your “life app” to crash, set boundaries

De-Bugging

Like I said before, you can’t code your way out of a personal problem. Often, my wife asks me, “what’s wrong?”, and I can’t quite tell her. This is because my mental boundaries are not being used. I’m letting my mind drift from work, to home, to my code, to other family obligations. I’m setting myself up to be stressed out and unable to give my full attention to anyone I am with.

If I’m with my wife, I should be with her. If I’m at work, I should be at work. If I’m coding, I should be coding. It seems elementary, but these are boundaries I have to set myself.

With a modular boundary-driven mindset, not only is “de-bugging” easier, but if you can master the idea of boundaries, you’ll barely need to de-bug at all!

You can’t code your way out of a personal problem.

Easier to Build

At some point, the analogy falls apart. We are not machines. Our lives are messy and things will spill from one area to another. But setting boundaries means that each endeavor, each situation, each person, and each problem will have our full, undivided attention.

If we can become modular in the way that we set boundaries, we can build ourselves a better life.

Conclusion

Don’t take the analogy of coding and personal life to its extremes. We are not robots. But I wanted to share these things that I’ve been learning, and I thought there would be no better way than to use a little bit of software-speak to make my point. Modular code is better code. A boundary-driven life shows that you are disciplined, capable, and that you care for others around you. So do it!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade