Navigating Self

My attempt to have a writing habit. Writing forces me to have clarity with how I'm living my life.

ComputersFinancesSystems and ProcessesThoughtsUncategorized

Blog

Slow Mornings

“Way too often we bring the best of ourselves to work and the leftovers home.” – Esther Perel

This has been a slap in my face when I realized it’s true. I’ve been putting all my prime energy at work — the fun, energetic, solve-all-your-problems attitude version of myself. I go home tired, irritated, no energy left for my family. My thought is it was justified since my main role was providing, and I’m doing it fairly well. But turns out it doesn’t align with my values.

Strong values makes easy decisions

What I do now is have “slow mornings”. I do not go to work until my kids wake up, have breakfast, and I spent time with them (with as little gadget use as possible). I also make sure I’m around when it’s bed time, regardless of deadlines and deliverables. Those can wait until my kids are asleep.

One of my core value that I identified is family comes before work. I couldn’t count how many times I ditched work to spend fun times with my kids now. Ditching work is easy if the question is should I have fun with my kids or be guilt-ridden procrastinating while I try to work? Of course my default answer is have fun with my kids. My prime energy is for my family.

What’s my work structure looks like now?

The only time I’m guilt-free working is when they are sleeping. However, working only when they are sleeping isn’t sustainable. I still need to work. After all, providing is still my primary role.

My kids wake up at 6-7am, then I stick around to spend time with them up to 10am. I officially start my work day by then. I try to go home for lunch, late afternoon walk, and dinner, then go back to my office until bed time at 9pm. This is a hard stop of my work hours. It’s very important for me to be there at bed time. Usually, if I still need to deliver something within the day, I’d just set an alarm at 11pm to wake up and continue working.

I preferably not want to work beyond 3am because I wouldn’t have good energy when my kids wake up. If I’m still not done by that time, I’d reset expectations.

Where do I compromise?

I want to be good with family and work. My work enables us live a good life. So where do I compromise? Sleep. Year-over-year I’ve been needing less sleep. I’m at 6 hours/night now. This is why I have more coffee in my blood than water. 😛

There’s a 2 hour gap between my average time in bed and average time asleep because my kids usually takes sometime to sleep. We ask about their day, pray, and say thanks for everything we’re grateful for (usually for new toys). It’s extra fun when they start talking.

Why am I doing this?

Kids belong to themselves. The process of them leaving you starts when they leave your body. – Marriage Story

Well, in my case it started when they left my wife’s body. I can imagine it’s a long steady process of them leaving slowly until they are capable on their own.

“They grow up fast, spend time with them while you can.” is a recurring theme when I read about parenting stuff. This is why I try to spend as much time with them as I can. Soon enough they wouldn’t even want to hang out with me anymore (and that’s okay).

I’ve accepted that the next 10-20 years of my life will be mostly about supporting them. Things I selfishly want to do, I can do later on if I’m still given the time. All the time spent with them is well worth it on it’s own anyway.

Ultimately, it’s a meaningful experience to witness a human being that was part of myself grow to be their own self. And I just want to witness as much as I can.

New Role: Cloud Engineer at Human Made

I recently joined Human Made as a Cloud Engineer. The application process spans a few weeks and I was super anxious with the whole thing. I was actually bracing myself for rejection. But when offer has finally been made, I was jacked to the tits!

This is a big win and exciting for me for multitude of reasons:

Culture

Start with trust, and be trustworthy

The whole company values aligns with mine and makes a lot of sense. I strive in a trusting environment. I naturally give my best to people who supports me. The company have a big focus on the well-being of its people (also called Humans).

HR policies reflects company values. On my first day: 1) they provided more than adequate equipment 2) health care coverage to me and all my dependents 3) pro-rated paid time-off that I’m required to use, and other things that just shows how much they care.

Working with top-notch talent

I couldn’t believe it when I realized that our Director of Product (my boss) was the one who created WP-API.

I distinctly remember getting really excited when it first launched because I was working on a WP project that was AJAX/jQuery-heavy. The code base started to felt hacky the more features were implemented. When I tried WP-API (even though it was still in beta) together with AngularJS, development started to become enjoyable and easier to maintain. It made my life and that project’s code so much nicer!

I feel small around other Humans because of sheer amount of experience everybody have, which is a good thing. Feeling small only expands my opportunity of growth. Observing how other people do things makes me realize gaps in my knowledge that I need to fill-in. I also have access and learn from them. This position will only accelerate my growth.

New career path

I’m coming from full-stack web development. I’ve been doing this for more than a decade. However, I’ve always been drawn to servers, networking, and automation ever since I tried sharing our dial-up connection, for two computers, using a crossover LAN cable when I was a kid.

