Turn off your AI Assistant for Code Katas

by | Jul 14, 2025 | Coding Skills

Code Katas are small exercises which can help you to practice coding skills in a safe environment. They are fun little problems with quirky themes that should hold your attention and be enjoyable to work on. I’ve personally been doing code katas for more than 20 years and I still find it fun and useful to solve them. I can practice all kinds of skills like refactoring, simple design, working in small steps and of course trying out different tools and programming languages.

One coding skill these exercises has turned out to be worse than useless for learning, is how to get the best from Gen AI Coding Assistants, Genies and Agentic AI. The trouble is, the Large Language Models (LLMs) behind all those tools behave differently in code katas, so you can’t learn habits or skills that transfer to the kinds of production code you work on normally. The basic problem is code katas are too small and there are too many examples of solutions in the LLM training data.

I still find practicing on code katas is useful though, to train all those other skills I mentioned. For that to be effective though, I like to temporarily turn off the AI tools in my IDE, so I don’t get distracted by them. I thought it would be a good idea to note down what I turn off, and how I do this in JetBrains tools like IntelliJ, Rider and PyCharm. I found it was a bit tricky to find all the settings you need to adjust, so I hope these notes will help others too.

I don’t want to completely uninstall the AI support, since I do use it in other situations. I found it works to selectively turn off just a few parts of it while I work on code katas.

Full Line Completion

This can be really distracting, because it may offer to complete the line with a whole solution to your code kata. If you accept it then you won’t be sure your tests cover all the code that it’s written, and you may be working in a larger step than you’d like to. One of the reasons you do a code kata is to practice taking smaller steps.

AI-Generated Name Suggestions

At some level all code is made of words and it really matters which ones you choose. Often in a code kata you’re practicing naming things well. The AI assistant will generate suggestions based on a whole host of text it finds in your IDE and on the internet. It will come up with rather good suggestions for a code kata, which it may not in real code.

Generate Code with AI Assistant

Similar to Full Line Completion, this setting is where the AI offers to generate a whole code snippet that you can use. Again the problem is it will do more than you need and jump too quickly to a solution you may not have tests for. It might come up with a design in one go, that you’d prefer to develop in small steps. It took me a while to realize these suggestions were being triggered by a keyboard shortcut and weren’t being turned off when I disabled line completion.

How to do this in JetBrains IDEs

Those are the three settings I want to turn off for code katas, in this part I’ll show exactly how to do that in JetBrains IDEs. It’s very similar for all of IntelliJ, Rider and PyCharm, which are the main ones I use. The screenshots below are IntelliJ but hopefully you’ll find equivalent settings in whichever flavour of IDE you’re using.

‘Full Line Completion’ needs turning off for the programming languages you are using in your code kata:

Inline Completion settings dialog

I don’t mind so much if the AI creates a title for any shelved changelists but I don’t want it to suggest names for classes and methods, or complete lines for me while I’m doing a code kata. AI generated name suggestions are controlled in the top-level settings for the AI Assistant. I uncheck ‘Enable cloud completion suggestions’ and ‘Provide AI-generated name suggestions’.

AI Assistant settings dialog

Lastly, I don’t want the AI assistant to generate blocks of code for me. I can usually avoid that just by not pressing on the AI icon and not initiating a chat with the AI assistant. However, it also gets triggered on a keyboard shortcut, which defaults to Tab. I found it useful to re-assign that shortcut to a key I was less likely to press.

Keymap settings for AI Plugin

Do you see the little yellow highlight showing the tab key next to ‘Generate Code with AI Assistant’? I have subsequently changed it to trigger on > (right angle bracket) instead of tab. I’m less likely to press that without meaning to.

Just to show you what happened before I did this, this is a screenshot of me typing the word ‘create’ in a method call. The popup just above where I’m typing is showing the variables I have declared locally in this class. I’ve just spotted the one I want to use – ‘createWorkingOverlay’ – so I instinctively hit ‘tab’ to select it.

Unfortunately you can see there is also some small grey text on the same line where I’m typing that says ‘Tab to generate with AI’. I didn’t even notice it, so I hit ‘tab’, then unexpected things happen. The AI tool steals the focus and starts generating code, which takes ages, and I found it didn’t even come up with the correct variable name in the end!

What am I still missing?

These are the settings I’m working with at the moment when I do code katas. Perhaps you’ve also experienced that it’s better to turn off AI tools when practicing. Is there anything else that you recommend when doing code katas in modern IDEs? Do join a conversation with me on social media. Also, technical coaches regularly join me for discussions through the Samman Society – this is a link to our next Open Space online meeting. Perhaps I’ll see you there.

Hi – I´m Emily!

I am an independent consultant with Bache Consulting and chair of the Samman Technical Coaching Society.  As a technical coach I work with software development organizations who want to get better at the technical practices needed to be agile, including Test-Driven Development, Refactoring and Incremental Design. I live in Gothenburg, Sweden, although I am originally from the UK. I’ve written two books: “Technical Agile Coaching with the Samman method” and  “The Coding Dojo Handbook”. I teach for both O’Reilly and  Pluralsight. I’m married to Geoff Bache, creator of TextTest. I am also on Mastodon as emilybache@sw-development-is.social.

Sociala ikoner med hovringseffekt

If you’d like to know a bit more about me, my work, and the talks and workshops I offer, please visit my main website: EmilyBache.com. There, you’ll find information about my background, upcoming events, and the services I provide as a technical coach and consultant. It’s a good place to start if you’re curious about how I can support your team in improving coding skills and agile practices.

Practical Coaching –
Beyond the Blog

If you’re enjoying the insights shared here on the blog, you might enjoy my training too.

“Technical Agile Coaching with the Samman Method” offers a practical guide to improving how developers collaborate and write code. You’ll learn hands-on techniques for Test-Driven Development, Refactoring, and effective team coaching.

To learn more about the book, just click the link below.

Blog categories