How I applied my dev skills to achieve the perfect work-life balance

Oren Shahar
AppsFlyer Engineering
6 min readAug 21, 2022

--

“How do you get it all done? With four young children, how do you manage to go to the gym, surf, skate, bake and get all your tasks done?”

I get that question a lot. It wasn’t easy, but today, by combining the problem-solving skills I’ve cultivated as a senior developer with over 10 years of listening to personal growth audiobooks, I’ve managed to come up with a great solution that works for me, and hopefully will for you too.

It wasn’t always like that

I used to do my best at trying to accomplish all of the above, and always felt behind with everything. Every day, the same routine:

  • Wake up at 07:00 am
  • Get my kids ready for school and kindergarten
  • Drive to work (usually takes about 45 min)
  • Focus on tasks, meetings, and more in my role as a Software Engineer at AppsFlyer
  • Race home in time for the kids’ showers and dinner

After a long, yet productive day, at 20:30 I had no energy left and my fantasies of working out had to wait for the next day.
Then in April 2020 COVID hit, and the quarantine made everything worse! I was forced to do some major juggling! Staying home with my four kids until noon every day, and only then freeing up to start working (usually till midnight) was exhausting and less productive.
I was frustrated, I felt like I was chasing everyone and accomplishing nothing. I knew I had to make a change.

Approaching this issue as a technical problem

I started thinking about my reality as a technical problem, and decided to implement all of my developer experience and theoretical knowledge into my daily routine.
At that time we’d just started working in “Hybrid mode” — two days at the office and three days working from home. So I took advantage of that flexibility to embed my newly “developed” routine.
Here are some of the most essential steps necessary for solving daily Engineering problems, which I used to achieve a better work-life balance.

Identifying and exploring the root cause of the problem

As with any new technical task, I knew that the first and most crucial thing I had to do was identify the problem and stay very focused, in order to take the right steps in the right direction. In work, as in life, many times we tend to be so busy dealing with the problem, we don’t take the time to think about what we would like to achieve. Focusing on this helped me realize that the root cause of my problem wasn’t the time I didn’t have, or the workouts I was missing. It was my attitude towards how I thought I should handle my time.

Writing down the goals we want to achieve

This is a very straightforward and impactful principle. You can’t start working on a project without knowing exactly where you want to go with it. Since your actions are derived from your thoughts, setting goals isn’t enough — you need to document them. I realized that I had to WRITE my goals down as part of my daily routine each morning! Once you write down what you want to focus on, your actions and focus will follow.
For example — my wife and I had talked about buying a house for several years, but only when I started writing this goal down every morning as if I’d already achieved it, did we actually manage to buy a house.
Was it a coincidence? I don’t think so :)
So every time you face a task/problem, write down the desired outcome as if you have already solved it.

Explore alternatives and be creative

As a developer, when facing an issue that needs to be solved, we would rather explore several options than just accept the first solution that pops into our head. In my work-life balance madness, it needed to be the same.
Let’s talk about the hour of flexibility and strength practice I wanted to add to my daily schedule. At first, I was sure I had to take half a day off or cancel morning meetings, I even thought about skipping lunch in order to do that.
Then, exploring alternatives, instead of trying to manage time I decided to create some — I woke up at 05:30 am and made the time I needed.
Remember — the best way to plan your day is to start with the hardest and most important tasks, and then fill out the rest of your day with the smaller ones (“free slots in the calendar is the devil” Grant Cardone, The 10X Rule).

Be efficient with your time

At work, it’s easy to get overloaded with tasks, emails, meeting invites, chats, etc., that leave you feeling like you’re not putting in enough effort in the more important tasks. When you realize how precious your time is, you start becoming more efficient.

I always felt like I wasn’t spending enough time with my kids, so what I ended up doing was spending less, but more quality time with them. No cellphones, no interruptions, just me and them.

Implementing the selected solution

When coding, you read a lot of articles, documentation and best practices. The time always arises when you need to implement what you’ve just learned, even if it feels like swimming in unknown waters.
I decided to apply some of what I learned and the first advice was to start saying ״No״.

At first, it wasn’t comfortable. Declining a meeting or rejecting a task wasn’t an option, but I knew that refusing to do so would result in chasing my schedule, so I embraced the following rule:
When my presence is not really needed in a meeting, I decline it. You have to learn to say “No” politely and firmly. Once you do that — people will learn to respect your time and you will free up time for your most important tasks.

In addition, I had to arrange a comfortable place to sit down and work.
I started working in the living room, on the couch, in the kitchen, or wherever I found a free spot. I knew that failing to arrange a convenient environment would result in wasted time, back problems and frustration.
Luckily AppsFlyer gave us a “Work From Home” budget every few months, to buy equipment to create the best working environment we needed to stay fully focused and comfortable.

Flexibility is sustainability, Evaluating the solution

I have learned that usually, we don’t grasp how much time we really have (“I don’t have time, I’ve got so much to do…”).
Once you practice the above habits, you’ll find that surprisingly you do actually have quite a lot of time — but it’s mostly wasted. Start thinking “How can I make this happen?”, rather than “Can I make this happen? ”

Looking back on the decisions I made, this flexible approach has enabled me to be more efficient and manage my tasks according to priority.
So now I usually write my goals down each morning before everyone wakes up. After taking the kids to school, I work out. Then between working hours, you can find me making sourdough bread and pizza dough, while completing all my tasks on time (we’ll need to ask my team lead to verify that 😉) - so I’m pretty happy with the solution I’ve found.

Here are some of the books I found were most influential on my journey to a comfortable work-life balance:

“The 10X Rule” by Grant Cardone [link]

“Essentialism” by Greg Mckeown [link]

“The Power Of Now” by Eckhart Tolle [link]

“The 7 Habits of Highly Effective People” by Stephan R.Covey [link]

“The Untethered Soul: The Journey Beyond Yourself” by Michael A. Singer [link]

“High Performance Habits: How Extraordinary People Become That Way” by Brendon Burchard [link]

--

--