I cannot remember where I have read it (it must have been one of the "Gallup Clifton Strengths"-like things): the only way to truly understand what you are good at is to lay out a six-month plan (with a mid-way check-in) and see how you do.

I have never been a fan of New Year resolutions or grandioso plans; it never worked for me at work or in real life. At the same time, paraphrasing Denzel Washington, dreams without goals and goals without discipline and consistency will not get you very far" (see rules for life.)

Health

34 years, 175cm (5' 9''), hovering around 90kg (198 lbs.) I am mildly overweight (if that's a thing) at around 25% body fat.

I never listened to my body consciously, so I never formed good habits about diet, alcohol consumption, or exercise. I do wear a Whoop, which never fails to remind me how harmful the effects of drinking are on my body and its recovery.

It's time to start listening and doing something about that 25%.

Thinking, Sharing, Helping

I wrote this post about career progression in software engineering a while ago. It's still important but less as a course for now.

I have been doing software engineering for 15 years, made mistakes, and had some successes. Reflecting on my career path, I see that few "career in software engineering" materials were available (compared to what you can find now.) The subject is still complex to navigate, even now, with all the information available on Twitter and YouTube.

One of the biggest mistakes I made (I only see that now) was that I never stopped working. I was so hyper-focused on getting better and getting somewhere that I stopped doing things just for fun. Partially because I am an immigrant who has come from sleeping at the bus station to some success, and I had no one in the US. Partially because I really, really enjoyed it.

Long hours and hard work did give me an edge in many cases. But nothing is free: I traded off personal time. I never thought about what I wanted to do outside of work. "My work is my identity" kind of situation.

I wish someone had explained how to have a successful career and enjoy life at a slightly different pace back then: work responsibly and develop interests outside of work. It is great to be able to sprint sometimes, but you have to sprint to something. Sprinting for the sake of being ahead is pointless? When do you stop?

I promise it isn't a self-pity or "my life was so tough" note. It was gratifying in many ways, even now, when I look back. This path granted me many opportunities.

I've met people who are 100x smarter than I am. I've met people who are 100x more charismatic than I am. A lesson of modesty!

I've met people I am still friends with, although we no longer work together.

I've contributed to OSS for almost eight years.

I've worked at various companies, from consultancies/startups to midsize firms to big corporations, and I've worked with people from all over the world. There is hardly anything to complain about.

I've met people I admire (both professionally and personally) and was privileged and lucky to work with and learn from.

I've also learnt a tonne:

  • The value of testing the software that you write.
  • The practical application of all that CS stuff they teach you in college.
  • Working with codebases that are 10+ years old and plagued with tech debt.
  • Delivering greenfield projects with new technology.
  • Delivering business-critical pieces of infrastructure.
  • Breaking production and deleting production data (this is a joke, but I did do those things!)
  • The value of collaboration, moving forward and setting your ego aside.
  • The value of listening, asking for feedback often and not taking things personally.
  • The value of reflecting, asking for help and having a sense of what you want (like my friend Matthew Beale once told me, "What kind of story do you want to tell yourself?")
  • "What looks like a people problem is often a situation problem." - Switch: How to Change Things When Change Is Hard by Dan Heath and Chip Heath.
  • The value of educating and empowering others: a fantastic way to make allies and friends!
  • Dealing with ambiguity.

It's time to give back and try to help and share what I've learnt.

I want to create a personal mentorship group (up to ten people) and invite people who want to learn from me with a focus on the following:

  • Navigating a career in software engineering.
  • Effectively communicating ideas and collaborating with your counterparts.
  • Navigating ambiguity.
  • Tackling big projects spanning a year (and more) with several stakeholders.
  • Thinking about and addressing technical debt.
  • Building a platform others can build on from the ground up.
  • Building consensus across different parties.
  • "(Enterprise) Architecting."
  • Transitioning from pure engineering to engineering leadership to management.
  • Taking and giving feedback.

It is an absolute joy when work and collaboration happen magically; everyone understands each other and delivers something great.

I hope to help a few people this year!

You can sign up here.

Stuff For Fun

I have been staring at this paragraph for about half an hour. It should not be this hard. I will need to come back to it.

Writing

Whenever I think about writing (read: a personal blog, I always regret not doing it more often (or at all.) I often loathe it: I do not like how it turns out, it is too hard to write, or I am too lazy. Or because I fear being criticised and outside of my comfort zone. Whatever it is, the regret over not writing overweighs it.

Reading

I have so many books I'd like to read, but somehow, "I never get around to it." Sounds like I do not want to read, right?

But like any "keep my mind sharp" and "I'd like to learn new things" human, here is what I think I will read in 2024:

Soundtrack To The Post

The ever-evolving plan for 2024

What I think I would do in 2024.