Senior Engineer Diaries: Love Letter to JetBrains
Let’s talk about IDE Stockholm syndrome.
For years, I suffered. I tolerated Eclipse’s crashes and NetBeans’ limitations all while telling myself, “This is fine.” I convinced myself that debugging was supposed to feel like solving a murder mystery, that refactoring was just a fancy word for ‘find and pray,’ and that a slow and laggy IDE was merely part of the job.
Then I met ✨ JetBrains ✨.
And no, this isn’t a sponsored post. It’s a love letter from the trenches, written by someone who’s been burned by every other IDE and finally found something that doesn’t make me want to throw my computer out a window.
Why This Matters
If you’ve ever:
- Waited 10 minutes for Eclipse to “build workspace” (only for it to crash anyway).
- Waiting with anticipation for that autocomplete window to open.
- Spent an hour configuring VS Code to do what IntelliJ does out of the box.
- Alt-Tabbed to Stack Overflow because your debugger refused to show variable values.
- Considered writing code in a plain text editor out of sheer desperation…
…then you’ll get why this isn’t just another “X vs. Y” tool rant. This is a public service announcement for engineers who are tired of fighting their development tools.
What’s in the box?
- The IDE Graveyard: A eulogy for Eclipse, NetBeans, and VS Code.
- The JetBrains Revelation: Why paying for an IDE is the best career decision you’ll make.
- The Good, the Bad, and AI; Spoiler: the JetBrains AI features are mostly not ready, but the rest is cheat-code-level good.
- The Verdict: Why JetBrains is the only IDE I’ll voluntarily defend in an argument.
Let’s dive into the pain, the relief, and the occasional WTF of modern IDEs, a roller coaster of emotions.
IDE Gravyard - a journey
Before ending up with and falling in love with JetBrains IDEs I had a rough journey.
Eclipse: The First Betrayal
Let’s talk about Eclipse, the “industry gold standard” that somehow convinced an entire generation of developers that crashing was a feature, not a bug.
Back when I started with Java and PHP, Eclipse wasn’t just an IDE; it was the IDE. The one everyone used, everyone recommended, and everyone quietly despised. It was the default choice, the safe bet, the thing you installed because “that’s just what you did.” And then you spent the next six months fighting it like a malfunctioning robot.
The autocomplete? A cruel joke. It didn’t just lag; it froze mid-thought, leaving you staring at a spinning cursor while your soul slowly drained out of your body. And god forbid you tried to make it useful by triggering completions on every keystroke. Oh no, Eclipse had standards. It only deigned to suggest code after you typed a . or manually summoned it with Ctrl+Space, as if to remind you, “You don’t deserve help. Prove you’re worthy.”
But the real kicker? Eclipse didn’t just slow you down; it became the bottleneck. Your code was ready. Your brain was ready. The deadline was definitely ready. But Eclipse? Eclipse was too busy loading the void or rendering a blank dialog box or, if you were really lucky, hard-locking your entire workspace because you dared to open a file with more than 500 lines.

At some point, you realize something fundamental: when your IDE is the reason you’re not coding, it’s not a tool. It’s a hostage situation. And that’s when you start Googling “how to make Eclipse usable” at least twice a day and night.
NetBeans: The Underrated Hero
After Eclipse’s daily betrayals, I stumbled upon NetBeans, the IDE equivalent of a reliable, no-nonsense sedan in a world of flashy lemons.
It wasn’t sexy. It didn’t have hype. But holy hell, it worked.
The dark theme? Actually readable, not like Eclipse’s “midnight in a coal mine” aesthetic. PHP, Java, and frontend—it handled them all without drama. Maven integration? Just worked, like a well-oiled machine. Autocomplete? Fast. Reliable. No freezing, no begging, no sacrifices to the coding gods. Projects opened instantly, as if the IDE respected my time.

For the first time, I didn’t feel like I was fighting my tools. NetBeans was the quiet, competent colleague who never stole the spotlight but always had your back. It didn’t crash. It didn’t lag. Likewise, it didn’t make me question my life choices.
But here’s the thing: NetBeans was good—solid, dependable, even enjoyable—but it wasn’t enough. It didn’t accelerate me. It didn’t challenge me. And as I expanded into new ecosystems, it became clear: NetBeans was a workhorse, not a rocket ship. I didn’t just want an IDE that kept up. I wanted one that pushed me forward.
IntelliJ: The Revelation
Then came Minecraft servers, Python scripts, and Vue.js frontends, or, as I affectionately call them, “the projects that made Eclipse weep and NetBeans tap out.”
I needed more. More power. More speed. More sanity. And that’s when I installed IntelliJ.
Refactoring? Forget just renaming variables; IntelliJ understood them. Need to extract a method? A keystroke and a dialog. Convert a for loop to foreach? Two keystrokes. Done. It wasn’t just editing code; it was reshaping it, like the IDE had read my mind and said, “Yeah, that’s garbage. Let’s fix it.”
Debugging? No more lies. No “breakpoint ignored” gaslighting. There are no “variable is not available” excuses. Just honest, instant introspection, as if the IDE wanted me to squash bugs.
And the navigation? Unfairly fast. Ctrl+Click to jump anywhere. Shift+Shift to find anything. Ctrl+E to toggle views like a ninja. It wasn’t just efficient; it felt like cheat codes for coding, like someone had rewired my brain for maximum productivity.

