How long does it take to become a skilled Competitive Programmer and what are the essential math topics needed for success in competitive programming? Any recommended resources such as YouTube channels or books for learning? Can anyone provide a roadmap to becoming a proficient programmer and tips on approaching problems effectively?
#CompetitiveProgramming #MathTopics #RoadmapToSuccess #ProblemSolvingTips #ProgrammingResources
> My point is I have watched “Neal Wu” videos and I was stunned, I mean he just saw the problem for a minute and started to solve it
Guaranteed he didn’t see the problem the first time. Videos are cut, scripted, prepared, etc.
Also, if you solve plenty problems you should at some point begin to see patterns since you already have solved similar problems.
Next: being a good *competitive programmer* does by far not mean you are a *good programmer*.
Competitive programming has next to nothing to do with *real world* programming, rather the opposite. Competitive programming is all about quick and dirty, not clean code, not handling all edge cases, etc. It focuses on small, isolated, mainly mathematically oriented/DSA oriented problems with often using some obscure algorithms.
If you want to become a *good* programmer, you have to program applications, large scale programs, not isolated algorithmic problems. You have to learn to focus on clean code, modular, reusable code, testability and testing, clean architecture. You have to learn to create complex systems with many interacting parts, not isolated algorithm problems.
If you want to be a good programmer I’d recommend you ignore competitive programming, because everyone I’ve worked with that was into it was utter garbage at actual programming. Maybe my sample size is small and my experience is not the norm, but they wrote some of the poorest quality, fragile, and most poorly thought out solutions that ended up plaguing our projects with bugs.
A good competitive programmer is not necessarily a good programmer. The same as how a physicist is brilliant but they didn’t build your car.
To answer the main question, the only way to be a good competitive programmer is to read and learn a lot about data structures and algorithms, then practice a lot with exercises. It is always better to be smart also.
Ever heard about math, or physics, or chemistry,…olympiad? Studying for competitive programming is just the same as competitive math-ing.
Being a competitive programmer is like being good at “keepy uppy” with a soccer ball. You might be a great entertainer but you won’t be a good footballer.
Don’t stress out over competitive programming. It has very little to do with the actual job in most cases. You can be trash at competitive programming and be a great programmer, and vice versa
Build apps, learn about architecture of large systems, etc. Don’t focus on abstract algorithmic problems too much
How long it takes for someone to become a good competitive programmer like Neal Wu depends on their problem solving skills, their time commitment, their prior programming knowledge, their exposure and how many of such problems they have seen or solved before.
Starting from zero, I would say even with highly intelligent dudes out there, 2 to 3 months of solving leet code problems is not enough to get very comfortable with the particular programming language let alone to know easy way around algorithmic problems.
Competitive programming is all about algorithm and data structures.
So practice! practice!! practice!!!