Two Years Ago, I Was Sick and Burned Out. But This Powerful Quote Changed It All

In 2023, I felt sick to my stomach.

By the end of the year, I burned out. Then in 2024, I was laid off. Perfect combination, right?

For the first time, I had no idea what to do next.

One day, I called a friend to tell him how I felt and get things off my chest. “You always have a plan,” he told me.

But not that time. I only knew what I didn’t want to do. I didn’t want to go back to where I was: stomach sick, burned out, and without a job.

I felt relieved after that layoff.

But it lasted only weeks before I realized I had no paycheck coming. I checked my expenses and bank account to see how long I could last without a paycheck. Relief quickly turned into desperation. More than once.

The quote that changed everything

By chance or fate, I found this quote:

“If you don’t know what to do with your life, start by working on your health”

That’s from James Altucher, one of my favorite writers. It’s from an interview or one of his books, I can’t remember exactly. I’ve been following his work online since then, by the way.

Since last year, after ditching my to-do lists, my only plan has been to take care of my body, mind, and spirit every day.

Prioritizing our health creates forward momentum. It gives clarity, energy, and purpose.

There are days when I miss working on any of the three parts.

But when I miss a couple of days, I can feel it. Frustration, ruminating thoughts, and low energy start to appear. Again. That’s the warning sign to go back to my healthy habits. My body tells me when it needs to be taken care of.

I still don’t know what to do with my life. Probably, I never will. But working on my health has given me so much peace of mind.

One day at a time

Life doesn’t come with an instruction manual. We have to figure things out. We all are figuring life out as we go. Sometimes it’s easy. Sometimes it’s not. Sometimes we know what we want out of life. Sometimes it’s easier to tell what we don’t want to do.

No matter where you are in life, work on your health. That’s the first step to change.

4 Writing Lessons I've Learned Recently—Two of Them After a Viral Post

#1. Use Fear, Curiosity, and Desire to write attention-grabbing headlines.

Credits to Ron Markley on Medium.

Recently I’ve learned that when we write content, we’re in the business of writing headlines.

A good headline is like a good welcome sign. People will only stop by if they see a good one.

No matter how thoughtful our content is, if the headline doesn’t hook readers, they won’t stop to read it.

#2. When writing stories or fiction, a point in time creates expectations in the readers’ minds.

When we write “It was a sunny summer day when I saw her for the first time…“ readers expect to hear more about what happened.

And if we abruptly shift subjects, it’s like breaking readers’ expectations. Avoid those abrupt shifts. It’s like cutting off a conversation mid-way.

#3. Listicles attract higher engagement on social media.

Listicles work online and offline.

The 10 Commandments, the 95 Theses by Martin Luther, the 48 Laws of Power… All of them are listicles.

Since last year, I’ve been experimenting on LinkedIn. And listicles have worked like a charm.

My most viewed post was something like “12 lessons after 10+ years in Software Engineering (In less than 1 minute)” followed by 10 one-liners and a question to invite people to the comment section. Boom! Over 80,000 views. I felt like an Internet celebrity for a couple of days… Here’s the post, if you’re on LinkedIn, by the way.

When reading listicles, people tend to comment on the item that resonated the most.

#4. One single post can boost your follower count.

You know the Pareto principle, right? 80% of results come from 20% of effort.

Well, 80% of followers and engagement come from 20% of posts. And one viral post can boost your follower count. It has happened to me on LinkedIn and Medium recently.

How To Find All 3-Digit Numbers In A Binary Tree

This is an exercise I failed to solve in a past interview a long time ago, in a galaxy far, far away. I ran out of time and didn’t finish it.

Off the top of my head, the exercise was something like this:

Find all 3-digit numbers you can create by visiting a binary tree. To create a 3-digit number, given a node, visit either the left or right subtree, and concatenate the value you find in three nodes.

The next tree has 4 3-digit numbers.

        1
       / \
      /   \
     2     7
    / \   /
   5   9 4
  /
 3