That’s when it clicked: This isn’t just an IDE. This is what happens when a tool actually gives a damn about your work. No delusions of grandeur. No crash-prone nonsense. Just raw, relentless assistance, guidance, detection, and refactoring—like a co-pilot who’s also a genius.
VS Code: The Detour
Oh, VS Code, the “lightweight, modern future” of development, if your definition of “future” includes “spending half your day configuring plugins” and accidentally opting into Microsoft’s data harvest.
The hype was everywhere: “It’s fast! It’s customizable! It’s the future!” The reality? A glorified Notepad++ with a terminal and a guilt trip to sign into your Microsoft account.
Out of the box, it does jack shit. Want IntelliJ-level smarts? Cool. Now install 17 plugins, tweak your settings.json like it’s a dark arts ritual, and cross your fingers that none of them conflict. Debugging? Sure! Just handwrite your launch.json like it’s 2005. Refactoring? Maybe! If your randomly selected plugin hasn’t bricked itself in the last update.

And let’s talk about the Microsoft experience:
- “But it’s open-source!” (Yes, in the same way a toll booth is “free” if you ignore the fees.)
- “But it’s lightweight!” (Lightweight like a bicycle with square wheels—technically true, but why.)
- “But it’s extensible!” (Extensible like a Lego set where half the pieces are missing and the rest are held together by hope and prayers.)
Why JetBrains IDEs Feel Like Cheating
One subscription, all the ecosystems
Yes, I pay for the All Products Pack. No, I don’t feel guilty about it. Why? Because JetBrains doesn’t nickel-and-dime you for basic features. It arms you for war across every ecosystem—Java, Go, Python, Rust, you name it. One subscription, zero apologies.
And the best part? Muscle memory is transferable. Learn IntelliJ, and you already know PyCharm, GoLand, and Rider. It’s like switching between supercars—same luxury, different engines.
Actually Specialized, Actually Consistent
Most IDEs “support” multiple languages the way a Swiss Army knife “supports” surgery—technically possible, but you’re going to have a bad time. JetBrains? They build a dedicated IDE for each. PyCharm for Python. GoLand for Go. Rider for C#. No duct-taped plugins. No “meh, good enough.” Just surgical precision, tailored for every ecosystem.
A Debugger That Doesn’t Gaslight You
Remember Eclipse’s “breakpoint ignored”? Or VS Code’s "Have you tried restarting?" JetBrains’ debugger just works. Breakpoints hit. Variables appear. Stack traces make sense. No excuses. No lies. Just debugging like it’s 2025, not 1995.
Git Integration That Doesn’t Make You Cry
Visual diffs? One click. Blame? One click. Branch management? Not a dumpster fire. Finally, Git tools that don’t require a PhD in conflict resolution.
Database Tools: No More Alt-Tab Hell
Query, edit, and explore, all inside the IDE. SQL autocompletion that knows your schema. Schema navigation that doesn’t feel like archaeology. Your database, your IDE, zero context-switching. And the best part? It even works in SQL snippets inside your code! SQL is detected with astonishing accuracy and gives you SQL help right in your query string inside your code.
Code Completion That Reads Your Mind
Most IDEs complete keywords. JetBrains completes intent. Refactoring? It doesn’t just rename; it previews the fallout before you nuke your codebase.
Indexing: From Nightmare to Superpower
Remember Eclipse’s “Building workspace…” purgatory? JetBrains? Prebuilt indices for public libraries. Smart, incremental updates. And when do I need to index? Parallelized. Blazing fast. Like an F1 pit crew for your codebase.
The Command Palette: Your IDE’s Secret Weapon
Ctrl+Space + Type anything. Settings. Actions. Files. Terminals. Your entire IDE, searchable. Actionable. Instant. Three keystrokes to open a terminal. Two keystrokes to find a file. No mouse. No menus. No struggling with UI designed by committee.
It’s not just efficient. It’s what every other IDE should be ashamed it’s not.
The AI Tools: When “Smart” Isn’t Smart Enough
Junie (Agent): The Overpromised Intern
Let’s talk about Junie, JetBrains’ AI “agent.” Slow as dial-up. Dumber than a rock. More likely to hallucinate than the fresh-from-college, self-taught software developer.
I gave it one week. It gave me nonsense suggestions, ignored context, and wasted my time. Disabled. Uninstalled. No regrets. If this is the future of AI assistants, the future can wait.
JetBrains AI Chat: The One Redeeming Feature
Look, the AI Chat isn’t terrible, if you pick the right model. Claude Sonnet 4? Decent. Everything else? Half-baked.
Pros:
- Code-aware chat means I don’t have to alt-tab to a browser for quick questions.
- Context-aware answers (when it’s not making stuff up).
Cons:
- “Apply snippet”? 50/50 chance it’s wrong or just leaves me waiting, so I copy it manually.
- Often slower than typing it myself.
Useful for quick lookups, useless for real work.
As I am finalizing this blog post, I only gave the new Claude integration for JetBrains Chat a go, and it seems to work considerably better than Junie. It seems to be a viable option while I am not 100% convinced yet.
Full-Line Completion: A Frontend Gimmick
JavaScript/TypeScript? Sure, it sometimes helps with boilerplate. Python/Go/Backend? Turned it off. Why? Because autocompleting garbage is worse than writing it myself.
Frontend devs might like it, due to the fact it was trained on a lot of that code. Everyone else? It’s a distraction.
The Dark Side: Yes, There Is One
The Learning Curve: Climb or Cry
JetBrains IDEs aren’t just tools; they’re ecosystems. And like any ecosystem, they come with their climate, wildlife, and occasional natural disasters. The dark side? The sheer depth of features can make you feel like you’ve accidentally enrolled in a PhD program just to write some code.
The Learning Curve: Climb or Cry
Your first weeks with JetBrains will be less of a learning curve and more of a vertical cliff. You’ll drown in shortcuts, plugins, and settings menus that seem to multiply overnight. It’s not that JetBrains is hard—it’s that it’s deep. And if you’re used to lighter editors, that depth can feel like a black hole for your productivity.
Shortcuts: The Double-Edged Lightsaber
There’s a shortcut for everything. Want to refactor? There’s a shortcut. Need to debug? Shortcut. Want to summon a wild unicorn to write your code? Okay, maybe not that last one, but you get the idea. The problem isn’t that these shortcuts exist; it’s that remembering them all is like trying to memorize the entire periodic table while juggling flaming chainsaws.
Ctrl+Shift+A(Find Action): The Swiss Army knife of JetBrains. Lost? Press this. Need to do something? Press this. It’s the IDE’s way of saying, “Here, let me Google that for you.”Shift+Shift(Search Everywhere): This is the “I don’t know what I’m looking for, but I’ll know it when I see it” button. It’s so good, it should come with a warning label: “May cause addiction.”- The Rest? Good luck. You’ll either memorize them over time or accept that
Ctrl+Shift+Ais your new best friend.
The Secret: Cheat Like a Pro
Here’s the truth: You don’t need to memorize everything. Learn five key commands, and let muscle memory handle the rest. Or, you know, just lean on Search Everywhere like me and pretend you meant to do that.
JetBrains isn’t about memorization; it’s about discovery. And if that discovery involves crying into your shower for a little while, well, welcome to the club.
Performance Quirks: The Need for Speed (and RAM)
JetBrains IDEs are blazing fast when tuned properly, but a sluggish mess if you ignore the maintenance. Out of the box, they might chug like a dial-up modem, but spend 10 minutes tweaking the settings (or throwing more RAM at it), and suddenly you’re flying. Pro tip: Disable plugins you don’t use—each one is like adding a trailer to your racecar.
The Price Tag: Pay Now, Save Later
Let’s address the elephant in the room: JetBrains isn’t free in most cases. But if you code for a living, it’s the closest thing to a productivity cheat code. ROI? If it saves you even an hour a month, it’s already paid for itself. And let’s be honest, if you’re still using a free editor because of “principle,” you’re probably also debugging with print statements and calling it “artisanal.”

