In this series, we explore the recruitment and development of highly skilled IT professionals with Naohiro Takahashi, who is himself a world-class programmer and the representative of AtCoder, which hosts competitive programming contests. This time, he discusses the true nature of AI talent and the level of Japanese programmers.
How are AI talent and algorithms related?
We've talked extensively about algorithms in the previous installment, but let's now return to the topic of "AI talent" raised at the beginning of the last article. What exactly is AI talent? Or rather, what is "AI" itself?
As you likely know, AI stands for Artificial Intelligence. In a narrow sense, it means "something that mimics humans using computers." Unfortunately, in modern business contexts, the term AI is not used in this sense.
So how is it used? To put it very bluntly, it's "amazing software." If a program contains any element that seems impressive, it's currently being called AI. If we had to pin it down, perhaps it's about having elements that appear to be thinking, rather than just performing simple tasks?
For example, the "number guessing game" program introduced in the previous article would rarely be called AI in the field of information science. However, in the business world, even such programs are included under the umbrella of AI. It's unfortunate that the term AI is overused and its meaning shifts depending on who is using it.
So, with that context, what exactly is an AI talent? If I were to offer my personal interpretation:
"talent capable of making things computable that were previously uncomputable, through some remarkable means."
That definition probably isn't too far off, right?
This "amazing method" is actually the key point, and this method is precisely the "algorithm" explained last time. To name some trendy recent terms, "deep learning" and "machine learning" are essentially bundles of algorithms. Isn't it the talent capable of handling excellent algorithms that can truly be called AI talent?

Of course, algorithms aren't the only thing needed to write programs. There are countless other necessities: "understanding methodologies for writing source code collaboratively," "knowledge of useful tools," "security expertise," and so on. Without people possessing these skills and knowledge, programs would never be completed.
Furthermore, there's debate about whether "AI talent" refers solely to programmers. The government's claim of a "shortage of hundreds of thousands" seems astronomical given Japan's programmer population. It's reasonable to consider whether this figure includes not just programmers, but also "intermediaries" who facilitate collaboration with programmers.
However, regardless, the fact remains that "talent capable of creating algorithms" will be needed in the future.
The ability to develop excellent algorithms or understand existing ones directly translates to the power to create programs that were previously technically impossible to build. This is precisely one of the capabilities engineers will increasingly be required to possess.
What is competitive programming, where AI talent gathers?
We've discussed programming and algorithms in the previous and current installments, but there's actually a sport where these very skills are competed as a contest. That is "competitive programming."
Competitive programming comes in various formats, but the simplest is structured as follows:
① Multiple problems are posted online
② Participants select problems to solve and create programs that meet the problem requirements
③ Submit your source code to a designated website, where it is automatically graded to determine if it meets the problem's requirements. If correct, you earn points corresponding to the problem.
④ Rankings are determined based on the number of problems solved, total points earned, and the time taken to solve them.
⑤ Your rating, which reflects your skill level, changes based on contest results.

Contests feature a wide range of problems, from simple ones like the "Hello World" output introduced previously to difficult ones requiring clever algorithms for fast computation.
By tackling diverse problems in such environments and honing your skills, you can grow into a talent strong in algorithms.
...That's the official explanation, but most people involved in competitive programming aren't participating for that motivation. Many primarily participate for the "entertainment value." I'll save the details about Japanese competitive programmers for next time.
Is Japan Actually an IT Talent Powerhouse!? What's the Level of Japanese Competitive Programming?
If you're hearing the term "competitive programming" for the first time today, you might be a bit out of touch with IT trends. While competitive programming was indeed a very niche activity just a few years ago, it has evolved into a sport with a significant and undeniable number of participants.
While Japan is often vaguely labeled as "weak in IT," this certainly doesn't apply to competitive programming. Japan ranks as the world's third-largest competitive programming powerhouse, with a vast number of Japanese engineers and students actively challenging themselves in this field.
Today, the Nikkei newspaper hosts large-scale competitions inviting 500 participants to their finals, and over 5,000 Japanese compete simultaneously in weekly contests. The recent trend is that students who grow through these competitions and excel in global contests are increasingly securing jobs at IT companies.
Now, competitive programming is this treasure trove of AI talent. And the contest with the largest number of participants in Japan is AtCoder.
Stay tuned for the next article to learn what kind of site AtCoder is and what kind of talent it attracts!