Look at the moments when you are not struggling. If solving a problem at your level feels good, you probably dislike being a beginner, which passes. If even easy wins feel empty, the dislike may be the work itself. Test it with problems pitched just at your level and watch how you feel.
What people tell me
Programming makes me feel frustrated and slow most of the time. Other people seem to enjoy it, and I cannot tell whether I would enjoy it too once I get better, or whether I simply do not like it. I do not want to quit something just because it is hard, but I also do not want to force myself into a career I will never enjoy.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Almost nobody enjoys being a beginner. Frustration early on is normal and not a verdict.
- The best signal is how you feel when a problem is at your level and you solve it.
- Deliberately pick tasks that are slightly hard, not impossibly hard, and observe yourself.
- Curiosity when not forced, like wondering how an app works, is a strong positive sign.
- Give the test a few weeks with honest notes, not one bad evening.
Almost everyone hates being bad at something
The early stage of programming is genuinely unpleasant for most people. You make mistakes you do not understand, error messages look like another language, and simple things take hours. Many engineers who now love the work remember wanting to throw their laptop across the room. So frustration alone tells you very little.
What tells you more is how you feel when the struggle is removed.
The key test: problems at your level
Your feelings about programming are heavily distorted by difficulty. If every problem you face is too hard, everything will feel bad. So the test is to deliberately find problems that are just slightly above your current level, and pay attention to what happens.
| When you solve a problem at your level, you feel | What it suggests |
|---|---|
| A small buzz, even pride. You want to try the next one. | You likely enjoy the work and dislike being a beginner. |
| Relief, and a wish to stop. | Could go either way. Keep testing. |
| Nothing at all, or boredom. | The work itself may not interest you. |
| Annoyance that you had to do it at all. | Worth thinking seriously about fit. |
Try this for two or three weeks. Choose small exercises or project features you can finish in under an hour. Keep a quick note after each one.
Other signals worth noticing
- Curiosity outside of study time. Do you ever wonder how an app you use actually works, or think about a problem in the shower? That is a strong positive sign.
- Enjoying the fix, not the result. Some people love the moment a bug makes sense. If you have felt that even once, pay attention to it.
- Wanting to build something specific. If there is something you would genuinely like to exist, and code is the way to make it, motivation tends to follow.
- Being drawn to a neighbouring part. Maybe you like designing the interface or organising data more than writing logic. That points to a direction, not a dead end.
How to make the test fair
- Lower the difficulty. Step back to easier material for a while. There is no shame in this.
- Shorten the sessions. Forty-five focused minutes is better than three hours of grinding.
- Get unstuck faster. Set a rule: if stuck for twenty minutes, ask for a hint from a person, documentation or AI.
- Build something you care about. Even a small script that automates something annoying in your life.
If after a few weeks of this you still feel nothing when things work, it is reasonable to conclude that programming is not for you. If you notice more good moments than before, the problem was mostly the difficulty curve.
The difference between hard and wrong
Hard things you enjoy feel like a puzzle: frustrating, but you keep coming back. Wrong things feel like a chore even when they go well. Most people know which one they are experiencing once they give themselves a fair chance to see it.
Whatever you find is useful
If you learn that you enjoy programming once you are past the beginner stage, you can stop doubting and commit. If you learn that you do not, you can move towards something that suits you better, and your technical knowledge will still help. Either way, you stop living in uncertainty, which is often the most tiring part.
An example of how difficulty distorts the picture
Consider two students learning the same material. The first jumps straight into a complex full-stack course, spends every session lost, and concludes they hate programming. The second spends two weeks on small exercises they can almost solve, then builds a tiny script that renames their messy photo folder. They feel a real thrill when it works. Same subject, same starting ability. The difference is that the second student experienced programming at the right level of challenge.
Before concluding you dislike programming, make sure you have experienced it at your level at least a handful of times.
A simple log to keep
For three weeks, after each session, write one line with three parts:
- Difficulty: too easy, right, or too hard.
- Feeling: a number from one to five.
- Best moment: one sentence, or "none".
At the end, look only at the sessions marked "right" difficulty. If the feelings there are mostly three or above, and the best moments involve solving or building something, you likely enjoy the work. If even those sessions sit at one or two, with no best moments, you have a strong, honest answer, and you can make your next decision without guilt.
What to say to yourself on bad days
A sentence I often suggest: "Today was hard because I am new, not because I am incapable." It sounds simple, but it separates the feeling of struggle from a judgement about your future, which is exactly the distinction this question is about.
If you are still stuck
Read What to Do When You Are Stuck Learning to Code. If you want an outside view on what your experience suggests, join Sefism and, as a member, book a 1:1 session.
Was this answer helpful?
Read next
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 to X and Instagram followers and university students. Prefer to talk? A free call works too.