Competitive Programming and software development are the two broad categories that any computer science student opts for during his college days. However, these two aren’t complementary to each other.
Benefits Of Competitive Programming :
- CP helps in getting better at Data-Structures and Algorithms, which eventually opens the doors to software development roles in multinational companies.
- Many Hackathons and college fests also test algorithms, so CP helps there as well.
- A good rank in competitive programming sites like codechef and codeforces is a matter of immense respect.
- It enhances one’s problem-solving skills and brings in a competitive nature.
Benefits Of Software Development in college :
- It gives an insight into what a software developer does.
- Learning new technologies increases the chances of shortlisting of a candidate in an interview.
- The confidence of developing real software is unachievable otherwise.
- A candidate having good knowledge of development is the pride of his institution, while the opposite acts as a burden.
How To Balance both CP and Development :
Alienating from either of two for a long time is not recommended. Therefore, one should circulate between these either on a daily or weekly basis.
Ideal Proportion :
Ideally, the ratio of time devoted to CP and Development should equal 3:4. It means there are four days of software development for every three days of competitive programming or four hours of software development for every three hours of competitive programming.
Points Kept In Mind (while concluding this ratio) :
- Software development is a larger domain (much to explore) compared to competitive programming.
- CP involves a lot of practice.
- Ultimately CP is only a tool to learn data structures and algorithms, which can be done otherwise through bootcamps and other tutorials.
- If a cp contest is approaching and you need to practice, alter the ratio to 6:1 for few days.
- During an internship or an open-source competition, change the proportion to 1:6.
But remember to catch-up on the minor one once the event had passed.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- 7 Essential Mobile Apps for Computer Science(CS) Students
- Tips for Non-CS/IT Students to Get Into Computer Science Field
- Competitive Programming vs Software Development - Where Should I Invest My Time?
- Difference between Generic Software Development and Custom Software Development
- Difference between Computer Science Engineering and Computer Engineering
- Fast I/O for Competitive Programming
- Knowing the complexity in competitive programming
- What is Competitive Programming and How to Prepare for It?
- What Are The Best Resources For Competitive Programming?
- Best Way To Start With Competitive Programming - GeeksforGeeks CP Live Course
- 5 Best Languages for Competitive Programming
- 5 Best Books for Competitive Programming
- What is the Importance of Mathematics in Computer Science?
- Do programmers need a Computer Science degree to get a job?
- Top 5 PSUs for Computer Science Engineers in India
- 10 Famous Bugs in The Computer Science World
- Computer science, an overrated dream
- Computer Science 101
- Subjectwise Important Topics for GATE 2020 Computer Science
- 5 Most-Recommended Career Fields in Computer Science
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.