Silas Candiolli | Java Maple Leafs by Silas Candiolli

All issues

Java Maple Leafs: Why "Just Use Copilot" is Terrible AI Strategy

What happens when you give an entire engineering org unconstrained access to tools like GitHub Copilot or Cursor? Chaos. 


We've entered the era of the "AI First Developer," but treating AI like magic pixie dust makes code reviews a nightmare. Suddenly, your Senior Devs are staring down massive PRs generated by an enthusiastic junior who just clicked "Accept" fifty times.


In my latest chat with Julio Falbo, we got deep into the trenches of AI in the modern codebase. He made a crucial distinction between the "Data/MLOps Engineering" side and the "AI First Engineering" side. 


If you just hand out AI tools without context, you break your own internal patterns—like your company's specific testing frameworks or custom abstractions. As Julio pointed out, without guardrails, AI models will generate code that works in a vacuum but fundamentally violates your architecture.


The real Staff-level challenge right now is acting as the bridge. It means stepping back to set up the organizational rules. For instance, setting up a Retrieval-Augmented Generation (RAG) system that feeds your company's Confluence docs, ADRs, and internal codebase rules into the tool before anyone writes a single line. 


Julio also highlighted a very practical problem: developers using overly complex "reasoning" models (like Claude 3.5 Sonnet or Opus) for trivial tasks, burning insane amounts of budget when a cheaper, faster model like Qwen or Haiku would do. Your job isn't to just use AI—it's to match the right AI model cost and capability to the specific engineering task.


Key Takeaways:


Implement Organizational Guardrails: Don't let AI operate blindly. Use features like Cursor's Organizational Rules or internal RAGs to enforce your company’s specific coding patterns and testing conventions (like the AAA pattern).


Right-Size Your Models: Not everything needs a reasoning model. Stop burning expensive Opus tokens for simple unit tests. Create usage guidelines for when to apply different base, chat, or reasoning models.


AI Changes the Review Process: Reviewing AI-generated code requires shifting focus. You must ensure the context given to the AI was correct, as the resulting logic might run flawlessly but fail to fit your system's design.


Watch to the full deep dive here: https://www.youtube.com/watch?v=ReP23HQwe3A


How are you handling this in your architecture? Hit reply.


Cheers,


Silas Candiolli


P.S. Stay tuned for Part 3 where we detail the cold, hard truths of observability—and why you should stop setting up alerts that wake you up for no reason.

Share
Get the next issue in your inbox
Free, and you can unsubscribe any time.

0 comments

More issues

All 5 →
#3 Mar 4, 2026

Java Maple Leafs: The "Egoless" Path to Staff Engineer

Read issue →
#2 Nov 10, 2025

In 2 hours....Java Maple Leafs with Gerald, Keep on a technical career and keep growing 🇨🇦☕

Read issue →