The joy of coding
TCS CodeVita is in its ninth season. CodeVita is TCS' flagship programming competition for college students. For previous eight seasons, it was BAU, hence didn't bother blogging about it. However, this year I want to spread the positivity and cheer that the joy of coding brings! To understand, let me set some context.
TCS CodeVita
- Is a global programming competition (where in last season students from more than 85 countries had registered) whose duration is 24 hours
- Is an open book contest where one is allowed to refer any resources (as long as they do it individually) to solve original and unpublished programming problems
- Earns the winner 10K USD, first runner-up 7K USD and second runner-up 3K USD
- Offers jobs and internships, basis demand from business units, as applicable
We just concluded this season's zone 1 (regions in zones change every year). Comparing last year's data with this year's gave me a pleasant surprise. Hence this post. Last year we saw the following scenario play out
As can be seen from the image above, there was a peak code submission evaluation rate of ~700 codes / minute (supported programming languages - C / C++/ C#/ Java / Perl / PHP/ Python / Ruby). Overall there were a little under 4 Lakh or 400K code submissions in the 24-hour window.
This year, however the following picture emerged
The peak code submission evaluation rate of ~3100 codes / minute (supported programming languages - C / C++/ C#/ Java / Perl / PHP/ Python / Ruby). Overall there were a little under 18 Lakh or 1.8M code submissions in the 24-hour window.
The ~4.5x growth in not just the peak submission evaluation rate, but also ~4.5x growth in overall submissions is a good indicator of the intensity with which CodeVita is contested this year. Agreed that student community may be harbouring fear about job scenario this year, but seeing that fear translate into action is where I see the positivity that brings cheers, joy and job satisfaction.
Although, we had anticipated a surge in participation this year, we had expected a 2x-3x increase in participation levels. My engineering had their task cut out i.e. to make the system scale and this is how they responded
The above diagram depicts the code evaluation response times. Response times are plotted on Y-axis on a logarithmic scale. The X-axis is time of day in the 24-hour window (8th, Aug 3PM to 9th, Aug 3PM, IST). Each rectangular block on X-axis is a 10-minute interval. Number of response time samples that fall in the XY-intersection are depicted by the colour intensity from White to Red on a gradient scale.
From the above, it is clear that maximum response times are below 2 seconds and the red portions in this graph correlate very well with sustained peaks in previous graphs. In a world where say a Java compilation takes close to 800 msec, engineering the system such that maximum submissions are evaluated in 2 seconds or lesser, denotes the rigour applied by team without ever meeting once physically during this season. Needless to say, I am very happy and proud of what the team has delivered.
Looking at the response time data from a different perspective (the usual one), we see the following
Here, Response time is plotted against time. Each square block denotes 1-minute duration, thus an hour has 60 data points per series. There are 6 such series plotted above viz. Average, 75th Percentile, 80th Percentile, 85th Percentile, 95th Percentile and Max Response time. A green block denotes response time of less than 5 seconds, red block denotes response time of 10 seconds or greater, while the third colour depicts the in-between range.
Not just the Response Times, but the engineering team also ran the whole show at only 15% utilization of the 350 core, 600 GB RAM hardware budget allocated to us. Readers will have to trust me on this since I cannot publish graph which may have sensitive info about our technology stack.
The data above goes on the prove the following
- There's plenty of positivity despite the pandemic. Resilience has triumphed over fear, at least as far as CodeVita is concerned.
- The positivity is not just in thoughts or words, but its getting translated into action. The positivity baton has been successfully relayed between various TCS teams viz. Management, Marketing and Engineering and the Student community at the other end reciprocated in the same manner. It takes two to tango!!!
- Necessity is truly the mother of Invention / Innovation
CodeVita Zone 2 Pre Qualifiers are slated to happen from 3 PM on Indian Independence Day till 3 PM the next day (15th Aug, 3 PM to 16th Aug, 3 PM, IST). Excited to see what pattern emerges then.
Would love to hear your experiences and achievements!
Edit:- This is how Zone 2 panned out
System Engineer at Tata Consultancy Services
4 年Thanks for the opportunity ?? Excited for the next step !
AI/ML R&D Co-op at Olympus | Computer Engineering Grad | Student Assistant at UTD | Formerly Accenture & Cognizant
4 年Soo happy to find my submited codes stood up me at 7823 rank in pre-qualifier round ??.... Also soo excited to make it for next round of this season.......
Senior Flutter Engineer at Aarogya Tech
4 年Graph of submission of code, of zone-1, compare to last year is very interesting. Please also post the pattern of zone-2.
DPWORLD | ex SIGNIFY| Automation Engineer| SDET |Python Developer | ProgrammingTutor | Freelancing Automation Tester | AEM | Selenium | Appium | Behave.
4 年It was been a great experience and joyful journey of solving TCS CODE VITA SEASON 9 ZONE 2 code. Thank you TCS and teams for such an event.
Great Start, Amol and team CodeVita! Hope to meet the global finalists and winners in person as usual!