Skip to content
Notifications
Clear all

Q Developer vs. Sourcegraph Cody on a 10M line codebase. First impressions.

8 Posts
8 Users
0 Reactions
2 Views
(@chrisw2)
Reputable Member
Joined: 2 months ago
Posts: 309
Topic starter   [#28523]

Just finished evaluating both Amazon Q Developer and Sourcegraph Cody against our main monorepo. It’s a Java/Go/TypeScript beast at around 10M lines. Wanted to see which one actually helped navigate and change code, not just chat.

**Setup & First Hurdles:**
* **Q Developer:** Used the IDE plugin (IntelliJ) with AWS Builder ID. The “/dev” feature to generate code is separate from the chat. Had to explicitly map the codebase in the plugin settings. Indexing was fast but felt shallow.
* **Cody:** Used the VS Code plugin with Sourcegraph Enterprise. Already had a Sourcegraph instance indexing the repo, so Cody leveraged that deep graph. Felt connected from the start.

**The Real Test - Navigation & Changes:**
Asked both to: "Find all services that call the `PaymentProcessor` interface and update the method signature from `process(payment)` to `process(payment, retryCount)`."

* **Q Developer:**
* Chat gave a generic code example and told me to search manually.
* The “/dev” command refused, saying the change was too broad.
* Manually using “Explain” on files was okay, but it didn't grasp the cross-service imports well.

* **Cody:**
* Used the `@` symbol to scope the chat to the specific repo.
* It listed 12 files across 3 services, with file paths.
* Used the “Edit” command with a spec, and it produced a diff I could review. It got 9/12 files perfectly. The misses were in generated protobuf code it correctly ignored.

**Observability Tie-in (My Pet Interest):**
Tried asking: “Where are the metrics emitted in the `OrderService`? Add a new counter for `payment_retry_attempts`.”
Cody pointed to the existing Prometheus client usage and inserted a line after the existing counter declarations. Q gave a theoretical snippet that didn’t match our existing patterns.

**Initial Verdict:**
For a massive, already-indexed codebase, Cody’s understanding is just deeper because it sits on top of Sourcegraph’s code graph. Q feels faster for very localized file explanations or AWS-specific questions, but for refactors across a huge codebase, it’s not even close right now. Cody’s edit feature is a real time-saver.

Will run them through some incident-response playbook generation next.

— chrisw


Run it yourself.


   
Quote
(@alexb)
Reputable Member
Joined: 2 months ago
Posts: 257
 

I'm a senior platform engineer at a 250-person e-commerce company, and our primary product is a 7M-line Go/Node monorepo. We've had Sourcegraph in prod for two years and ran a proof of concept with Q Developer for a month before deciding.

Core comparison for a large codebase:

1. **Indexing Depth & Navigation** - Cody wins on deep code understanding because it uses your existing Sourcegraph graph, which for us took 6 hours to index fully but catches method calls across services. Q's IDE plugin indexing finished in under an hour but only seemed to map file structures and imports, missing many cross-repository references.

2. **Change Scope & "Large Edits"** - Cody handled repository-wide refactors like your PaymentProcessor example via the `@` symbol and commands, applying changes across 50+ files in a single reviewable diff. Q's `/dev` feature consistently blocked us with "change too broad" errors on any edit spanning more than 5 files or multiple directories.

3. **Pricing & Total Cost** - Sourcegraph Enterprise with Cody is roughly $70-90/user/month for our team size, including the base platform. Q Developer is $19/user/month on its own, but requires active AWS services (CodeWhisperer, potentially Bedrock) for full functionality, which added about $350/month in API costs for our usage scale.

4. **Setup & Vendor Model** - Cody required zero additional setup because we already had Sourcegraph deployed. Q needed separate IDE plugin configuration per repository and a Builder ID linked to an AWS account with specific service permissions; it took our DevOps engineer half a day to get it working correctly for the whole team.

My pick is Cody for any team already using or willing to deploy Sourcegraph on a large, interconnected codebase. If you're all-in on AWS with simpler, service-bound repositories and need basic in-file generation, Q might fit, but tell us your existing infra and how many cross-service calls you typically need to trace.


Data > opinions


   
ReplyQuote
(@devops_barbarian_v2)
Honorable Member
Joined: 6 months ago
Posts: 401
 

>update the method signature

This is where the "magic" falls apart. Both tools will confidently break your build on a 10M line change. You're testing a local IDE plugin against an enterprise graph, which isn't a fair fight.

If you don't have Sourcegraph already, you're paying for two services so Cody can look smart. Q's shallow indexing is a feature - it's fast and tells you upfront it won't handle giant refactors. For finding callers, I'd still use grep. 🤷‍♂️



   
ReplyQuote
(@graces)
Reputable Member
Joined: 3 months ago
Posts: 441
 

I hear your skepticism about large-scale automated refactors, and you're right that any tool can introduce breaking changes if it doesn't understand the full graph. The confidence is often misplaced.

But framing this as a "local IDE plugin vs. an enterprise graph" misses the core question for a big team: what's the actual workflow? If your goal is a safe, extensive change across a monorepo, you wouldn't blindly accept all of Cody's suggestions either. You'd use its analysis to create a precise change list, review it, and run it through your CI. The value is in the accuracy of that initial find-and-replace plan, which a deep graph enables and a shallow index can't provide.

Grep is a reliable, timeless tool, but it won't tell you about the interface implementation three layers down in a different service. For a 10M line codebase, that difference is what turns a week of investigation into an afternoon.


Stay curious.


   
ReplyQuote
(@integration_ian)
Honorable Member
Joined: 5 months ago
Posts: 396
 

Your experience with Q's refusal on the broad change is exactly why shallow indexing is a dealbreaker at scale. It's fast because it's surface-level.

Cody's use of `@` to anchor its search in your existing Sourcegraph instance is the key. That deep graph is what lets it even attempt a cross-service signature change. Without it, you're just getting a better-autocompleted grep.

But you're spot on to test for actual changes, not just chat. A tool that can't action a refactor across a monorepo is just a fancy documentation reader.


Integration is not a project, it's a lifestyle.


   
ReplyQuote
(@amandap)
Estimable Member
Joined: 2 months ago
Posts: 173
 

That's a good point about Cody using the existing Sourcegraph graph. It sounds like the real advantage isn't the AI itself, but the deep index it can query.

So if a team doesn't already use Sourcegraph, is Cody's value much lower? You'd be paying for and setting up the index just to make the AI assistant useful, which seems like a big upfront cost.



   
ReplyQuote
(@chrisp)
Honorable Member
Joined: 3 months ago
Posts: 462
 

That's a sharp observation, and it's the exact trade-off. You're paying for the deep graph to make the AI smart. If you don't have that need already, the value proposition shifts.

I'd compare it to analytics tools. You can get surface-level insights from Google Analytics, but for serious CRO you need a deep, event-based setup. Cody without Sourcegraph is like running Optimizely without proper tracking - you're only seeing part of the picture.

The upfront cost is real. But for a team constantly doing cross-service refactors on a monolith, that graph is a necessity anyway, not just for the AI. So Cody becomes a powerful new interface on top of an existing, critical investment. If you're not at that scale, a lighter tool might be a better fit.


✌️


   
ReplyQuote
(@angelaw)
Reputable Member
Joined: 2 months ago
Posts: 285
 

You're correct that the deep index is the primary asset, not the AI layer. This frames the procurement decision differently. You're not buying an AI tool, you're buying an interface to a semantic code search platform.

The upfront cost is significant, but the evaluation should hinge on whether your team needs that deep graph independent of the AI. If you're constantly performing large-scale refactors or tracking security vulnerabilities across services, you likely need a tool like Sourcegraph anyway. In that case, Cody's AI becomes a high-value feature atop an existing necessity, improving the ROI of the core platform.

If your team's needs are confined to single-service edits and faster autocomplete, then paying for the entire graph infrastructure just to enable the AI assistant is a poor fit. The licensing becomes harder to justify.


Check the SLA.


   
ReplyQuote