Continuous skill-up is indispensable for increasing your market value as an engineer. However, data from a Samurai Engineer survey shows that 87.5% of programming learners have experienced setbacks, proving that mastering technology through self-study is no easy feat.
In this article, we introduce 20 selected free tools that allow you to learn practical technologies such as Python, JavaScript, SQL, and AWS while having fun, as if playing a game. From the perspective of an active engineer, we will explain efficient learning methods directly linked to career advancement and job changes.
- How to use 20 free games to learn high-demand tech like AWS and Python.
- Strategies to overcome the 87.5% programming setback rate through play.
- How to turn game rankings into objective proof for career advancement.
1. What are Programming Games? | Why They are Effective for Upskilling

Programming games are learning tools that allow you to acquire practical technical skills while having fun. We will explain why these tools are so effective in programming education—an area known for its high attrition rates—compared to traditional textbook-based learning.
Definition: Learning Practical Coding Through Play
Programming games are learning tools designed to help users acquire practical coding skills with a “game-like” feel. Unlike traditional textbooks or text-based materials, they are characterized by an experiential learning process where you grasp fundamental concepts by combining blocks or moving characters.
Boosting Your Market Value as an Engineer
Continuous technical acquisition is essential. However, according to the “IT Human Resources Supply and Demand Survey” by the Ministry of Economy, Trade and Industry (METI), Japan is projected to face a shortage of up to 790,000 IT professionals by 2030. There is an urgent need for talent capable of handling advanced technologies like AI, Big Data, and IoT. In this climate, programming games are gaining attention as an efficient and sustainable means of upskilling.
Source: METI, “Survey on IT Human Resources Supply and Demand” (2019)
The High Setback Rate in Programming Learning
The high rate of failure is a serious challenge in programming. In a survey by Samurai Engineer, 87.5% of respondents answered that they had “felt like giving up or hit a wall” during their studies. The top reasons were: “No environment to ask about unclear points” (40.8%), “Could not solve errors” (36.3%), and “Could not maintain motivation” (33.3%).
Source: Samurai Engineer, “Survey on Setbacks in Programming Learning” (2019)
■Related Reading
Understanding Japan’s IT market helps you prioritize which skills to learn. This analysis covers the current landscape and opportunities for foreign engineers.
2. 3 Benefits of Learning via Programming Games
LEVEL UP STRATEGY
3 Ultimate Benefits for Engineers[Image: LEVEL UP STRATEGY – 3 Greatest Benefits: 1. Low Cost (Python/JS/AWS), 2. Micro-learning Efficiency (15 min+), 3. Career-linked Results (GitHub/GAFA evaluation)]
1. Acquire Practical Technology at Low Cost
The biggest merit is the ability to learn high-demand technologies for free or at a very low cost. Skills like Python, JS, SQL, and AWS can be learned far more cheaply than buying books (avg. 3,000 JPY) or Udemy courses (avg. 10,000 JPY). Even paid tiers are affordable, ranging from 1,000–3,000 JPY/month for mentor support and high-difficulty content.
2. Efficient Learning During “Gap Time”
Active engineers often struggle to find large blocks of time for study. Programming games support “micro-learning” sessions of 15–30 minutes, perfect for commutes or lunch breaks. Mobile support in platforms like LeetCode and CodinGame allows you to tackle algorithms even without a PC.
3. Creating a Portfolio Linked to Career Success
The problems you solve can serve as a portfolio. By publishing your solutions on GitHub, you can visualize your technical depth for recruiters. Top-tier firms like GAFA increasingly value engineers with high rankings on competitive platforms like LeetCode or AtCoder as objective proof of problem-solving ability.
3. How to Choose: 4 Criteria Based on Goals and Level
HOW TO CHOOSE
4 Criteria by Purpose & Level[Image: HOW TO CHOOSE – 4 Criteria: 1. Technology (Web/BE/Infra), 2. Skill Level (Beginner to Advanced), 3. Career Demand (AI/K8s/Info I), 4. Style (RPG/Competitive/Task-solving)]
- By Technology/Language
Align with your career path (e.g., JS/React for Web, Python for AI/Data, Go for Cloud-native). - By Skill Level
Choose a “Challenge Zone” slightly above your current ability (e.g., Scratch for beginners, LeetCode for intermediate, AtCoder for advanced). - By Career Demand
Focus on modern stacks like Go, TypeScript, AWS, and Kubernetes, which are shifting from traditional development to advanced tech. - By Learning Style
Choose a format that suits your personality, whether it’s an RPG (CodeCombat), competitive battle (AtCoder), or specific task-solving (AWS Cloud Quest).
■Related Reading
Before selecting which games to focus on, knowing your target career path helps you prioritize the right tech stack and skill set.
■Not Sure Which Tech Stack to Focus On?
Our bilingual career advisors help foreign IT engineers living in Japan identify the skills most in demand at Japanese companies and build a learning plan aligned with your career goals — completely free of charge.
▼Contact BLOOMTECH Career for Global here
4. 20 Selected Programming Games for Engineers (By Tech & Purpose)
Here are 20 strictly selected games that allow you to master practical skills.
Web Development | JavaScript & Front-end (5 Games)
1. CSS Diner