Applying required me to do a trial. The trial involves troubleshooting a broken stack. They provide all the documentation and access to AWS console. I was told that I don’t have to fix it but I need to write down my troubleshooting steps. I had so much fun doing the trial. It took me 4 hours of intense focus and frustration, but the satisfaction of finally making it work was just priceless.

I still have a lot of gaps in DevOps skills. I’m planning my next few years focusing and honing those to give more value back to the company. And also have fun learning along the way.

Validation of my current skillset

“There’s a deep satisfaction when you know how valuable you are, and the world agrees.” – Derek Sivers

I try not to seek validation. But it just feels good to know that my skills is on par with first-world talent.

#

Despite emphasis on my skills, I still largely credit luck (being blessed) on how I landed in Human Made. My skills only maximized my chance, but overall I just got incredibly lucky (blessed).

Insecurity as a trigger to take action

I used to see insecurity as a sign of weakness, something I should dispose. Lately though, I’ve been thinking about usefulness of negative emotions. Those must have serve for something since we still feel it despite generations of evolution, right?

Growth is one thing. We can’t grow stronger if we always feel good. If we feel secure all the time, we’d be complacent. There’s no incentive to change things. Insecurity is like a fever, it’s a symptom that something is wrong. I feel insecure because my body wants to tell me something. I think it works as a “signal” that I have something to improve on.

Try to understand: what is my body trying to telling me?

Do I need to improve my understanding of the world? Do I need to improve a particular skill? Do I need to prepare myself for something?

What actionable step can I take now?

I’ll try to figure out why, be completely honest with myself, and address it. It hits hard, but it also pushes me forward. The more issues I can resolve, the more confident I will be dealing with any issues that will come up, the more secure I become.

When I get insecure now, instead of brushing it out, I ask 1) What is this telling me? 2) What actionable step can I do? And then do it.

Nothing in excess

I recently got a new a job as a Cloud Engineer. Part of pre-onboarding was choosing my preferred equipment. The recommended machine for engineering roles was a MacBook Pro 13″ 16gb 512gb with an AirPods Pro (or any equivalent). Since Intel-based MacBooks are getting phased-out, I opted for a MacBook Pro 14″.

Here’s where my issue surfaced. Even though I’m not the one paying for it, it still felt excessive. I already have a personal MacBook Air that’s half the cost and also good enough to do my role. My role requires ridiculously low computing power to be productive. When I got it, I wasn’t giddy or super excited as I should be. I felt some kind-of waste on adding another stuff to my life, when I already have something I can use. It literally sat on my desk for a full week before I started using it.

I wondered why:

  1. I like getting away with as minimum as I can – I think the optimal position to be in is just right in the middle. Not lacking, but also nothing in excess.
  2. Cheaper stuff requires less care and easy to replace – I get more excited with cheap electronics than most expensive ones. I like not having the best. Easily replaceable.
  3. Less emotional attachment to material things – If it breaks (which it will inevitably will), then it breaks. No hard feelings. I’ll just buy a new one. A line in Fight Club stuck with me when I start to feel I’m too invested in a particular thing: the things you own end up owning you.

This all made sense. But at the same time, I’m also wondering: Am I just rationalizing? Is it probably because I feel I don’t deserve the best?

I don’t know. I’m still figuring it out.

Preparing to die

One thing that significantly changed in me when I had kids is the willingness to build wealth.

My family is never really about luxury. We’ve never really envied other people who has more than us. My upbringing is heavily biased on being contented with what we have (thanks Ma!). There’s natural resistance to excess. And that’s how I am up to now.

Bringing kids to this world though, have this good burden of wanting to provide and secure them the basic necessities of life. That’s how I see my primary role now: a provider. However, there’s really no guarantee up until when I’ll be alive. The best option I have is to build wealth as fast as possible that can cover their life up until they are capable of choosing their own path.

At the core of what I do and why I’m motivated to work hard is actually a disguise on being ready to die anytime.

How I’m preparing to die

The best way I effectively work is when I have a crystal clear vision of what I want to achieve. I’ve identified two goals that, when achieved, I can go peacefully:

  1. House and lot per kid – with a lot of luck, I was able to achieve this recently. Whatever happens now, at the very least they will have a place to live in.
  2. 5m per kid – to cover basic necessities and education up to college – this will take some time to achieve. My strategy for this one is get to a term-life insurance until I get to this point. Regardless of what happened to me, they will still be covered.

Of course I want to provide them more than material things. I’m figuring those out along the way. I just consider this as the baseline of what I’m aiming to provide. 

#

There’s this line in one of my favorite song when I contemplate about death: love is watching someone die — so who’s gonna watch you die?

