The Last 20% Is Where Your Soul Lies

Starting a new project is fun. The possibilities are endless! It’s so excited to just get started on a clean slate right away and keep going. If there’s an error, you can just delete all your code or wipe out your database without thinking twice about it.

However, near the middle of the project, things get a little tedious. You now have way more code, so you have to focus a lot more on the non-fun debugging and trying to figure out what you just wrote. Meanwhile, there is an endless list of to-dos piling up as the features you originally thought were going to be easy are now not completely working as expected.

At this point, it is easy to give up and move on to a new and more exciting project… As Song Zheng writes:

“The last 20% takes 80% of the effort.”


As someone who has fallen into this trap more than a few times, I think the last 20% of the project could also be the most satisfying. Why? Well, the last 20% is where you add a soul to your project.

As Jeff Atwood writes in Effective Programming (free with Amazon Prime!):

“In software development, execution is staying on top of all the tiny details that make up your app.”

It is in these tiny details that the soul of your app lies. When a user visits your app, they feel cared for. Someone took the time to really make this app so easy to use, I don’t have to do any thinking.

As I’ve been quickly learning to code in the past year, I haven’t had the chance to really dedicate myself to one project for long enough to work out all the details and make something I’m really proud of. This will change with my next project 🙂

Enjoy the article? Join over 14,500+ Swift developers and enthusiasts who get my weekly updates.

  • Hi Natasha! I started programming not too long ago (wrote my first line of code 3 years ago) and like you, I focused on learning and not too much on building. Spend more time on your next project, make it good, and show it to me! Good Luck.