, I’ll cover my experience on how you can get the most out of Claude Code. Claude Code is a powerful coding command-line interface (CLI) tool. You can open it directly in your terminal and start coding.
This makes it an effective tool both for proficient coders familiar with a terminal. However, it also works well for non-technical people, since they can code simply by typing natural language, and don’t have to interact with a complicated IDE.
In this article, I’ll cover why you should consider using Claude Code for coding, highlighting its effectiveness at implementing code with little to no manual review. Furthermore, I’ll cover some specific techniques I utilize to get the most out of Claude Code, before highlighting some limitations of Claude Code.
I am not affiliated with Claude Code, and I’m simply writing this article from my experience using the tool.
This infographic covers the main highlights of this article. I’ll discuss how to get the most out of Claude Code, covering why and how to use it. Furthermore, I’ll discuss a few specific techniques I utilize to maximize Claude Code effectiveness, including using plan mode, agentic memory, and having an automation mindset. Image by Gemini.
Why use Claude Code
If you want to practice coding nowadays, you should embrace agentic coding. I think this applies whether you just started programming or if you’ve been programming for 10+ years. All of us should be leveraging coding agents to become more efficient engineers.
Now you have a large variety of such tools to choose from. Claude Code is one of several CLI tools, with some other options being OpenAI Codex or Gemini CLI. These CLI tools are good if you don’t need to look at the code you’re developing, typically for simpler implementations or bug fixes.
However, I am noticing more and more that my coding agents are able to implement larger scale implementation with fewer and fewer errors, which is noteworthy. I believe we’ll soon be in an era where coding agents are doing all coding (you could also argue we’re already there), and in such a scenario, CLI tools will be powerful, since you never have the need to look at any code.
If you do want to look more at the code, however, you can consider more integrated agentic coding experiences, in tools such as Cursor or Antigravity, which are forks of VS Code, but with agentic functionality deeply integrated into the application.
I like using both CLI’s and IDEs for agentic coding. If I want to code without performing manual reviews of the code, I tend to use Claude Code more and more. I think scenarios where you should strongly consider utilizing Claude Code are:
- You’re fixing a bug
- You’re investigating production logs
- You’re implementing an easy or medium difficulty feature
If you’re in any of these situations, or similar, I strongly urge you to try out Claude Code, or any other CLI coding tool, and see how well it performs.
Techniques I use
In this section, I’ll cover some of the techniques I utilize to get the most out of Claude Code. Each subsection will cover a specific technique, including why I think it’s important.
Slash commands
Slash commands are prompts that you store for easy access. You typically do this on a prompt you run on a regular basis, such as:
- Investigating production logs
- Creating a PR
- Checking if code is production-ready
The moment I realize I’m running a prompt for the second time, I create a slash command with the prompt. This makes it far more efficient to run the prompt in the future, since I can simply call the command starting with a slash (/), instead of typing out the prompt every time.
The main reason for using slash commands is time savings and consistency. Writing out prompts takes time, of course, and furthermore, you’ll often be inconsistent when writing out the same prompt multiple times.
For example, if you have a prompt for checking if code is production-ready, you might have a checklist the agent should go through, such as:
- Looking for missing types
- Running pre-commit checks
- Spinning up the Docker image
However, if you’re typing out the prompt every time, you risk forgetting any of these points, which then makes the agent less effective.
User memory and project memory
I’m also a heavy user of both the user memory and project memory in Claude Code. User memory is the memory that applies to all of your Claude code sessions, while project memory is the memory that only applies to the folder and subfolders you’re currently working in.
I utilize the user memory whenever I want Claude to remember specific preferences I have that apply across repositories. This is for example:
- How to create good PR’s
- How to check production logs
- Information about my IaC stack
If I have preferences that only apply within a specific project (or at least that don’t apply to all my coding projects), I store them in the project memory, in a file called AGENTS.MD. I tend to use AGENTS.md instead of CLAUDE.md, because then all my coding agents will find the file, for example, if I decide to try Cursor or other tools in the future.
Utilizing memory is important, since it prevents Claude Code from making the same mistake twice. If Claude used the wrong table name or checked the wrong log group, you can store in its memory which mistake it made, and the correct table name and log group name. When you interact with Claude Code in the future, it will then remember this information and be more efficient next time.
If you continue doing this for all the mistakes Claude Code makes, it will be personalized to your codebase and preferences and will be far more effective for you as a coding agent.
Plan mode
Plan mode is also incredibly important when using Claude Code. Plan mode is essentially the ambiguity killer. When you prompt Claude Code in plan mode, it will analyze your prompt and codebase and ask questions about anything that’s unclear or ambiguous.
Plan mode is the ambiguity killer
This is super helpful, since it’s close to impossible to write a completely unambiguous prompt, and having Claude Code identify unclear parts of your prompt and ask you questions about it is a good way to align on how a coding implementation should be done.
I probably start 90% of my Claude Code sessions with plan mode; the only exceptions are when I’m doing some super simple fixes or simply writing experimentation code. I recommend trying plan mode as much as possible, and only not using it when you truly feel it’s not necessary.
Do everything with Claude
My last tip is that only your imagination limits what you can do with Claude Code. For example:
- Do you want to make a presentation? Ask Claude to make a presentation in Latex Code
- Do you want to analyze CloudWatch logs? Give Claude AWS permissions and have it analyze for you
- Do you want to build a portfolio website? Have Claude vibe it up and deploy it to Vercel. You don’t even have to leave the terminal
The possibilities are endless, and I strongly urge you to use the following mindset:
Whenever you encounter a problem, you should think: How can I solve and automate this using Claude Code
This mindset will save you a lot of time, since you’ll realize that a lot of tasks can be solved by simply providing Claude with the required permissions, and let it attempt to solve the problem for you.
Challenges with Claude Code
I’ve mentioned a lot of positive sides of Claude Code in this article, because it’s a really good tool that makes me far more effective as an engineer. However, there are also some downsides to Claude Code.
The number one issue I have with Claude Code is that it’s a bit slow sometimes, especially when I compare it to using Cursor. This happens even though I’m using Claude Sonnet 4.5 or Claude Opus 4.5 in Cursor.
I’m not entirely sure why this is the case, but I often find that when analyzing log groups or performing simple fixes, Claude in Cursor is simply faster than using Claude Code.
Another downside to Claude Code is that it’s purely terminal-based. If you want to understand your code better and review it, I would encourage you to use an IDE instead. It should also be noted that there exists a Claude Code extension for VS Code, which can be installed in any VS Code fork as well, such as Cursor.
Conclusion
In this article, I’ve talked about Claude Code, covering why and when you should utilize the tool. I highlighted that Claude Code excels at coding when you don’t need to perform manual reviews of the code, which is more and more often the case with the rapid improvements in LLMs. I then covered specific techniques I use to get the most out of Claude, such as heavy usage of memory and plan mode, as well as trying to apply Claude Code to nearly every problem I encounter. I believe coding agents are here to stay, and that you should embrace the technology as much as you can. You should constantly be testing the limits of what these coding agent tools can do, in order to become as effective an engineer as possible.
👉 My Free Resources
🚀 10x Your Engineering with LLMs (Free 3-Day Email Course)
📚 Get my free Vision Language Models ebook
💻 My webinar on Vision Language Models
👉 Find me on socials:
📩 Subscribe to my newsletter
🧑💻 Get in touch
🐦 X / Twitter
✍️ Medium