They are 125, 129, 253, and 174. No, 127 is not a valid number here. We should visit one subtree at a time.

To finally close the open-loop in my mind, here’s my solution.

Let’s solve the simplest scenario first

If we have a tree with only the root node and the left subtree only with leaves, we could write a function to “walk” that simple tree like this,

List<int> Walk(int root, Tree subTree)
{
    if (subTree == null) return [];

    var candidate = root * 100 + subTree.Value * 10;

    List<int> result = [];
    if (subTree.Left != null) result.Add(candidate + subTree.Left.Value);
    if (subTree.Right != null) result.Add(candidate + subTree.Right.Value);
    return result;
}

Here root is the value of the root node and subTree is either the left or right subtree of our root node.

If we call Walk() with our example tree,

        1
       / .
      /   .
     2     .
    / \   .
   5   9 .

The root is 1, the node in the left subtree is 2, and the node in the left subtree again is 5, then the 3-digit number is calculated as 1*100 + 2*10 + 5.

Walk() passing only the root node and the left subtree of our sample tree returns,

//        1
//       / .
//      /   .
//     2     .
//    / \   .
//   5   9 .

Walk(1, new Tree(2,
            new Tree(5, null, null),
            new Tree(6, null, null)));
// List<int>(2) { 125, 129 }

That will only work for a simple tree.

Let’s cover more complex trees

With Walk(), we only find numbers by visiting one node in a simple tree, so let’s use recursion to visit all other nodes.

Here’s a recursive function Digits() that uses Walk(),

List<int> Digits(Tree aTree)
{
    if (aTree == null) return [];
	
    return Walk(aTree.Value, aTree.Left)
           // ^^^
           // We visit the left subtree from the root
              .Concat(Walk(aTree.Value, aTree.Right))
              //      ^^^^
              // We visit the right subtree from the root
			  
              .Concat(Digits(aTree.Left))
              //      ^^^^^
              // Find digits on the left subtree
              .Concat(Digits(aTree.Right))
              //      ^^^^^
              // Find digits on the right subtree
              .ToList();
}

Digits() starts visiting the left and right subtrees from the root node. Then, it recursively calls itself for the left and right subtrees and concatenates all the intermediary lists.

All the pieces in one single place

Here’s my complete solution,

record Tree(int Value, Tree Left, Tree Right);

List<int> Walk(int root, Tree subTree)
{
    if (subTree == null) return [];

    var candidate = root * 100 + subTree.Value * 10;

    List<int> result = [];
    if (subTree.Left != null) result.Add(candidate + subTree.Left.Value);
    if (subTree.Right != null) result.Add(candidate + subTree.Right.Value);
    return result;
}

List<int> Digits(Tree aTree)
{
    if (aTree == null) return [];
	
    return Walk(aTree.Value, aTree.Left)
              .Concat(Walk(aTree.Value, aTree.Right))
			  
              .Concat(Digits(aTree.Left))
              .Concat(Digits(aTree.Right))
              .ToList();
}

var tree1 =
    new Tree(1,
        new Tree(2,
            new Tree(5,
                new Tree(3, null, null),
                null),
            new Tree(9, null, null)),
        new Tree(7,
            new Tree(4, null, null),
            null));
Digits(tree1)
// List<int>(4) { 125, 129, 174, 253 }

Et voilà!

I know it’s too late. Months have passed since then, but I wanted to solve it anyway. Don’t ask me what company asked me to solve that. I can’t remember. Wink, wink!

For other interviewing exercises, check how to evaluate a postfix expression, how to solve the two-sum problem, and how to shift the elements of an array.

Sell Something or Be Ready to Sell Your Time

Selling feels dirty to far too many people.

Maybe that’s because we have the wrong impression of selling as tricking people into buying something they don’t need with pushy lines or sales tactics. “I’m making an exception for you. Hurry up! If my boss finds out about this, I’m fired.”

The truth is we’re selling all the time, even without realizing it.

