Programming is not everyone's cup of tea, and often we assume it is an unconquerable battle for ordinary people.
Nonetheless for Pritom Kundu, a young programming genius, it has been like a simple walk in the park.
He said, "The immense pleasure that you get when you solve a difficult algorithmic problem is enough motivation on its own to move ahead."
Pritom is a 23-year-old undergraduate student from Bangladesh University of Engineering Technology (Buet).
He is out to conquer the global programming arena as his team from Buet recently became the Asia West champion in the ICPC (International Collegiate Programming Contest) World Finals 2020, one of the most prestigious competitions in the programming world.
His team also secured second place in Asia West Super Regional.
Besides this achievement, Pritom has been titled an 'international grandmaster' due to his consistent brilliance in solving algorithmic problems in competitions organised by Codeforces.
He is the second person from Bangladesh to achieve this title.
Codeforces is a globally renowned site and for those who want to succeed as a programmer and gain some solid points from potential employers, developing an impressive profile on it is a must.
He said that in these competitive programming contests, an individual has to solve multiple algorithmic problems within a very short time.
The contestant is rewarded with points and when someone reaches 2,400 points, s/he becomes a grandmaster.
"I was fortunate enough to cross 2,600 points, which made me an international grandmaster," Pritom said.
He passed his SSC from St Gregory's High School and became the 'Champion of the Champions' at the National Math Olympiad when he was only a high school student.
His knack for mathematics eventually helped him to excel in programming.
"After becoming a national champion, I always regretted not participating in international Olympiads," he said, adding "But after getting admitted to Buet, I practised coding seriously and started participating in national programming contests relentlessly."
His first official team contest was the ICPC 2017 Dhaka Regional Preliminaries.
"For a career in programming, fundamentally being good at math is not a requirement, neither is being a CSE student," he opined, adding, "It does help, but you can also develop through consistently practising and reading books related to programming."
For beginners, Pritom suggests programming books by Tamim Shahrear Subin.
Being a CSE student, he got an appropriate environment to groom himself and also had a supportive community.
Pritom says he started his journey as a programmer and gradually improved.
He first started learning programming for solving Project Euler problems, which are focused on math.
They needed coding knowledge so he learned basic C++ from an online tutorial.
"When I was starting out, I found HackerRank (a tech company focusing on competitive programming) and solved loads of problems there," he informed us.
"I picked up knowledge while doing so. Later when I started participating in contests, I became more organised," he explained.
If someone wanted to pursue a path in development or research in programming, would participating in different competitions help?
"In case of development, I would suggest participating more in hackathons. This is a type of programming contest more focused on app development," Pritom said.
"Here, the team is usually assigned to develop a particular app within a given time. In case of contest programming, the competition is more intense and focuses more on problem-solving abilities," he added.
"In case of research, participating in contests will surely help as you will find different complex and fresh problems, which help to discover new details," he went on.
When people start to acquire a skill, rookie mistakes are common. According to Pritom, there are two types of mistakes that people widely make in programming.
"One of the most common mistakes people make is focusing too much on the quantity of solving problems, instead of focusing on the quality of the problem. The other one is procrastinating and not being consistent," he said.
For now, the young programmer is still exploring different opportunities and enjoying what he is good at.
"In future, if my profile fits with the requirements of top-notch tech companies like Google, Microsoft, or Intel, I will try to be a part of them," he concluded.