I sure hope that my kids are the ones who’ll be there. Already equipped for whichever path they choose and ready to whatever challenge the world is going to throw at them.

What’s the worst thing that can happen?

Whenever I’m in a tough situation, it has become my habit to ask “what’s the worst thing that can happen?”

Let’s say I got delayed on a project. What’s the worst that can happen? I get fired. Then what? I will still be alive by then, I could find another job. I also know that I’ve minimized my risks enough that I could live the same lifestyle for a few months without any income. There isn’t really something to be anxious about.

I read that the fear we feel didn’t evolve as human’s circumstances improved. The fear we feel getting fired is irrationally similar to being in a life-and-death situation.

Fear’s primary purpose is to keep us from things that threatens our lives. If it’s something that can cause irreversible consequences (total disability, jail, death), sure it makes sense to be afraid. But if it’s not, fear just becomes a hindrance to think of solutions. So how do I lessen it?

Acknowledge the worst outcome

Explicitly acknowledging what’s the worst that can happen makes myself realize that hey I ain’t gonna die. I can move on to thinking how I can actually rectify my situation. A significant amount of mistakes can be corrected.

For a delayed project, most people just want to be updated. Sharing what’s the cause of the delay and how I plan to stay on track is a very good first step to do.

I don’t have control on how they will react. But regardless if they understood my situation or the worst actually happened, I’m prepared. The important thing is I was not paralyzed by fear, I started moving again.

Saving state to make it easier to resume work

I maintain and add/fix features to an eight-year-old codebase (web app). I like maintaining and keeping things running. My main challenge here is every time a new feature has to be implemented/fixed, I have a long list to do before I get to the actual work. Regardless on how simple it is.

To get started I need to:

  1. Open Visual Studio project
  2. Make sure I’m working on the latest version
  3. Start RavenDB (local database server)
  4. Start RabbitMQ (local message-broker)
  5. Start IIS (local web server)
  6. Open JIRA ticket for implementation details
  7. Finally, start working on the feature

This is only to get started. It doesn’t cover doing the actual work, testing, and deployment. There’s too much friction.

What I tried but didn’t fully resolved my issue

My initial solution was to use a dedicated laptop for web app-related work. This worked for a while but I didn’t like maintaining two laptops. If I forgot to charge the laptop, it shuts off leaving me to do those same thing all over again.

The second thing I tried was to run VM in Azure for development work. It has an image with Visual Studio pre-installed. I was able to ship a few features using this workflow. The lag was noticeable but every time I logged in, I resume where I left off. My issue is the cheapest VM costs around $20 a month (2 vCPU, 2gb ram, non-ssd storage). Build time is also considerably longer because of the specs, which becomes critical for hot fixes.

What I found to be working for me

I discovered cheap tiny PCs in FB Marketplace. Cost is only P10k for a fairly recent Intel i5 9th gen processor (6 cores). It idles at 10 watts (a full pc idles at 100w). I added 2x 16gb DDR4 ram and 1TB SSD. Total cost is only around 20k.

It sits in my lil homelab together with my other servers

I’m using it as an always-on headless machine that I access through Jump Desktop. Jump Desktop is a remote desktop app that has its own STUN servers. This means I can access the machine anywhere as long as there’s internet.

This solved my main pain point when working on this particular codebase. I’m also back on bringing only a single laptop with me if I go out.

My new process now:

  1. Open Jump Desktop
  2. Connect to the development machine
  3. Since everything is in place already, I only need to start working

This is me accessing the machine remotely from my Mom’s home (the machine is in my office). As soon as I connect, I resume where I left off. Visual Studio is open, local servers are running, build time is fast, and it doesn’t use too much electricity when idle.

Make fast decisions

I used to procrastinate making decisions because I fear making the wrong one. I preferred to keep things hanging until somebody else takes action. Even for the smallest things like where should we eat? It gets worse the bigger the decision needs to be made.

Something I admire with Julie and her family is they make decisions amazingly fast. Action takes place soon after. I wanted this pace, so I identified what keeps me from deciding and address it.

I adopted these mindset to prevent option paralysis.

1. A wrong decision is better than no decision

Indecision leads to more indecision. With indecision, I am neither moving forward or backward. It stops momentum.

Things moving are better than things in undecided state.

2. Have a default answer

When asked where to eat, I usually say McDo. I don’t mind if it gets rejected or an alternative is presented. It’s way better than kahit saan (anywhere).

It’s the same with starting with a blank canvas. Starting from scratch is harder than editing something existing (at least for me).

3. I can change my mind (pwede mag-bago ng isip)

Yes, changing minds come at a cost. But the information you get by actually trying things is worth the cost (usually).