Isra Bravo, the best copywriter of Spain, taught me that we’ve been selling since we’re kids. We sell ourselves to get our parents’ attention. And as adults, we continue selling: when looking for a job or for a romantic partner.

The other day, a salesy DM made me change my perspective on selling: from pushy sales tactics to genuine help.

If we aren’t ashamed of helping, we shouldn’t be afraid of selling.

These days, jobs are uncertain and layoffs are always around the corner. Either you sell something (a book, course, template, coaching) and free yourself, or you sell 8 hours or more of your time and become a slave.

Remember, “whoever sits in a cubicle is replaceable.” (Choose Yourself by James Altucher) Sell something or sell your time forever.

Put Blood in Your Opening Lines and Keep Your Readers Hooked Forever

People have short attention spans, and shorter for boring things.

That’s why our job as writers is to keep readers moving from the first sentence to the next and to the next…

I learned from James Altucher, one of my favorite writers, to study the opening lines of the books I read to write my own.

Following that advice, here are some of my favorite opening lines:

Genesis by Moses

In the beginning, God created the heavens and the earth.

That’s the opening line of the Bible, Genesis 1:1. It doesn’t matter if you believe it or not, those 10 words hook you right from the start.

If you read it for the first time and with fresh eyes, you can’t avoid asking:

  • Who is this God?
  • “In the beginning”…Was there anything before?
  • How did He do that?
  • And more important, why?

We’ve been trying to answer that for years.

One Hundred Years of Solitude by Gabriel García Márquez

Many years later, as he faced the firing squad, Colonel Aureliano Buendía was to remember that distant afternoon when his father took him to discover ice.

I didn’t read One Hundred Years of Solitude until the end. Sorry!

That’s one of the required books in my Spanish classes. I was too young. Too many members of the Buendía family that I got lost.

Even though I didn’t read it until the end, for some reason, I memorized that opening line in Spanish, its original language. It’s way stronger and more memorable in Spanish.

“Many years later,” so it doesn’t start right at the beginning.

“The firing squad,” what did this colonel do?

Before getting shot, of all things, he remembers his father taking him to discover ice? Wait! Was ice that new? When is this happening?

Choose Yourself by James Altucher

I was going to die.

Five words that hook you. You can’t avoid asking how and why.

To add more drama, he continues:

I was going to die. The market had crashed. The Internet had crashed. Nobody would return my calls. I had no friends. Either I would have a heart attack or I would simply kill myself. I had a $4 million life insurance policy. I wanted my kids to have a good life. I figured the only way that could happen was if I killed myself.

He answers the “why” by giving three causes: market, internet, and no friends. So is he an investor in internet companies? He doesn’t give a full answer to make us keep reading.

This guy is so miserable that he wants to take his own life just to leave the insurance money to his kids. How did he end up there? You can’t avoid empathizing with him. You just want to keep reading.

Reinvent Yourself by James Altucher

It was all over for me once again.

Wait! When was the last time? And why is that happening “again”? And what is “all”?

To keep building up drama, he goes on:

It was all over for me once again. Marriage was over. My bank account going down. Nobody was publishing any more of my books. Nobody was giving me any more opportunities.

If you have read James Altucher’s previous books and heard his stories, you know he’s referring to one of the multiple times he went bankrupt. That explains the “again.”

After that drama, you want to keep reading to know what he did to get back up. It’s a book about reinvention. He got back up, right?

Parting Thought

Are there any patterns in those opening lines? Yes.

  • Thought-provoking or controversial statements like in Genesis.
  • Intriguing stories like in One Hundred Years of Solitude.
  • Rising drama and tension like in James Altucher’s books.

James Altucher teaches about powerful opening lines. And he walks the talk in those two books by building up drama.

A good headline is like a welcome sign. Controversy, curiosity, blood, and drama in the first line create the first impressions in your writing. Remember, you only have one chance to give a good first impression. So, put blood and drama in your opening lines and hook your readers until the end.