Why am I not improving?
hey, maybe you're fixing the wrong thing
This section is inspired by -is-this-fft- and I highly encourage reading the original, because there's many sections where I could not have worded better myself.
Attributing your failure to irrelevant things
When people fail to improve, they naturally start searching for reasons. Unfortunately, a lot of the reasons are wrong.
In my opinion, 95% of the time improvement has to do with mentality. It has little to do with how smart a person is, talent and IQ.
To add to is-this-fft, these mistakes can be categorized, and what they all have in common is that people tend to blame an input you can add more of instead of the methodology that is broken. It is easy to add more of the wrong thing out of cope, or feeling "productive". I'll list a couple below which may overlap with what's already in the blog but I'll try to expand on it & point out some observations that's perhaps more prevalent on interview prepping communities.
"I need to do more / I am not consistent enough"
From my observation, within the leetcode community, this is the most common one. "I solved 500 problems and I am still failing interviews, so I clearly need to do 1000." "I need to solve 7 days a week or I'm going to lose progress." No, stop. That should be a signal that something in how you practice is wrong, not a reason to double the effort. You should probably revisit how you're studying and analyze whether your effort is converting to growth. Your brain is a muscle too. You can't just overwork it and expect it to show results. Your rest days are just as important as your work days. Do you think shredded people work out 7 days a week? If they can't bench 2 plates do they bench 4 plates instead?
Things like "solving every day" and "maintaining streaks" just burns people out in my opinion. This is why you see a lot of people who gets bursts of motivation. They might stick with solving for 1-2 weeks consistently, then their discipline breaks and they stop. Solving DSA should not be a full time job (even if you're jobless). Most red coders or LGMs don't maintain daily streaks either, why should you?
Exhibit 1:

This post is massively upvoted and applauded on the r/leetcode community. However, a keen eye would see that this individual has spent over a thousand problems and four years of daily submissions, and a contest rating still stalled in the 1900s, which is a lot of effort and time spent for a result that could be reached in a fraction of the time (if done correctly!). Many people I know got knight within 6 months or less. Does this takeaway from their achievements because they didn't put as much effort? Absolutely not. In fact it should be a higher signal as it demonstrates that this individual is more efficient at learning. However, in the larger leetcode community, people often applaud streaks and solved count instead of the number that matters. This built the toxicity where people are pushed into thinking that they must also be consistent daily, or they're lazy or not putting enough effort, eventually burning themselves out.
Exhibit 2: Real damage to someone that chases this arbitrary streak.

Missing ONE square sets off a panic attack. This guy is getting depressed over a streak. Think about it. At this point you've lost the plot already. You're not studying to be a better problem solver. You're solving to maintain the streak that makes you "pretend" that you're becoming a better problem solver.
Exhibit 3: The advice the community reflexively hands out.

Look at this person. 307 active days, over a thousand submissions, grinding daily for the better part of a year, and they are so worn down they are openly asking strangers if they are dumb. This is not someone with a consistency problem. By every metric the community worships, they are doing everything right. Now read the top reply.

"Just be consistent." Fifty four people upvoted it. To someone already consistent to the point of burnout, that is not advice, it is noise. I'd actually ask this person to do less. There's probably something fundementally wrong with their training process, so figure that out first.
"I need to learn more patterns / DSA / algorithm"
The second one. "I keep getting stuck, so I must be missing some algorithm, let me go learn segment trees, or the next twenty patterns, or segment tree beats." This is almost always wrong unless you're a complete beginner and you know nothing (or you genuinely don't know the core algorithm needed to solve it). The issue often lies with your "problem solving" ability and whether you're able to organize your thoughts well enough such that you reason your way to a solution.
This might be a little unorthodox but I'm going to share a video about thinking in olympiad maths. At first glance you might think this is completely irrelevant to interviews and "I'll never encounter such problems why do I need to watch this?". However, there's actually a lot of parrallels with solving math problems & solving algorithm problems. In my opinion it's quite eye-opening to see how the thought process of a strong problem solver goes about solving difficult problems. In fact, many of the methods he mentioned in this video is directly applicable TO interviews.
"They had advantages I didn't"
"I don't have enough time" is a common excuse. A very large majority of people who say this is simply not effective enough with their time as they think they are. People often think they exert more effort than they actually do. How do I know? I used to think this way as well. Think about the time you spent scrolling today, gaming, procrastinating, doing goofy shit. You could read a problem and think about it all day, but most people will just never do that.
"The people who got cracked had a CS degree, they had more time as a student, or a mentor, or started in high school, or could afford some course I cannot."
Almost none of that is the reason either. All the materials out there are free (e.g. codeforces, usaco guide, atcoder). You're reading one RIGHT now. You get instant feedback from submitting on these online judges, and you get free editorials everywhere. The grind is overwhelmingly self-driven, and there's plenty of people who's able to become very strong without CS degree or prior knowledge.
Environments & Platforms
There is one exception where I believe DOES impact your improvement. It is the environment you practice in. You do not only learn from the problems you solve, you learn from the whole environment around them, the people, the incentives, the metrics everyone tracks, and what the community tells you. It's very easy to be swayed by people around you, or told what's the best method. Most people simply want the methods spoonfed to them whether you like hearing it or not.
I'll give a short story so this doesn't just read as an opinion. I started with Neetcode 150 too, because an officer in my uni's tech club recommended it, and they ran it the way everyone does: weekly meetings, weekly problem solving, the whole group grinding the same list together. I stuck with it for about three months and got close to nothing out of it. I was inconsistent, I struggled with everything people warn you about, I couldn't reliably solve anything, and I kept getting stuck on problems labeled easy, which are not easy at all when you genuinely can't do them. I got tired of it fast.
What actually changed things was the environment, not the material. I joined the ICPC club around May, and they were the ones who helped me set up my environment and pointed me at the USACO Guide and AtCoder, which I still think are some of the best resources out there. I wasn't consistent even then, I did problems whenever I felt like it, but the effort was genuine, and when I couldn't solve something I left it and came back later instead of watching the solution just to feel like I'd moved on. By the end of that year I was around 2100 on LeetCode, solving the first three in a contest quickly and usually only missing the fourth because I didn't know some data structure or technique yet.
I want to be clear about what that means: I still didn't know a lot of algorithms. I built the actual problem solving skill from being in that environment, and it put me ahead of most people who were grinding LeetCode specifically to get that exact skill. The environment did the thing the sheet was supposed to do and never did.
And the tech club I started in is still running the same Neetcode 150, the same weekly meetings on LeetCode easies / mediums, teaching each new group of beginners the same thing I sat through. Same list, same non-results, quarter after quarter. That is the environment trap: the people who recommend it rarely leave it, so whatever it does to you, good or bad, it keeps doing to everyone who walks in after.