Parenting Made Me Better At Programming

on 2024-09-14

This is a raw braindump post so don’t be surprised if it feels all over the place.

There’s very few life experiences that can alter your perception like becoming a parent. Young Joel didn’t know what to expect by the end of the 20s, and it’s only reinforced my feelings on the phrase “where do you want to be in 5 years?” because quite frankly, it doesn’t matter what you think at that moment in time, stuff will happen.

In my case, I didn’t think I would've done in my 20s:

  • going to AND finishing with a high GPA at university
  • getting married
  • becoming a dad

Young Joel liked to play games a lot, compared to a lot of the anime pfps on twitter / x (same thing), I hadn’t developed the interest in going hard on soaking up lots of knowledge. At some point, I did decide to build stuff that I had a problem with, so I would build solutions to them (for my benefit and anyone else’s if they felt the same).

Once I had graduated and started working full time, I still felt like I would just work then do whatever in my own time. You could say being made to work with Java 8 didn’t help with self-motivation, but then, my wife became pregnant with our son, and then I started thinking about how becoming a parent would change me (oh but you’ll know when you see them and the wave of emotions will hit you hard).

A couple weeks after learning I would be a dad, I had started jiujitsu. Nothing to do with becoming a parent, I just got bored of lifting weights and I wanted something different to do. Anyone who’s been on the mats and has seen new parents leave or become parents and felt the struggle of trying to keep training will know how much harder it becomes to train, so it’s like I’m starting grappling on hard mode.

I came to realise that there’s a parallel: jiujitsu and programming share continuous problem solving, and they feedback each other very well. Enhancing one, would naturally assist enhancing the other.

Starting jiujitsu was definitely a great decision, because you understand how hard work will achieve great results (the mats don't lie, no yapping on the mats). For context, I train 5 days/week (11am the best time btw) and have gone from white belt 0 stripes -> 2 stripes -> blue belt -> 2 stripes currently. I’ve never thought about stripes or belts, I just wanted to get better at jiujitsu because (before blue belt) I was the least experienced person by far, and even sometimes the only white belt. I love the grind, never have I ever thought about “oh I don’t feel like going “ but “hell yeah another day to become a slightly better version of myself” and that’s the mentality I apply to everything now.

With the many months leading up before my son was born, I put a lot of thought into how I wanted the future to be. All time I wanted to have dedicated to my wife, my (soon to be born) son, and being the best engineer I could be. As my wife was going to be a SAHM, I wanted to work hard and get that $$ for us. I needed an environment that supported my mindset, and that’s when I came to twitter / x.

It’s crazy how many genuine connections you can make with people who share the same mentality with you, and naturally, wishing to work with them because of the vibes. It definitely had been a good decision, just don’t get lost in the sauce of tp*t.

A big career decision I had made was accepting to go all in on Java. Hating on Java is a meme, because you only know what bad people taught you (hello university professors), but after sitting down with the language, reading the version changes, new features, JEPs, the language designers desires for the future etc I realised that Java is a really damn good language, just that.. ironically a lot of Java only devs somehow never use new features (a culture I would like to change).

However, an engineer shouldn’t care about the language, the concepts are what matter. Java/.NET is king for where I am, so it’s important I stay employable. Exploring led me to Rust, OCaml, and other great technologies that even if I can’t use them at work, I can apply the concepts those things taught me that I never knew/thought about. If you can only work with language ‘x’ then you’re in big trouble.

Honestly I’ve had very little Java experience compared to what it may look like based on my tweets, and perhaps that gives an impression for how I’ve been trying to become something great with it.

If I was not a parent, I would’ve taken more risky career moves, I think. Becoming a parent has actually made me fear the idea of moving to a new job because “oh what if this wasn’t what I expected? What if layoffs happen and I get cut because of probation? What if I was hired WFH then told I must RTO?”. It’s not really about confidence in your abilities, but what is sensible for your family. This is so damn true when you’re the only one bringing the money in. I think these thoughts will ease up though as my son starts to get closer to school age. It’s not like I’m desperately wanting to move to a new job either. My job gives me all the benefits I need (WFH, flexible hours, can take leave whenever and not questioned at all, can work in Japan when I’m seeing my in-laws for 2-3 months every year etc) and I’ve had a good environment. Naturally though, money talks, and if someone wanted to hire me, then who am I to deny my family more $$ with the same benefits.

Giving it all for my family also means one very important thing: don’t fuck up your time. I don’t sacrifice time with my son/wife just to grind. That time is precious to me, and I’m grateful I can WFH so I get to spend a couple hours in the morning with my son and another couple hours after work. Since I go to jiujitsu at 11am, that lost work time I make up at night when he goes to bed, and after a couple hours with my wife. It’s a very crazy schedule, but if I really want it, then I must manage my time well. I never think about it, but sometimes people will ask "how do you do it?" and I just say "it's my normal".

Whatever remaining free time I have, I will use towards bettering my knowledge. Maybe sometimes I will play a game, but it depends these days. I put Death Stranding off for years (idk why) but playing it when my son was very small and would sleep in a sling whilst I played gave me a deep connection to him because of Death Stranding, and the ending had me really fucked up. I don’t know how Kojima did it, but it perfectly captured the emotions of a new parent. From that moment, I wanted to do all that I could to be the best for him.

Where I am today so far, I feel really happy with my progress:

  • skipped a salary band when promoted
  • tech leading a new project that I even designed and pushed for
  • rated ‘exceeding expectations’ and received a massive bonus and a great salary increase

I am looking to keep pushing and get to a level of experience that can ascend to staff, I do believe I would do far better as a force multiplier across N teams etc based on doing the same thing in my team. That will take time, but I believe I can achieve it.

As the future is exciting with more to come career-wise, but one thing is simple, my son will only be so small for so long.. and eventually start school. You can always become a better engineer in the future, but your child will only get older. That time is truly precious, enjoy it whilst you can. I will be really sad when he is school age, and I don’t hear his laughter and running around from my office, or hearing “dada” when I step out of my office or come home from jiujitsu, so all this time I can have with him is special.

Oh yeah, do try to be WFH if you can. From my experience, it makes a huge difference. Don’t choose an office if you can be at home instead.

I love my son so much man. I want to be the best I can be and give all to him, like my dad (RIP fuck cancer) gave to me.

It all sounds like rambling (sorry), but I thought raw writing without trying to clean up my thoughts would be a more accurate representation for this.