If it turns out I made a wrong decision, I’ll acknowledge the fault and change my mind.

This is the same strategy with digital marketing. I can’t really know what ad will work until I try it out. I don’t know and have no control of how people will react. I need to try and find out. Stop the ads that isn’t performing, and double down on those that’s working.

The more information I get, the better decisions I can make.

4. Avoid deciding on things I don’t even have control of

Let’s say I liked a particular job ad. The question I should be deciding on isn’t “Should I apply or not?” (the answer is always yes).

The only time I should decide in this scenario is if I’m at a point where a job is offered. Because in that position, I’m the one in control if I should accept or reject the offer.

Applying to the job alone doesn’t particularly change anything in my life. I shouldn’t think too much about it.

5. Letting go is an option too

If you can’t let it go, face it. If you can’t face it, let it go.

I have to be explicit in acknowledging I’m letting this go to let myself know that I’m really letting it go.

#

These strategies has served me well. I make fast decisions now. I’m action-oriented. And I enjoy moving things forward (or backward as long as things are moving).

Extending UPS run time

Last week, we had a 4-hour power outage. Since all our networking equipment is plugged in a UPS, I assumed internet will be up for at least an hour. When I check the logs though, it was only around 15 minutes. This meant the UPS battery needs replacement.

Now, I have an obsession (lol) with uptime. When I searched for a replacement, I was also thinking if it’s possible to make UPS run time longer. It turns out that it’s possible by replacing it with a larger capacity battery. But there are safety precautions.

Safety precautions

Don’t use maximum load of the UPS

Replacing the battery with a larger capacity means that the UPS will run longer than it’s designed. There’s a risk of the inverter overheating if it’s running at high load for long periods.

To prevent this, make sure that connected devices is not using more than 80{5fcd3cbc9de14e1587c4b983f08e4837fa7ae8985dc66bae235a2c5aa0d68677} of rated watts. My UPS is 300w. The devices connected are modem, router, PoE switch, and a low-power server for Omada Controller and PiHole. It totals only to 40-50 watts which is only 16{5fcd3cbc9de14e1587c4b983f08e4837fa7ae8985dc66bae235a2c5aa0d68677} of my UPS rated watts.

I did a 2-hour test running on battery. There was no notable heating with the inverter.

Use the same wire gauge to extend connectors

Larger capacity battery also means it’s bigger. It would have to be outside the UPS casing. Using thin wires will introduce a risk of it heating up and might cause fire.

I didn’t understand how to compute what’s appropriate for this, I just used the same wire gauge as the connector inside the UPS (looked like 12 AWG).

Other than that, things should be fine.

The battery included with it was 12v 4.5Ah. I replaced it with 12v 25Ah (5x more than the original battery). This should provide 4-5 hour run time in case of power loss. I then cut a hole in the side of UPS casing to pass through the wire to the battery.

It’s already installed but we haven’t had a power outage yet to actually see how it will actually perform.

Why renting out a property makes sense

Newly built house for Johan

Growing up, I heard that investing in a real estate property and renting it out is a good investment. I didn’t understand why. Especially where the required capital is intimidatingly high, I couldn’t even imagine how to earn that much.

We’ve been incredibly blessed though. We got in a position where we can afford it. I also had a goal to purchase each of my kids a property while I still can. The idea is whatever happens to me, at the very least they’ll have a place of their own. But since they are still very young, we thought of trying to rent it out for the mean time.

We were able to purchase and rent-out our first property last year. That’s when it hit me why it was a good investment.

Investment options

When our savings started to grow, I started looking on where to put it. I knew that keeping it in a savings account will make its value slowly eaten by inflation (which is 2.64% last year). So I had this urgency to make it productive. These are the investment options I considered:

BDO Savings  (for comparison)0.125% (2021)
Retail Treasury Bonds2.375% (2021)
CIMB UpSave2.5% (2021)
Pag-ibig MP25.62% (2020)

Pag-ibig MP2 is most often recommended because it has a high interest rate and relatively safe. It’s interest rate last year was 5.62% and it has a maturity of 5 years.

For our rental property, we were able to rent it out at 1% of the total cost. That’s an annual gross of 12%. Setting aside 2% for tax and maintenance. It earns 10% yearly. Higher than other safe investment options I considered. At the same time, the property itself appreciates in value overtime (I have no idea how to compute real estate appreciation though).

To be concrete, let’s say the property costs 1,000,000. And we’re able to rent it out for 10,000/month, that’s 120,000/year. Then set aside 20,000 for tax and maintenance, that will result to 100,000 net income yearly.

This made sense to me.

2020 © Jerico Aragon