Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.

How do I stop procrastinating and actually start studying coding?

Tauseef Fayyaz

Answered by Tauseef Fayyaz

Asked 10 timesUpdated 20 Sept 2026
Short answer

Procrastination is usually avoidance of a vague or uncomfortable task, not laziness. Make the next step tiny and specific, remove the easiest distractions before you start, use short timed sessions, and plan tomorrow's first task tonight so starting takes no decisions.

What people tell me

I know exactly what I should be studying, and I really do want a career in tech. But every day I find something else to do first. I clean my room, check my phone, watch one more video about productivity, and suddenly it is late and I have done nothing. Then I feel guilty, promise myself tomorrow will be different, and repeat the same thing. It feels like I am sabotaging myself.

A composite of the messages behind this question, with personal details left out.

Key takeaways

  • Procrastination is usually avoiding a feeling, such as confusion, boredom or fear of failing, not the task itself.
  • Vague tasks invite delay. Replace 'study React' with a first step you could finish in ten minutes.
  • Remove the easiest distractions before you sit down. Willpower in the moment is unreliable.
  • Start with a short timer. Most resistance disappears within the first few minutes.
  • Decide tomorrow's first task tonight, so starting requires no thinking.

You are not lazy, you are avoiding a feeling

People who procrastinate on studying are often very busy. They clean, reorganise notes, watch videos about learning and research the perfect course. What they avoid is not effort. It is a specific uncomfortable feeling attached to the real task.

Usually it is one of these:

What the task feels likeThe feeling you are avoidingWhat helps
"Study DSA"Fear of not being able to solve itStart with a problem you can almost do
"Build my project"Confusion about where to beginWrite the first tiny step in one sentence
"Watch lecture 7"BoredomPair it with doing, such as coding along
"Apply what I learned"Fear of discovering you did not learn itTreat mistakes as the point of the session

Naming the feeling sounds soft, but it is practical. Once you know what you are avoiding, you can shrink that exact thing.

Make the first step embarrassingly small

"Learn backend" is not a task. It is a direction. Your brain cannot start a direction, so it goes looking for something it can start, like your phone.

Rewrite every task until the first step takes ten minutes or less:

  • "Study React" becomes "Read the section on state and write one counter component".
  • "Do DSA" becomes "Solve one easy array problem, even if I need a hint".
  • "Work on my project" becomes "Add the delete button to the list page".

If you are unsure what the steps even are, follow a structured path such as the Programming foundations or DSA roadmap, so the next step is already written down for you.

Design your environment before you need willpower

Willpower at 9pm after a long day is weak. Environment is reliable. Before you start a session:

  1. Put your phone in another room, or at least out of reach and on silent.
  2. Close every tab except the one you need.
  3. Open the file you will work on before you sit down, or leave it open from last time.
  4. Use the same place and time where possible. Your brain learns the cue.

This takes two minutes and removes most of the easy escapes.

Use a timer to get past the start

Resistance is strongest in the first few minutes. Once you are working, continuing is much easier than starting. So make starting cheap:

  1. Set a timer for 25 minutes.
  2. Tell yourself you only have to work until it rings.
  3. When it rings, take five minutes off. Stand up, drink water, no phone.
  4. Decide whether to do another round.

Most days you will do two or three rounds. On bad days you do one, and one is far better than none.

Plan tomorrow tonight

End every session by writing one line: "Tomorrow I start by..." and a specific action. Leave the code at a point where the next step is obvious, even halfway through a function. Tomorrow you sit down and continue, instead of deciding. Decisions are where procrastination hides.

A 30-day plan to break the loop

WeekFocusDaily target
1Just startOne 25-minute session a day at a fixed time. Write tomorrow's first step every night.
2EnvironmentPhone out of the room for every session. Two sessions on at least four days.
3Build momentumTwo sessions most days. Finish one small, visible piece of a project.
4ReviewCount sessions done. Note which times and places worked. Keep those, drop the rest.

Track sessions with a simple tick on paper. The chain of ticks becomes its own motivation.

When procrastination is telling you something

Sometimes delay is information. If you have avoided one topic for months but happily work on others, ask whether it is the right topic for you right now. It may be worth reading How do I know whether I dislike programming or just dislike being bad at it?. And if the problem is that you start strongly and fade after a few days, see Why do I lose motivation after a few days of learning to code?.

What to do after a lost day

You will still have days where nothing happens. That is normal. The mistake is letting one lost day turn into a lost week. The rule is simple: never miss twice. If yesterday was lost, today you do one 25-minute session, however small, and write tomorrow's first step. No catching up, no punishment plans.

Common mistakes

  • Waiting to feel ready or motivated. Action usually comes first; the motivation follows.
  • Researching the perfect course instead of starting any decent one. Pick one, finish it.
  • Planning huge sessions. A four-hour plan feels heavy, so you delay it. Plan one hour.
  • Punishing yourself after a lost day. Guilt makes the next start harder. Just do tomorrow's first step.
  • Watching productivity content. It feels like progress and is usually a sophisticated form of delay.

If you are still stuck

A good next read is the blog post on what to do when you are stuck learning to code. If you would like someone to help you turn your goals into small daily steps, join Sefism for free. New members get credits straight away and the first roadmap is free, and you can ask your own question or book a 1:1 session whenever you want a more personal plan.

Was this answer helpful?

Ask your own

Your situation is not quite this one?

Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open: sign up and your account is active shortly after. Prefer to talk? A free call works too.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.

More questions people ask

All questions

Because LinkedIn is built from announcements. You see hundreds of people's single best moments, all at once, and compare them with your ordinary days. Use LinkedIn deliberately, for learning and outreach, limit passive scrolling, and track your own progress in a place where you can see it.

Asked 14 timesRead the answer

Yes, but the job is shifting. Typing code is becoming cheaper; deciding what to build, judging whether it is correct, and owning it in production is not. Aim to be the engineer who directs and checks AI output, and build the judgement that makes that possible.

Asked 14 timesRead the answer

Unemployment after graduation is common and temporary, but unstructured days drain motivation fast. Treat the search like a part-time job with fixed hours, split each day between applying, building and learning, look for small paid or unpaid experience, and measure progress by actions you control.

Asked 13 timesRead the answer