Competitive Programming
Written by Minami
Science was never my strong suit. When I graduated high school, I thought, "I will never have to do math again!"
I was in the humanities course in high school, so I only learned basic math. As I mentioned in my previous blog post, I worked and studied in the arts before I began coding.
Being good at math certainly helps when programming, but programmers have many different roles, and I believe some positions don't require advanced mathematical knowledge.
Yet, as I continued coding, I naturally became curious about math, algorithms, and data structures based on math—I could not believe I'd become interested in math at this point in my life! I wanted to learn more but wondered how I could learn these subjects in the most fun way.
That's when I discovered competitive programming—competitions that involve solving logical or mathematical problems as quickly and accurately as possible using programming.
Due to some performance considerations, JavaScript is not commonly used in competitive programming, so I started learning C++ at the end of last year. I've been enjoying learning C++. There are many differences between JavaScript and C++, but learning C++ deepens the understanding of JavaScript and vice versa.
After moving to my new flat in February, where I have a better working environment, I began participating in competitive programming contests on AtCoder every Saturday.
I'm incredibly excited about this new challenge! It has been difficult, especially when facing highly mathematical problems, and my rating isn't very good yet. However, I find it fascinating and have now developed a genuine interest in math, data structures, and algorithms. It is also beneficial for my software development skills.
When I transitioned from the arts to programming, I worried about my ability and whether my motivation would continue. But I'm very happy that I did it! It opened a new world like I never expected to start learning math again. I am challenging myself in an area I previously avoided and once dismissed as "not for me." This experience teaches me something new: our self-imposed limitations are not as fixed as we believe.