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 DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Competitive Programming vs Software Development - Where Should I Invest My Time?
- 7 Essential Mobile Apps for Computer Science(CS) Students
- Difference between Generic Software Development and Custom Software Development
- What Are The Best Resources For Competitive Programming?
- What is Competitive Programming and How to Prepare for It?
- Fast I/O for Competitive Programming
- Knowing the complexity in competitive programming
- Best Way To Start With Competitive Programming - GeeksforGeeks CP Live Course
- Computer Science 101
- What is the Importance of Mathematics in Computer Science?
- Do programmers need a Computer Science degree to get a job?
- Computer science, an overrated dream
- 10 Famous Bugs in The Computer Science World
- Top 5 PSUs for Computer Science Engineers in India
- Top Programming Languages for Android App Development
- Top 10 Programming Languages for Blockchain Development
- Subjectwise Important Topics for GATE 2020 Computer Science
- Difference between Computer Science Engineering and Computer Engineering
- Top Programming Languages for Data Science in 2020
- Software Engineering | Identifying Software Development Metrics
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. 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.