I couldn't be a Competitive Coder, but it still worked out!

I couldn't be a Competitive Coder, but it still worked out!

When I was in college, there was this fad of Competitive Coding. Competitive Programming is like a sport where participants have to solve certain programming problems with constraints, timed or untimed.

As a first year student in my undergraduate program, I literally had no idea what is coding. We were introduced to C language (at least I was) for the first time and I had failed pretty badly in the first exam (yeah, 32%).

I could write a good simple program in a couple of months. After I got a laptop, I did start practicing quite a lot at the end of first year. It wasn't easy, with no knowledge of data structures and only handful of looping and conditional constructs did not help much. I barely could solve problems that were grouped easy on Codeforces.

I turned back to focusing on academics and got very good grades in the first year. I stepped into second year with imposter syndrome. I could see everyone doing great around me. I could not even formulate a pseudo-code for half of the year. I again focused on implementing Data Structures in Practicals and got a hands-on them. C++ kind of made coding easier, I could write any code at the end of the year. Again, my focus was only on academics and academic projects. I loved tweaking with Linux and tried lots of stuff on Ubuntu. Soon, I was a go to person among my friends (also friends of friends) in fixing stuff that went wrong on their Linux systems.

Screenshot 2021-01-04 at 12.31.23 PM.png

I joined some coding groups but being an introverted (no programmer friends) and with a mindset that everyone around me had gone far ahead, I soon became demotivated. I left the coding group in a few days and went on to explore something else. My college had a very competitive environment and it was tough to find the right person that would really help out. In the beginning of Third Year, I found literally every single person I would talk was doing Machine Learning. I was interested in security and chose Blockchain as a specialisation. It was also a hype with a very few people into it.

Internship drives had started and I kind of ignored them. I did practice problem solving on Hackerrank. But I never came out of the comfort zone of solving more than easy problems. I would retake the problem solving tests with different usernames to score good. Even though I knew the solution, I couldn't handle the timer ticking to zero. Timers always got me panicking and they still do. Due to my other development skills I landed a fellowship the same year. I learned a new language in each semester in college. Built skills around simple web development, android app development and later picked react.

During recruitment days at college, I failed to secure interviews for around 25 companies due to their assessment techniques which consisted of coding and quantitative aptitude. There was no consideration for skills, no companies checked our resumes for shortlisting. There were many students who had spent their time "leetcoding", solving various problems, memorising the code. I couldn't make myself invest time to solve the problems on coding platforms. I wasn't good at syntax because I never learnt a language to write it correctly but to build something out of it. I never memorised all algorithms because they were already there on the internet except those that were for academics. Algorithms weren't the problems, they were the solution to other problems we were trying to solve. Sadly, the process wasn't project focused and I couldn't interview some big companies.

But I got selected for internship and later got the job without a coding test or giving aptitude tests. I did make it through the technical interview because my concepts were clear. I could explain what I could build or had built. I am not encouraging you to stop coding. I do code sometimes, just for fun and increasing my logical thinking. I just couldn't invest my whole time into it and compromise or ignore other stuff. During my college time, some good coders ignored academics, are rank holders in competitive coding and are also part of FAANG. Some people could balance all of these and were great at everything. It depends person to person.

I tried a lot but I still feel competitive coding is not cut out for me. Also, this doesn't mean I am going to stop here. I still practice coding and will keep doing because I like to put my brain to use. I may not be a great coder but everything is still working fine for me. I don't solve those kinds of problems at my job or in my projects, that is partly why I have accepted it. It is okay to NOT be a rankholder competitive programmer. There are other things too in Computer Science. But, this doesn't stop me from going back to solving coding problems.

I love challenges and I'll take my time to write optimised code for all sorts of problems.