- Skill: Complete mastery of CSS selectors.
- Difficulty: Beginner.
- Learning Time: 1–2 hours for all 32 stages.
- Practical Use: Learn everything from basic tag selectors to pseudo-classes and attribute selectors. It helps in building maintainable CSS and understanding specificity, allowing you to achieve more with CSS alone rather than relying on JS.
- URL: https://flukeout.github.io/
2. Flexbox Froggy

- Skill: CSS Flexbox Layout.
- Difficulty: Beginner to Intermediate.
- Learning Time: About 1 hour for all 24 stages.
- Practical Use: Visually master
justify-content,align-items, andflex-direction. Essential for modern responsive design and cross-browser placement techniques. - URL: https://flexboxfroggy.com/
3. Grid Garden

- Skill: CSS Grid Layout.
- Difficulty: Beginner to Intermediate.
- Learning Time: 1–2 hours for all 28 stages.
- Practical Use: Learn 2D layouts using
grid-template-columnsandgrid-gap. Great for designing complex dashboards and card-based layouts. - URL: https://cssgridgarden.com/
4. CodeCombat (JavaScript/Python)

- Skill: JS/Python Basics to Intermediate.
- Difficulty: Beginner to Intermediate.
- Learning Time: 10–15 hours for the basic course.
- Practical Use: An RPG where you write code to move characters and defeat enemies. It naturally builds the thinking process for variables, loops, and OOP.
- URL: https://codecombat.com/
5. CodinGame (JS/TS Support)

- Skill: Algorithms and Data Structures (25+ languages).
- Difficulty: Intermediate to Advanced.
- Learning Time: 5 minutes to several hours depending on the problem.
- Practical Use: Solve puzzles and AI battle games. It improves code efficiency and performance tuning, making it great for technical interview prep.
- URL: https://www.codingame.com/
Back-end Engineers | Python, Java, Go (5 Games)
6. CheckiO (Python)

- Skill: Practical Python Coding.
- Difficulty: Intermediate to Advanced.
- Learning Time: 15 minutes to 1 hour per problem.
- Practical Use: Solve puzzles while exploring islands. It covers list operations, dictionaries, and string processing. You can compare your code with others to learn “Pythonic” writing.
- URL: https://checkio.org/
7. Exercism

- Skill: 50+ languages (Python, Go, Rust, Java, etc.).
- Difficulty: Beginner to Advanced.
- Learning Time: 30 minutes to 2 hours per exercise.
- Practical Use: Features a mentor system where professional engineers review your code. Ideal for learning Test-Driven Development (TDD) and Clean Code principles.
- URL: https://exercism.org/
8. CodinGame (Python/Java/Go Support)