The Verdict
- Eclipse: A relic of suffering, best left in the past where it belongs.
- NetBeans: The reliable friend you outgrew, like your first bike with training wheels.
- VS Code: An overhyped distraction for people who love configuring more than coding. It’s the LEGO set of IDEs: it comes with a few instructions, but for it to become really cool, you have to put in significant effort.
- JetBrains: The power tool that scales with your work, feels tailored to every language, and keeps getting better—except for the AI tools, which are still a mixed bag.
JetBrains AI: The Good, the Meh, and the “Why Bother”
- Junie: Still not production-ready. It’s like being promised a self-driving car and getting a go-kart with a “beta” sticker reddit.com.
- Full-line completion: Useful if you’re doing frontend work, but don’t expect miracles for literally anything else.
- AI chat: Solid, if you pick the right model and have patience. The latest update lets you plug in local models (like Sonnet or GPT), which is a step up, but it’s still playing catch-up with the likes of Cursor and CopilotSources.
- The core IDE: Still the best tool for serious coding. If you’re waiting for AI to replace real features, you’ll be disappointed. If you want an IDE that actually understands your codebase and doesn’t treat you like a beta tester, JetBrains is it.
Final thoughts
For me, JetBrains IDEs are without a real alternative. Sure, AI-assisted programming might shake things up in the future, but I’m confident JetBrains will stay on top. They’ve got the mindset, the experience, and the track record to adapt—unlike the competition, which seems to be stuck in either nostalgia or hype cycles.
- NetBeans: It was great for getting started, and honestly, it’s still fine for Java development. But “fine” isn’t why you pay for tools.
- Visual Studio Code: Let’s be real, it’s not an IDE. It’s a glorified text editor with a plugin addiction. If you’re serious about development, it’s like bringing a butter knife to a sword fight.
JetBrains isn’t just an IDE; it’s a development powerhouse. And until something else proves it can keep up, I’m not holding my breath.