Break It Down, Get It Done
Why solving problems in smaller chunks beats perfectionism every time.
Remember the days when ‘multitasking’ was considered a skill? “You should be able to do x, y and z together. Makes you more employable or some shit like that”. They almost made it feel essential to get employed. Heck, you’d even find it listed on people’s resumes!
That talk has vanished. Today, all the talk is about focusing on one thing and getting it done. “Can you get the job done? Elon’s famous → What did you get done this week?”. Focus, productivity and going deep are the in things today. You want to do a lot of things in a day, but not by multitasking. Rather, the idea is to focus on one small thing and complete it to the best of your current ability. And I want to talk about focus in today’s session.
How to get locked in and get the job done.
Let’s start by addressing the main challenge we all face when trying to get something done. Solving any kind of serious problem is hard. Even more so when you’re trying to do multiple things at the same time. And it’s hardest when there are random things distracting you constantly.
I’ve recently been able to manage parts of this problem, without actually knowing that I’m able to do so. I only got to know what I was doing when I attended a 90-minute session on SQL by Alice Zhao. She talked about 2 things that stuck with me.
Break a big problem down into smaller chunks.
Solve the problem first, and then try to make it better.
Break a big problem down into smaller chunks.
Whenever we face a big problem, the immediate reaction is to find it too complex. That’s because we’re looking at it as a whole. But in reality, you’re just solving multiple smaller problems that will get the job done.
Let’s take a SQL example. Imagine the task is to get a list of users who registered in the month of July, signed up for a trial, returned to the app in August and became paid customers. For a beginner SQL user, this looks tricky. At least, it was for me.
But if you break it down into smaller chunks, it’s quite manageable.
You first filter down to users who registered in July and signed up for a trial.
Then create another filtered list of users who had a touchpoint in August and were paid customers.
Finally, join these two tables to find the users who did both.
This works even better when we start looking at more complex problems. The level of syntax/query can get difficult as we progress, but breaking down a problem into smaller parts means we end up using the most fundamental pieces of SQL statements you can write.
If you start looking at your large query like a stack of multiple small queries that you learned in a SQL 101 class, it makes every problem look easy.
Solve the problem first, and then try to make it better
It’s natural to start thinking about random things when solving a problem:
What’s the best way to write this code?
What if I could do it all in one line?
Is my code looking good for others to read?
Is there a way to make it more efficient? I want it to run fast!
All of these are distractions. Your first and only job is to solve the problem. Optimising it or beautifying it is problem number 2. Always treat them separately. I’ve fallen into this trap before, and now I try my best to stay away from it. Do I always manage to get it right? Lol. No way! But I try to be aware, and that helps.
First thing I try and do is solve the problem in the most crude way possible. I’m only looking to solve, and if some horrible way gets this done, then great. The second step is to think about how to make it better. And that initial lack of speed is fine. Eventually, solving this problem will become a habit for you, so you will automatically do it as beautifully and efficiently as possible.
The interesting thing? I’m applying these processes not just when running SQL codes, but also when writing posts.
I’ve tried writing many times before. The biggest challenge is being distracted by all the things you can do while writing:
I need a website where I can post my own stuff. That way, I can own all the content later on. (Nobody gives a shit. The biggest creators post on public social forums, you should too.)
My writing does not sound professional. (As long as you’re not writing the next Number #1 Bestseller, it doesn’t matter.)
So many spelling mistakes. Let me fix these first. (Irrelevant to the problem you’re solving first, which is writing the damn article!)
Grammarly is giving me some sentence suggestions. It’s a premium feature, though. Hmm…let’s see if there’s a YouTube video on the benefits of Grammarly Premium. (Switch off Grammarly when you’re writing. Only switch it on once you’re done writing.)
All of these are out to get you. Even a tool like Substack, which is literally built for you to sit down, write and publish, has distractions in it. They didn’t purposely add these in. Obviously not. Their KPI probably is to get more people to publish, but adding any kind of feature (like ‘edit my profile’, ‘banner image’, etc. will add distractions.)
The world is a much-evolved place today. Which means there are too many things for you to try. But that also means you can get distracted by all these things. So, be aware. It’s tough, and I fall into this trap all the time. But you’ve got to at least try.
I’ll end today’s session by repeating what I started this article with. Break a big problem down into smaller chunks. Solve the smaller problems first and then move on to the next smaller problem. Once you’ve solved the larger problem, only then move on to making it better. That’s all there is.
A good friend by the name Nivrith had taught me these things long ago. He really is a 10x developer, but an even greater friend. When learning programming, he taught me that every complex program can be broken down into multiple smaller functions that themselves do just 1 thing and that 1 thing only. Nothing more, nothing less.
It has stuck with me ever since, but it hits harder today.
Score → Rishav: 0 / AI: 4
Title and Sub written by me. I chose the AI version.
Title: How Learning to Code can help bring focus back into your life. Sub: Teachings from a SQL session that can help you write consistently.