- Skill: Multilingual Algorithm Challenges.
- Difficulty: Intermediate to Advanced.
- Practical Use: Effectively practice data structures and optimization for back-end roles. Some companies use CodinGame scores as a reference for hiring.
- URL: https://www.codingame.com/
9. CodeCombat (Python Specialized Course)

- Skill: Python Basics to Intermediate.
- Difficulty: Beginner to Intermediate.
- Learning Time: 10–15 hours for basics.
- Practical Use: Grasp variables, functions, and OOP concepts through an adventure format, which significantly lowers the risk of giving up.
- URL: https://codecombat.com/
10. Elevator Saga

- Skill: JavaScript & Algorithm Optimization.
- Difficulty: Intermediate.
- Learning Time: 15 minutes to 1 hour per challenge.
- Practical Use: Implement elevator control logic to transport people efficiently. It trains the mind for performance tuning and solving real-world system optimization problems.
- URL: https://play.elevatorsaga.com/
Infrastructure & Cloud Engineers | AWS, Docker, Linux (4 Games)
11. AWS Cloud Quest

- Skill: AWS (EC2, S3, Lambda, RDS, VPC, etc.).
- Difficulty: Beginner to Intermediate.
- Learning Time: 20–30 hours for all quests.
- Practical Use: A 3D RPG provided by Amazon. You build actual cloud infra using the AWS Console. Excellent as a stepping stone for AWS Certified Solutions Architect exams.
- URL: https://aws.amazon.com/training/digital/aws-cloud-quest/
12. Sadservers

- Skill: Linux, Shell Scripting, Troubleshooting.
- Difficulty: Intermediate to Advanced.
- Learning Time: 15 minutes to 1 hour per scenario.
- Practical Use: Fix “broken” Linux servers. Simulates real production failures like log analysis and process investigation, building on-call readiness.
- URL: https://sadservers.com/
13. OverTheWire: Bandit

- Skill: Linux Basics, Security, Command Line.
- Difficulty: Beginner to Intermediate.
- Learning Time: 10–15 hours for all 34 levels.
- Practical Use: Connect via SSH to solve challenges. It solidifies server management and security fundamentals through command-line operations.
- URL: https://overthewire.org/wargames/bandit/
14. Vim Adventures

- Skill: Vim Editor Operations.
- Difficulty: Beginner.
- Learning Time: About 30 minutes for Level 1.
- Practical Use: An RPG using Vim keybinds (
h,j,k,l). Mastering Vim increases productivity in server-side and remote environment work. - URL: https://vim-adventures.com/
Database Engineers | SQL (2 Games)
15. SQL Murder Mystery

- Skill: SQL (SELECT, JOIN, GROUP BY, Subqueries).
- Difficulty: Beginner to Intermediate.
- Learning Time: 1–2 hours to complete.
- Practical Use: Find a killer by extracting clues from a database. Great for practicing the data extraction and aggregation skills used in daily data analysis.
- URL: https://mystery.knightlab.com/
16. SQLZoo

- Skill: SQL Basics to Advanced.
- Difficulty: Beginner to Advanced.
- Learning Time: 15–20 hours for all tutorials.
- Practical Use: A comprehensive platform covering everything from basic SELECTs to Window Functions and complex JOINs using real databases.
- URL: https://sqlzoo.net/
Algorithms & Competitive Programming (2 Games)
17. LeetCode

- Skill: Data Structures & Algorithms (Array, Tree, DP, etc.).
- Difficulty: Intermediate to Advanced.
- Learning Time: 15 minutes to 2 hours per problem.
- Practical Use: The global standard for technical interview prep. Used by GAFA candidates. High problem counts on LeetCode are highly regarded by international firms and startups.
- URL: https://leetcode.com/
18. AtCoder

- Skill: Competitive Programming & Algorithmic Thinking.
- Difficulty: Beginner to Advanced.
- Practical Use: Japan’s largest platform with weekly contests. The rating system provides objective proof of skill, highly valued by domestic Japanese companies.
- URL: https://atcoder.jp/
Security Engineers | Vulnerabilities & Pentesting (2 Games)
19. HackTheBox

