Can I become a good programmer without competitive programming?
Posted by Frustrated_dud@reddit | learnprogramming | View on Reddit | 98 comments
Just started college (2 months in). Most teachers don’t really care about us except one. This teacher told us we need to participate in every contest possible if we want to learn a lot and become good problem solvers. I’m not really sure if competing is my thing, but god I love coding.
So, is it possible to become a good developer without competing? If yes, how?
corporaterebel@reddit
You know what really bumped up my pay and opportunity? Working out and getting ripped.
I would even go to a tanning bed 2x weeks before a big job interview.
Everyone takes you seriously and thinks you know what your talking about.
I was in charge of near code gods that I just let them do what they wanted.
I'm still a mediocre CS, but I get paid very well.
Unusual_Elk_8326@reddit
This reads like a shitpost but it’s genuinely good advice for tech.
deleted_by_reddit@reddit
[removed]
spinwizard69@reddit
Your testosterone levels likely went up, along with pheromones. That will have woman dragging themselves to your feet begging for time with you
corporaterebel@reddit
That may be. I can tell you working out hard on the visible muscle groups really helped my programming career.
n3m019@reddit
ngl i believed this until the 4th paragraph, what does that have to do with anything lol
corporaterebel@reddit
Um, just shared personal experience. It was a such a change so fast and people...nearly everybody...act so different.
mxldevs@reddit
When your physique oozes authority people naturally take you more seriously.
See: tall people vs short people
AutoModerator@reddit
Please, ask for programming partners/buddies in /r/programmingbuddies which is the appropriate subreddit
Your post has been removed
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
Inside_Professor_167@reddit
bro are you joking because ı laughed so hard while reading this 🤣
Souseisekigun@reddit
I'm still not sure if he's shitposting or not but the general advice of taking care of yourself and improving your physical appearance is good. I wouldn't start going to tanning beds but getting at least semi-ripped is a boost for almost all careers. And not just for dudes either.
corporaterebel@reddit
No. 100% true.
Well at least it worked well for me.
Getting ripped has an EXTREMELY high ROI.
spinwizard69@reddit
Actually I think you prof is mistaking writing useful, high quality software with the world of competitive programming. I do not see a lot of overlap. However if his intention is to get you to write as much code as you find to be comfortable, to increase skill level, then he is sorta right.
To develop as a programmer you really need to have your code reviewed by others. Others here being people that deliver high quality code to a large project. Note the plural “others” which is important because opinions vary.
So what does a person do here? Well part of your coding should be directed at open source projects where you can offer improvements and where the team is willing to offer code reviews. That is not all you want to do, you need to write lots of code yourself, for yourself.
Now the prof‘s goal here might be to give new programmers a goals. That is competitive programming offers a framework for a new programmers to code to. Frankly while there may be some value here I really think this is not good for new programmers. A key skill to develop as a programmer is to take a specification into code but you also need to design that specification. That is writing code is easy, the real skill is to design an application that can be turned into code.
Programming has these two issues, turning word problems into code and coming up with the word problem in the first place. if you review a lot of posts from newbies many have a huge problem here. Sadly that is often the majority of the job. Frankly this has a big impact on code quality and I really see it a separate skill from churning out code?
lovelacedeconstruct@reddit
Its not possible to be good at anything if your first reaction is to find a way to "not" do something
code_tutor@reddit
This. Every post on the learning subs asks, "can I not learn"?
The OP's attitude is more important than the question. Just try a little and see if you improve. Idk why people need to crowdsource confirmation before trying anything.
Bulky-Leadership-596@reddit
Competitive programming is a very niche field that has almost nothing in common with what you would do in any normal programming job.
That being said I think your professor is just telling you to code as much as possible and try to tackle hard problems which is always good. You should probably try to participate a few times at least just to experience it, but don't think that winning has anything to do with performance in the actual industry.
Large-Order-9586@reddit
I did competitive programming for my first two years of college. I had a bit of programming experience, but no competitive experience. I fell off later on, but it was certainly valuable. Gives you early, regular, and (semi)practical experience with data structures and algorithms.
IMO the critical bit is getting to work with others on coding projects. You talk about approaches, divide the work, etc. You can get the same benefit from hackathons or game jams, if you're into those.
McCoovy@reddit
Competitive programming and preparing for interviews is the same skillset.
Reasonable-Road-2279@reddit
Only if you live in the US. In europe companies recognize that being able to solve very intricate competitive programming problems isn't a good indicator for how good of a fit they'll be for the position.
jazzypizz@reddit
They focus on ability to do the work IMO. So may of the leet code problems are never used in normal work situations
Quien_9@reddit
In europe for what ive gather so far, they focus a lot more in your softskills, they dont want a rockstar who thinks they are the last coca-cola in the desert.
terralearner@reddit
Yep, never done a leetcode or anything similar. Been a software engineer for 5 years, doing pretty well now in a fintech. Had many jobs in this time. Never asked to do a leetcode.
You only really get this in FAANG in the UK.
GlowiesStoleMyRide@reddit
It's a small part of it. Being able to complete a programming challenge quickly will prove you're able to produce code. But what is at least equally important in an interview is being able to explain your choices, and the tradeoffs between different approaches.
If you're able to solve the problem quickly, but can't explain exactly the how and why, you're probably not going to get hired. Programming as a job is not a series of competitive coding challenges, after all.
juicedatom@reddit
Yea. I did competitive programming through college and it made me really good at LC pretty quickly.
McCoovy@reddit
I hope so. Leetcode is a competitive programming platform.
s-e-b-a@reddit
The only one teacher that cares about you is suggesting that successful devs out there only got there because of participating in contests? You might want to consider dropping out of that college and learn on your own.
s-e-b-a@reddit
That said, I do find pleasure in solving problems on codewars.com
I do it only for fun, and as a side effect I get better at programming.
a2ra-ms@reddit
Yes, not every software engineer is a competitive programming participant. If you can participate to learn and study, do it, otherwise, just live normally, and you can do a lot. Mnay engineers in the big companies have never participated in any competitive contest.
Mitro_m_t@reddit
The job market is competitive and you will be competing
ImaJimmy@reddit
Give it a shot, if you don't like it then it's not a big deal. Just make sure you're open to people giving you criticism on code reviews.
justoverthere434@reddit
Of course you can. That is like asking if you can be a good soccer player without being a goalie.
Key-Cloud-6774@reddit
You should try. You came here i think for acceptance and agreement that you shouldn’t try, but you should. I believe in you, so you should too!
ValentineBlacker@reddit
Are the doctors at your school told to go do competitive surgery?
JohnCasey3306@reddit
Yes. Next?
EconomySerious@reddit
Easy .... Compete with yourself, every time improve your code
eruciform@reddit
Competitive programming is a neat hobby but its usually really impractical except in the annoying sense that many interviewers insist on using it despite it being a terrible measure of employability worth
Since many generations of programmers didnt even have competitive options like today, I think its safe to say its completely unnecessary
Make things. Creation itself is your measure of your ability to create, and thats what matters most
No-Golf9048@reddit
I also really like coding but the competitive aspect was never for me. The problem solving aspect is fun but having to solve it faster than everyone else was too draining. It was making me feel stupid.
I got into coding to be able to make cool random things and hopefully make some cash.
I think that's why i've gravitated towards indie hacking/saas development.
FunManufacturer723@reddit
75% of the time, being a good team player that is easy to work with will triumph all your programmer skills.
Global_Appearance249@reddit
Yes indeed, competetive programming helps about as much as college does.
huuaaang@reddit
You become a good programmer with experience with real world problems. Contests might test your ability to work under pressure but good technique takes time and refinement over many many years working COOPERATIVELY with other good programmers.
mxldevs@reddit
I mean, if you want to become good problem solvers, sure. Think leetcode gods who are given an arbitrary situation and they instantly figure out some convoluted algorithm that runs in log N.
But a lot of problems are already solved and you just need to know how to integrate it into your own solution
RealDuckyTV@reddit
The vast majority of programmers do not participate in competitions, nor do they grind leetcode, there is value in doing it, but it isn't a requirement by any means. Your teacher likely wants you to expose yourself to new things and try your best to solve them, whether you can or not doesn't matter, it's about the process.
You become a good developer by constantly learning, improving your skills by making more and more complicated things, applying your knowledge in different and novel ways, and by continuing to practice. Thats all there is to it: build projects, practice, and never stop learning.
GriffonP@reddit
The vast majority of programmer are also not a good programmer.
Ratiocinor@reddit
The vast majority of competitive programmers are also not good programmers. In fact they're probably worse because of how many bad practices it teaches
I have 10 years experience and I've seen this first hand
canadian_viking@reddit
C'mon now. If competitive programming was a requirement to be a good developer, how did good developers exist without competitive programming?
KwyjiboTheGringo@reddit
Can you become a good swimmer without doing competitive swimming? Yeah, just learn how to swim and then do a lot of swimming.
Connecting_Dots_ERP@reddit
Yes, its possible. Try to build real-world projects, master core concepts like dsa and oops, explore different areas like web dev, data science, machine learning
PhoenixBlaze123@reddit
No, leetcode helps with tech interviews. You need to do it. Most companies filter you out if you can't do their coding assessment. It does make you a better programmer as you're practising with your language of choice in very specific scenarios. You'll get more comfortable with the language. Understand how data structures and algorithms work and how to be more efficient. It's not a requirement, but it helps a lot.
cheezballs@reddit
Your teacher is a teacher not a programmer. That advice is bad.
Drakkinstorm@reddit
If there are team-based competitions: go for it. If they are solo: only if you want to and want to work under pressure (or experience it)
Real hard constraints are usually a good thing as they force you to think and program accordingly.
Delivery on time is the most flexible of constraints and you can consider it as a "soft" constraint. This type constraint, used everywhere by everyone, usually has one output: a badly performing shit of a solution. Note I said usually, not always. Competitions, tests and interviews all have this as a constraint. So getting accustomed to it is good for you to get ready for the job market.
If you want to become a good programmer and not a coder: 1) Practice 2) Be curious: 2.1) Learn how the computer works 2.2) Learn your hardware 3) Learn how to play well with others: 3.1) Read code 3.2) Debug code 3.3) Communicate 3.4) Coordinate
Programmers need to play in teams, that's the truth.
novagenesis@reddit
Most of the best programmers I know were not into contests, and the causality was the other way around for those who were. Good programmers may enjoy doing coding competitions. Not all that compete are good.
Going real. If I'm hiring a junior dev and the only thing of value on your resume is competition coding, I'm probably going to pass on you over somebody who has no leetcode but can provide me a repo of a working app they built using good best-practices.
Leverkaas2516@reddit
It is true that contests will force you to learn and to become a better problem solver. But production programming is not competitive, and there are other ways to learrn and develop your potential.
If you can motivate yourself to work on projects outside of class, you don't need competition.
And by far the best way to learn is to work in an internship or side job. If you were to skip that and do competitions instead, that would be a mistake.
Efficient_Loss_9928@reddit
You can, but I would say after a certain level and after you have worked on so many variations of projects. You become somewhat ok at competitive programming.
Like at least if I give you a leetcode hard you can give a thought process of a correct brute-force solution. Maybe it is hard to optimize and it might take time, but the base skill will be there.
hugazow@reddit
I prefer cooperative environments
boisheep@reddit
Things that have improved my coding skills signficantly, in order.
Music Composition. (Singlehandely the reason I know how to code, both are indistinguishable in my mind)
Sculpting.
Drawing.
Can you become a good programmer without those things?... yes.
Could you be a better programmer if you knew those things?... potentially.
You need to do what works for you, some things seem to work for a lot of people and have good outcomes; others, not so much. But what works for a person varies.
Check it out, see if it works for you.
The point is that you have to do something.
Comprehensive_Mud803@reddit
Yes. Competitive programming is like a marathon contest for programming, but just like you can walk without running a marathon, you can program without competitive programming.
In fact, competitive programming is relatively recent, and a lot of actual developers have never competed in it.
Competitive programming will probably teach you something, which I think is your teacher’s point.
To get good at programming, there’s only one way: practice. I think competitive programming will at least give you that.
But you could also just join your local demoscene and make graphical fireworks. It’ll prove equally useful.
That said, as useful as programming on the clock to get results quickly might seem, it usually results in low quality code that proves extra hard to maintain. As a professional programmer, you’ll need both speed and quality as a skill.
Kaiser_Steve@reddit
No more than you can become an athlete without...
ObligationFit400@reddit
No need to be highly expert in dsa, just pick a language, find out what is the best use case of your selected language, pick a problem which can be solved under this use case and start thinking and writing from scratch, first write roughly just to get thin working, then improve by matching the best practices and you are now a programmer :)
vivianvixxxen@reddit
Of course you'll never be a good programmer without competitive programming. Everyone knows that Dennis Ritchie, John Carmack, Alexander Stepanov, etc were all gold medalists in the International Programming Competition, and by the age of 14 to boot!
/s, just in case
I swear, people need to get a grip.
OrangeGaming721-@reddit
You should quit programming, it’s not for everyone
GERALD_64@reddit
absolutely. you can be a great programmer by building real projects, contributing to open source, and learning by doing. competitive programming helps logic, but it’s not the only path
Valuable_Plankton506@reddit
Of course you can, but you should not run away entirely from online judges platforms.
I've seen decent competitive programmers that have a hard time as developers because they considered that competitive programming alone will suffice. On the other hand, I've seen developers that mastered the algorithms from online judge platforms on their own pace and they are great software engineers.
To summarize: while competing is not necessarily a good indicator, the practical knowledge of algorithms and data structures is important.
AdDiligent1688@reddit
Yes but not better than me. I’m the best
navirbox@reddit
Wtf is even competitive programming bro. Just solve as many problems as you can, that's literally it. Learn to be more efficient, get inspiration from others, but compete? Let me talk to your teacher right now xD
Forsaken_Code_9135@reddit
Only few developers care about competitive programming. I would say most of them have not even heard of it.
The cult of productivity, the myth of the 10x programmer, these kind of things are not doing much good to the industry or to programming in general.
Try to be as good as you can. Not as fast as you can.
Kevincav@reddit
I’d argue the flip side of that “can I become a good programmer with competitive programming?
TheSnydaMan@reddit
yes
Own_Attention_3392@reddit
I participated in the ACM intercollegiate programming competition in 2003 as a goof because my school put a team together. It was boring and I didn't enjoy it. Still have the t-shirt they gave us though. I wear it when I want my wife to make fun of me for being a loser.
I graduated in 2004 and have been employed as a software developer since then.
"good" is relative. Am I a good programmer? By what measure? The measure I care about is having a job in my field, and I've never had difficulty with that. So by that measure, I'm a good programmer.
POGtastic@reddit
You become a good programmer by working on a lot of problems. Competitive programming is a way to be exposed to a lot of problems. It's not the only way.
Also, the skills aren't really relevant to most aspects of industry. Not that many other interests are relevant, either. Mine sure aren't!
grepTheForest@reddit
Competitive programming is for nerds. It has zero to do with actual software development.
gunjanj2003@reddit
Absolutely, you can definitely become a good programmer without doing competitive programming. Competitive programming helps sharpen problem-solving and algorithmic thinking, but it’s not the only (or even the main) path to becoming a skilled developer.
Most real-world programming jobs focus on building, debugging, and maintaining applications, not solving timed algorithm puzzles. What matters more is understanding clean code, system design, debugging, APIs, version control (Git), databases, and teamwork. Many top developers in big tech roles never touched competitive programming; they just focused on building solid projects and learning how real systems work.
That said, competitive programming can improve your logic and speed, which helps in technical interviews. But if your goal is to build products, contribute to open source, or work in web/app/software development, practical project experience will teach you far more.
vu47@reddit
I have never done any competitive programming in my life, nor have most of the programmers I've known. I don't feel any need to compete for speed especially... I just enjoy myself and have fun.
robhanz@reddit
Yes.
Most of what makes a good professional programmer has nothing to do with competitive programming.
Fabiolean@reddit
I’ve literally never done a programming competition, and I’m doing fine
no_regerts_bob@reddit
Lol yes
echOSC@reddit
Just try it. What could could wrong? Challenge yourself. Try/do hard things.
As an aside, way too many of the questions here boils down to, I'm not good at X, I don't like Y, I want to avoid Z. Do I need it to be successful?
And for a lot the questions, the answer is no it's not a MUST.
But I think that's just a bad mentality to have, especially with something as hard as being a good programmer. You should not look to avoid hard things and discomfort. You should lean into them.
msiley@reddit
Yes. I don't personally know any developer who has and I've known a lot of developers.
minneyar@reddit
Nobody in the real world cares about competitive programming. If it gets you motivated the practice and learn, then cool, but if it doesn't, don't even worry about it.
Honestly, I think taking a competitive approach to it is a bit counterproductive. Again, in the real world, you're not competing with your coworkers, you're collaborating with them. Developing a mindset where you feel like you're at odds with everybody else is bad for that. It's much more useful to learn how to work with other people and solve problems together.
enbonnet@reddit
Of course you can I have worked in a big tech for 3 years and none of my teammates was or were into programming competitive, it’s a completely different skill, it could be good for interviewing tho but for the real work, for the day to day work you don’t need it for sure.
Focus on problem solving and connecting parts more than anything else, the day to day is mostly a waterfall of requirements and you trying to find a way to make it real.
False-Egg-1386@reddit
You don’t need competitive programming to become a great developer. It’s one way to sharpen logic and problem-solving, but not the only one. If you love building things, focus on projects instead make apps, games whatever excites you. You’ll learn data structures, algorithms, and design naturally while solving real problems.
GriffonP@reddit
> You’ll learn data structures, algorithms, and design naturally while solving real problems.
So in other word, you still need what is learned in competitive programming, just difference approach.
False-Egg-1386@reddit
Exactly, you don’t have to enter contests, but you do need to internalize many of the same skills that contests force you to learn.
fatpermaloser@reddit
Competitive programming is a thing? I thought that hacking competition in Mr. Robot was just for the show.
namedkk@reddit
Being a great dev in the ai age isn’t about algorithm battles it’s more design thinking and knowing how to use ai to turn ideas into systems that actually work.
This coming from a mid level frontend dev.
Bubbly-Low2960@reddit
You are in first year. You have time to explore things. just give it a try there is nothing wrong in it. If you like continue further, and if you start cp then be consistent then only you will understand dsa/cp. Because if your goal is placement you may regret not starting cp/dsa early. And you should also try other things and domain, and in your second year you should be focus on that one thing be it dsa/cp or dev/ml/cyber.
Civil-Ad2985@reddit
Compete with yourself and get better everyday.
RogueHeroAkatsuki@reddit
Competitive programming to programming is like 100 meter dash to daily cross-country jogging. In theory both are running, but in practice ....
"Pro" software dev is about reliable and maintainable code,
Astral902@reddit
No,your professor is clueless. That's why you should only listen advices from people working on real software . Competitive programming has zero relevance to regular day in programming .
elg97477@reddit
My opinion is that you will learn all the wrong lessons with an overemphasis on competing programming. Competitive programming’s focus is on doing things quickly, hacking things to get a result, with no thought on what the “right” or “best” way is.
These competitions can be fun, but they will not make you a better engineer.
SevenFootHobbit@reddit
I never did competitive programming and still ended up getting a job as a dev. If anything, it's more helpful to learn how to work with other people on the same project. Your boss isn't going to sit your department down, give a list of requirements, and pay the first person to get it done. But that isn't to say contests can't be good. Anything that gets you to program outside of your comfort level helps you grow, and I can see contests as being a good way to achieve that. Just, it's definitely not required.
StickOnReddit@reddit
I have never once done any "competitive programming" and I've been working as a web dev for 8 years
I'm not really into competitive, uh, anything
TheMrCurious@reddit
Yes, you can be a good programmer without competing in competitions.
Tell_Me_More__@reddit
What you need is experience. If "competitive coding" or other coding events like hackathons get you excited and motivated to write code, then you should ABSOLUTELY do it. If you think it sounds kind of dumb you should find something else that excites you.
Personally, I couldn't care less about coding events when I went back to school. I also did my CS degree in my thirties so going to hackathons seemed unrealistic. Instead, I did ML research, TA'd a lab, and had an internship that turned into a part time thing. I got tons of experience without ever being competitive about it
wordsofgarett@reddit
You don't have to enter competitions to get good at any skill, programming included. The key improvement is practice. Lots and lots and lots of practice.
Competitions may help in that they provide structure to your practice by giving you something to work on, specifying what success looks like, forcing time constraints to avoid procrastination, giving you feedback (mayne), and seeing how others approached the same problem (maybe). But if the competitive aspect isn't enjoyable or motivating, don't go that route. All of the benefits can be realized elsewhere, though it may take more effort on your part to get them.
Your professor may just be competitive by nature and find competitions motivating, but that doesn't mean you have to also.
abbys11@reddit
Absolutely. I hadn't ever touched competitive programming until I got approached by big tech 4 years ago and it helped me get my current role. Tbh it didn't teach me much other than identifying very specific patterns quickly. Data structures are important but you never need them on a pinch like that.
sessamekesh@reddit
Absolutely, some of the best programmers I know didn't do any competitive programming and I know some impressively mediocre programmers who are really into competitive programming.
I personally think it's an awesome way to practice, and forcing yourself to solve hard problems is a great way to practice critical thinking and problem solving. It's not necessary, but it's an easier way to build the same skills than other methods.
That all said, pick the study and practice techniques that work best for you. If you hate competitive programming but love building video game mods or Discord bots or whatever, go nuts.
0dev0100@reddit
You can become a good programmer without competitive programming.
Most of the people I work with have become good programmers without competitive programming.
Eccentricitet@reddit
do you need to compete in cooking to become a good cook? or runner, artist, anything. do what you enjoy, look for projects that challenge you “against yourself” and seek to learn. you’ll be great, just stick to it. tryhackme or leetcode are “competitive” in a way, giving you challenging problems to work through without the stress.