I am totally confused between competitive programming and development. A lot of questions are popping up in my mind of which I don’t have answers and also I don’t know what to do first. Can anyone tell me what should I do first?
Hi there. I'm an undergrad, and like many CS undergrads I have spent a decent chunk of time doing Leetcode questions. At first I really didn't enjoy them but I've started to see the appeal. My question is, will getting involved in competitive programming contests make me a better engineer in the long run? I would love to hear from anyone who started CP after they'd been programming for a few years, and whether it lead to an improvement in the quality of their work / ability to solve problems. Obviously if it's fun then there's intrinsic value in it but I'm curious specifically about whether it made you better at other kinds of software engineering.
Videos
Hi all ,
I am starting out with computer and science engineering. I am currently confused whether to focus on CP or start doing development. Should I first focus on logic building and problem solving or go for development?
which is better for a beginner to learn and require less time to master it?
I am entering the final year of my B.Tech course and am confused what part should I focus on.I am currently just solving problems on HackerRank but I want to up my skills and start solving GeeksForGeeks atleast.But on the other hand,I don't have any live projects in my resume as my entire time goes into this solving itself. So for a fresher,what will the best strategy be: Solving programming problems and hope of becoming really good at it one day OR to start learning React and other frameworks and have actual projects to help me out through the interviews? Kindly help me out through this...
I am a beginner CS student and currently pursuing my bachelor degree. I have been told by many professors that I should spend my entire time practicing competitive programming at topcoder, hackerrank or similar sites. However, I personally dislike it. I made some small projects and programs for myself and had lots of fun but competitive programming is extremely mundane and uninteresting for me.
So, I would like to know from the professionals in here, whether competitive programming is useful at industrial level. I know it enhances algorithm making capability but I personally believe that working on projects does the same, and it grants added enjoyment.
there was a interesting find at google: "Being good at programming competitions correlates negatively with being good on the job"[1].
i like this quora answer for your question. tl,dr: the most valued skills that you should learn to be a good programmer in the market is not the same subset of skills that a competitive programmer is required. i would recommend you to work on projects but with a small team on it (5~15 devs).
I've never done it and I've gotten plenty of job offers. I've never been asked about it at an interview, even when I was in college, and I've never asked anyone about it. I do know some good programmers who have done it but I know far more who haven't. Go ahead and work on projects.
Hi I am an engineering student currently in third year,I am stuck between deciding that what would be more Beneficial for me between two choices I have compititive programming vs development Sometimes i think fully focusing on software development would be great but some people recommend me to do codeforces i am really confused between these two i would appreciate some advice
My current rating in codeforces is 950.
In devlopment I have good experience with node, can do web development (html,css,js), somewhat experience with database (SQL).and know a few more languages but don't have any expertise in it.
Get good with the cli, git and build tools. Doing programming challenges might help you get a job but these skills will help you keep it.
What is competitive programming? I’ve never heard of such a thing. How can you make a living off that? What does it pay? Also, how is it different from the regular programming for money?
I am saddened by the fact that algorithms get a little too much importance these days in the lives of all computere science students and professionals. I do think that learning about fundamental algorithms and algorithmic problem-solving techniques is important but there is a little too much importance on solving leetcode/codeforces type problems.
Recently a friend of mine, who is reasonably well rated on Codeforces (1800+) talked about how Codeforces/Atcoder/Codechef tasks are very important in teaching us how to implement efficient code and how it is very important when you are writing general libraries (think Tensorflow, PyTorch, React, Express etc). I don't agree with him. I told him that people like Linus Torvalds wrote a lot of code that a lot of critical infrastructure uses. These people wrote fast and fault-tolerant code without having any experience in algorithmic competitions. But his argument is that the low-hanging fruits of algorithmic optimizations have already been achieved and in the coming years only those who have good experience with competitive programming will be able to improve these systems reasonably. What do you guys think?
Is it really that to learn to write fast and fault-tolerant programs you need competitive programming; or is there a better way to learn the same? If so, what's that better way?
Also, what, in your opinion, is a real-world skill that competitive programming teaches?
I am in university and tbh I am tired of people telling me to try competitive coding. I have tried codeforces, etc before and I did not like doing that at all. Instead I love to give my time trying to build a project. For upcoming technical interviews I am prepping at leetcode. Did 60 questions in 3 weeks and I still have 3 months left before the interviews (ig I'm doing fine here). Aiming for 400. I like doing leetcode but competitive coding and ICPC shit is too damn boring for me. Am I doing it right? Or should I force my ass to sit for those Codeforces contests and grind into solving 2 problems out of 5 and then get depressed.
I'm in my 5th semester (total 12) in CSE at B-grade private University from Dhaka. Few months back started CP, enjoying little bit.
But my question is shouldI focus on CP more? Or rather I should start development to get job as soon I complete my graduation. I know CP is like programming sports but I couldn’t find any connection with development. Both are completely different to me. And job market in development sector are blooming. So, what should I do?
You should do both. By that I don't mean you have to get to the top of codewars leaderboard or anything. You should practice competitive programming problems as you'll be required to solve similar problems in job interviews. Working on your own projects and building a strong portfolio is also very important. It works like a proof of your skills. Whether they will interview you or not kinda depends on it.
Both are important, CP is like gym, once you have the basic knowledge till linked lists or recursion, you get on with it, giving 2 to 3 hours each day even after you get into a job. I have been mentored by two of my brothers on this, and the one who is in google said that, "DSA is just for the interviews, it just lets the interviewer know that you have actually grinded, thus giving enough hint that you can learn anything new", he said he uses only google development tools which he would not require if he switches, but yet if he switches his company, he would still be greatly judged on DSA. So CP is mainly for judging one's problem solving capabilities.
That brother of mine is an over-achiever, so i dont relate to him and his whole career was made because of CP. The other brother of mine is from a Tier-3 college in India that noone knows about but yet he cracked a product based japanese company with a package of 10 LPA, now its nothing as compared to the brother who is in google (4 years in, at 1 crore CTC) but in just 6 months he got 60% increment, this is another path that people take to grow if they are not those over-achievers, Things he did:
-
Worked on projects
-
Participated in hackathons ●Lost 4 hackathons cz he did not know anything ●took ideas of winning projects of each hackathon ●won the 5th hackathon which went down on his CV, this always helped him to atleast clear first round (ATS) ●the project being worked upon for 4 hackathons, enabled him to have complete knowledge of the project inside out ●being a winning project, it was a really good project to have on portfolio.
I have the understanding that, development and CP, both is super important, you just have to lean more on the side you like more. Things that are arbitrary before you apply as a fresher:
-
Good CP (hard questions of leetcode, div3 contests of codeforces) ●knowing till recursion and backtracking, linked lists and little bit of trees and BST is fine. ●○if CP is what you are more inclined on, you shpuld be proficient on solving questions having hashmaps, graphs and dynamic programming.
-
Good portfolio (atleast 3 simple projects and 1 advanced) ●a simple web dev stack would help you grab an early internship ( being a student in first year myself, I knew I would not get any internships, but I went to the place in my city where a lot of small tech companies have offices and just went in and asked for the HR, and simply handed over my resume, I went to around 15 to 20 offices, and this created a very positive impact, got calls from around 7, and offers from 2, this gave me an insight that a web dev stack currently is highest in demand. I also know advanced java in which I practice DSA but that does not get you an internship, that gets you a job.) ●○if you are more inclined towards this, then go for learning devops concepts. I myself am not too knowledgeable and am exploring over here currently.
Hi! I am almost 15 yo. and I am going to high school this year. I have a little experience with programming (year of game making), graphic design, and computers. I have a question for you: is it better for me to start CP entirely or doing web development, learning more about computers and physics, and maybe do some robotics? I heard that many CS companies like google hire their employees by their competitive programming skills. I'd really like to have a high rank on CP and maybe win a medal on IOI, but on the other hand, I'd like to create projects, study, make robots or websites. I have that dilemma. Can you help me and describe the pros and cons of these topics? Thank you.
Where do you live? Competitive programming is (I've heard) important in India, for example, but nearly useless in the US market
Do whatever is more interesting/fun for you, either way you'll be in a great position to get a job by the time you actually start university. Exploring your interests make you more likely to pursue it for a long time instead of forcing yourself to do something you don't like
Just had my first competition today and it was something really new for me. Gotta ask something though, how much does competitive programming help someone in their career?
During the talk and the contest proper, I was aware of the diff. data structures and models that I could use; my university's CS program is quite 'general', I'm a sophomore as of now and we've tackled some core data structures and algorithms like djikstra's . We didn't win tho, not by a long shot. We did had rough ideas on how to arrive to the actual solutuon but when they were discussed, we were lost when a few terms came up, like the levenshtein distance etc.
Just wanna ask up to what extent will competitive programming help me? And does knowing all these bits of algorithms be really useful or do I just focus on the more known and 'important' stuff (I assume they're the ones being thought in our curriculum). Dont get me wrong though, I enjoy getting to know and implementing better algorithms, as well as comprog, but I am curious.
I recently thought of learning any programming language and started to research a bit to know which language is mostly required skill these days and through this research process in YT i see majority of people recommend either Java/C++ over other languages(It can be for a beginner or for CP).. Why? Are there any benefits of these languages over others? Why not python?
I see less/no videos where they guide to set up your IDE(Sublime text in my case) for python CP but many videos guiding on setting up the IDE for Java/C++.