RWDevCon 2017 Keynote: Reflect and Refactor by Marin Todorov

In this keynote speech from RWDevCon 2017, Marin Todorov challenges you to periodically reflect and refactor your own life. By Marin Todorov.

Leave a rating/review
Save for later


Hide contents
Note from Ray: At our recent RWDevCon tutorial conference, Marin Todorov gave a keynote speech challenging us to periodically stop to reflect and refactor our own lives. Marin and I hope you enjoy it!


Imagine this: you’re in an airplane cruising at 30,000 feet in the air. The Earth is far below. The AV turns on and the flight attendant speaks up.

“Attention, attention. Remain calm. If there are any medical doctors on board, please make yourself known to the aircraft personnel, thank you.”

Not a great place for a medical emergency!

Where it all hit me

Even if you know that this is not about you, even if you know that things are probably going to be alright, still your stomach jumps and cold sweat covers your palms and you start looking around. “What’s going on?”

You see the flight attendant escort somebody to the front of the airplane. You hope it’s a doctor and worry for the person who’s in trouble. Most importantly, you hope that this situation never happens to you.

Now, in this particular story and on that particular airplane, this is happening to me. I was the one sitting in the front row and my hand was held by the flight attendant as I was having a breakdown.

Yep, I was that guy.

The problem was that my life had changed quite a bit. There were big changes; there were a ton of small changes as well. I really didn’t have the time to have a look at my personal state and think about everything that was going on.

The one thing that I learned from the situation was that had I done things differently, had I looked more into all these changes happening in my life, I could’ve prevented this breakdown at 30,000 feet in the air.

Dreams Change

Let’s take a step back. I posit that what leads you anywhere in life is your dreams. However, your dreams are not static; your dreams change as you change.

To see what I mean, think about the dreams that you had ten years ago. Were those the same dreams you have right now, or have some of those dreams changed so drastically that you can’t help but smile when you think about them?

My dreams have certainly changed a lot. A long time ago, I thought, “I want to work with Bill Gates on the next version of Windows.” Then I thought, “I want to be a drummer in a rock band made entirely out of drummers.”

It would have been awesome!

Finally, my dream became, “I want to be my own man. Write books, speak at conferences, but also have a lot of time to spend with my family.”

Now, some of these dreams I’ve accomplished, and some I haven’t, but the crazy thing is how much these dreams have changed over time. I bet yours have, too. Why do our dreams change so much? Are we not the same person we used to be before? My fingerprint says yes, but my weight scale says no.

Time to lay off the Doritos.

And would it kill you to exercise?

Just like our dreams change, we also change all the time. The funny thing is that these changes are so gradual that we might not even notice it.

Think of yourself as a massive code base that you do commit to all the time, each day. When you have enough commits, you might end up with a completely different project than what you started working on.

You know how it is: you start with a to-do app, and one day you wake up and you have on your hands a massive, multi-player cooperative game set in space in a parallel universe. After you have enough commits to your code base, if you don’t periodically take a step back and reflect on all the code changes and refactor your code a little bit, you might end up with a big, hairy problem.

Watch out, it bites!

Our lives are the same way, really. We always have the best intentions, but life changes so much and it causes so much change in ourselves that we don’t even notice all the small and gradual changes, just like those tiny commits all the time. We can get ourselves into a big, hairy problem if we don’t periodically take a step back and reflect upon all the gradual changes happening in our lives.

Every so often, we need to ask ourselves, “How can we refactor our lives given what we know now?”

Let’s get back to the airplane. I’d gotten myself into one of these big, hairy problems.

watch out, me!

There was one big change: my father had just passed a few months before, and I was missing him so much. Also, there were a lot of small changes happening. Since I didn’t really have any time to reflect on all these changes, I got into this big, hairy problem 30,000 feet in the air. All these changes and all this trouble and all the work piled up until they hit this boiling point on the airplane.

All of this had been putting an immense pressure on me because I couldn’t really do any work, I couldn’t meet any deadlines—the first time in my life when I couldn’t meet work deadlines. All of this kept piling up.

The real thing was that I did not give myself time to grieve. I was trying to run shop as usual, be a busy iOS developer, speak around the world, work like crazy, but I no longer had the energy to do all of this. I thought, “I’ll just keep going as usual, because work will help me deal with grief, right?” I was always able to pull off immense amount of work—up to that moment, at least.

What I didn’t realize was that things had changed and I had changed too. All of this grew and grew until that moment in the airplane. That trigger event on the airplane was what forced me to sit down and have a look at my situation. At that moment, I knew that I needed to reevaluate what I was capable of. Certainly not work; I was barely even able to go grocery shopping.

Like any good programmer facing a big, hairy problem in my code, I refactored. I canceled all the work projects I could and postponed any deadlines indefinitely, because this is what the “me” of that time needed.

Now, needless to say, my work contacts were not very happy and I’ve received an immense amount of pressure from the users of my open source libraries. Sending out these e-mails to everyone was really hard because I felt that I was letting everyone down, but you know what? If I hadn’t done that, I would be letting myself down.

In the end, it took me a few solid months of not working, of just resting in the sun and reflecting and remembering. Only by answering the needs of me at the time could I move on to the next stage.

I’m glad I got through this time, but it’s crazy looking back that it took a medical emergency in the air to make me reflect and look into my own life. The good thing is you don’t have to be up in that airplane to start doing the same.