Dependency Injection And Willpower

In my last post, I have written about logging yourself like you log your software. I do believe that self-reflection is the very first step to becoming a better programmer, leader or professional in general. So in case you have missed it, dig in!

This time I will focus on dependency injection and how to use this technique in real life, to improve your discipline and productivity. So, whether you are a full time remote worker (like myself) or you are passionate about becoming super productive, or you just want to work more often on your side gig, you will find techniques you can use almost out of the box to (when applied) do so.

What is dependency injection

There is good technical oriented description available on wiki and if you are not technical oriented you can read Simple Introduction to Dependency Injection available on TheServerSide.

For our need even this one liner could be good enough Delegate as much as possible, so you can focus on things that only you can (or have to) do. Stories tend to help to understand some concepts, so let’s consider Jane, who just started her own business French Bulldog Consulting

French Bulldog Consulting

Jane truly loves French Bulldogs and has one of her own. She also was a little bit involved with local Frenchie community, she read through every book about dogs she could lay her hands on. Coming to terms with her inner calling she quitted her 9-to-5 job and decided to be her own boss. She created a list of things she has to do, to smoothly run her business:

  • Pay taxes
  • Stay on top of her invoices - both incoming and outgoing
  • Write blog posts regularly
  • Attend local dog (especially Frenchie) meetups to promote herself as a Frenchie Consultant
  • Schedule consulting sessions
  • Meet with clients on consulting sessions
  • Grow her community on social media
  • Write and edit her book
  • Editing book
  • Writing blog posts

That seems like a lot of things to do, but Jane thought to herself: Hey, during my working hours I was focused like a laser. Without chit-chatting with my colleagues I will be twice as productive. That was the case in the very beginning when she was still on jet fuel coming from starting her own thing. She got few clients to get by, but she was working twice as much.

After few months she grew more and more tired, as putting more time into the equation was getting her closer to a solution. She understood that she has to delegate some of her work. She decided to split her business into following modules:

  • Paying taxes and keeping track of invoices
  • Scheduling consulting sessions and meetups
  • Meeting with clients (on sessions and meetups)
  • Being present on social media
  • Writing book and posts
  • Editing and spellchecking

With dependency injection, we could draw broad parallel about outsourcing, but in this post, we will look through a magnifying glass on one “module” - Writing book and posts. This is part of work, that comes completely from self-discipline. When meeting with clients there are external stimuli - Jane does not want to look bad or unprofessional, so she is always on her A game. When writing a book and a blog without a great audience, Jane has usually convince herself into doing it.

Jane tried to just focus and get things done - the target was to write everyday - both post and book. First week it went well, but then Jane started drifting - either into social media or into doing more important stuff (at least in her mind). She knew that growing audience and writing great book will boost her businnes more than anything else, yet she was slacking on that. Of course dark thoughts came into her mind and she started beating herself up about not being as productive as she wishes.

One Saturday evening, after reading yet another “How to be 100x productive” post or book she decided that she will do the following - select as little as possible techniques and apply them from the start to the end. She decided to use:

  • Pomodoro technique
  • Task planning before execution
  • Eliminate external distractions

What is willpower?

Those three techniques have one common theme - reducing willpower cost. If you have few extra minutes on your back you can read (this article)[] coming from American Psychological Association. For now simple definition will be good enough: Conscious ability to delay instant gratification in order to reap rewards in the future.

Willpower as a muscle

This is a rather common analogy. Willpower behaves similar to the muscle - if you use it, it tires and becomes weaker. On the other hand, it also grows and become stronger in the long term, when trained regularly. This has serious implications. For one, you have to understand that willpower pool can be depleted and it is extremally hard to crunch through all the material in one session as opposed to splitting it into smaller chunks. Running analogy is quite simple - One 20 miles session is not the same as ten 2 miles sessions. Two, willpower grows stronger when trained. That means that doing things that require willpower becomes easier not only they become a habit, but also because your willpower muscle becomes stronger. Latter implies that also undertaking new challenges will be easier.

Externalizing willpower

Let’s assume for a moment that the following statement is true: Every conscious decision (and keeping that commitment) that delays instant gratification has willpower cost. The very first conclusion coming from that sentence is to reduce the number of decisions you have to take. The second one is to externalise commitment. I won’t go as far as trying to separate those two completely and consider them from their own unique perspective. For most of us, those two are rather intertwined. So what we could do:

  • Reduce the number of hours spend on social media (and other time-consuming sites).
  • Reduce number of times we are checking our mail.
  • Plan our efforts and try to split them into small, measurable, actionable chunks.
  • Try to “disconnect” and work only on one thing we want to focus on.

You have to reduce the number of decisions you are taking, especially those of which outcome may be harmful. Next, you need to reduce the number of distractions that will lead you away from your commitment.

Tools that might help you


If you are not planning your work, hobbies, efforts, you are spilling your time left and right. There is a ton of material available on that around the web. I personally use Trello board kanban style.


This is really best (Chrome plugin)[] I have ever used. It block sites you think are wasting your time. There are alternatives for other browsers. This tool boosted my productivity like nothing else.

Pomodoro timer

Here you can read about (Pomodoro technique)[]. In short summary - you split your work sessions into 25 minutes with 5 minutes break. During a work session, you are not doing anything else you consciously decided to do. Google for an app for your desired device. I personally use one on my android phone. Remember this tip: step away from the keyboard during breaks.

Time logger/Journaling

I use good old pen and paper for this, but I really do believe it is extremally important to reflect on yourself. If you want more, you can read my previous post.


At the beginning, I thought I will write down more tools, but those three are really essentials. So instead of falling for trap of looking for a perfect solution - master few. Your willpower cost will increase, willpower pool will increase and you will be able to focus more on important things in your life.


  • Idea of using trello and kanban flow for weekly planning comes from John Sonmez
  • Video about planning your week kanban style.
  • General note of simplification and reducing instead of adding as a way to increase productivity comes from Tim Ferris

Do you want more?

If you like this content, subscribe to receive updates when more goodness like this is published. No spam, ever.

Leave a Comment