- Skill: Penetration Testing, Vulnerability Diagnosis, Exploits.
- Difficulty: Intermediate to Advanced.
- Learning Time: 2–10 hours per machine.
- Practical Use: Legally practice hacking on virtual machines. Essential for aspiring penetration testers and incident responders.
- URL: https://www.hackthebox.com/
20. PicoCTF

- Skill: Capture The Flag (CTF) Security Learning.
- Difficulty: Beginner to Intermediate.
- Practical Use: Covers cryptography, web security, and reverse engineering. Great entry point for security beginners with clear hints and step-by-step difficulty.
- URL: https://picoctf.org/
■Related Reading
Once your learning roadmap is set, see where the real demand is. Japan’s talent shortage is opening doors for foreign engineers across multiple tech domains.
■日本でエンジニアとしてキャリアアップしたい方へ
海外エンジニア転職支援サービス『 Bloomtech Career 』にご相談ください。「英語OK」「ビザサポートあり」「高年収企業」など、外国人エンジニア向けの求人を多数掲載。専任のキャリアアドバイザーが、あなたのスキル・希望に合った最適な日本企業をご紹介します。
▼簡単・無料!30秒で登録完了!まずはお気軽にご連絡ください!
Bloomtech Careerに無料相談してみる
5. Efficient Learning Roadmap for Engineers

- Step 1: Clarify Goals
Map your skills and target high-demand tech (AI, Cloud, Security) based on job postings and the IPA “IT White Paper.” - Step 2: Habitualize 15–30 Minutes
Use gap times during commutes. Gamification helps maintain the “psychology of wanting to continue.” Aim for a green GitHub contribution graph. - Step 3: Output to Portfolio
Publish your code on GitHub and share your logic on Qiita/Zenn. Applying game-learned algorithms to real-world tasks (like office automation scripts) solidifies the skill.
6. 3 Cautions When Using Programming Games
- Games are not the final goal
They don’t cover team development (Scrum/Agile) or production deployment. Move to OSS contributions or real projects once basics are set. - Watch tech trends
Prioritize modern stacks like Python, Go, and AWS over legacy tech (COBOL, VB) to ensure career versatility. - Visualize results
Put your ratings (AtCoder Brown, LeetCode 300+) on your CV. They act as objective proof of your coding and persistence.
7. Next Steps After Programming Games

- Career
Use quantitative data (e.g., “Solved 300 LeetCode problems”) in your CV and interviews. - Practical Work
Start by automating routine tasks or refactoring legacy code using the optimization logic you’ve learned. - Community
Share your journey at Lightning Talks (LT) or join developer communities on Discord/Slack to stay motivated.
■Related Reading
As you build your skill portfolio, knowing how to negotiate your salary is just as important. This guide covers proven strategies for foreign IT engineers in Japan.
8. FAQ about programming games

Effective for experienced pros?
Yes, especially for learning new languages in 1–2 weeks or maintaining algorithm skills for interviews.
Free vs. Paid?
Free is enough for most. Paid tiers like LeetCode Premium are worth it for specific company interview questions.
How long for results?
3 months of 30 mins/day for basics; 6–12 months for career-level achievements.
No English?
Use AtCoder or tools like DeepL/Google Translate for platforms like LeetCode.
■Related Reading
Ready to turn your upskilled abilities into a new role? This step-by-step guide walks foreign engineers through the entire job change process in Japan.
9. Mastering Market-Ready Tech Through Gamification
In an era where IT talent is scarce, mastering web development and infrastructure through programming games is a game-changer.
By leveraging free tools for Python, JavaScript, SQL, and AWS, engineers can bypass the high failure rates of traditional study.
The key to success lies in consistent “micro-learning” and documenting your game achievements on GitHub to build a high-impact portfolio that recruiters cannot ignore.
■Turn Your Skills Into a Career in Japan’s IT Industry
BLOOMTECH Career for Global specializes in helping foreign IT engineers living in Japan find roles that match their technical strengths. Register in 30 seconds and get free, personalized job referrals tailored to your stack and goals.