You really, really, really don't need an effect! I swear!
Before you write another useEffect, ask one question: is this syncing with an external system? If not, there's a better way.
14 years building exceptional frontend experiences. Now traveling the world to share what really matters about
security, scale, testing, and the future of engineering.
I'm a seasoned software engineer with over 14 years in the tech industry — currently Lead Engineer at Rover.com. Previously Staff Engineer and Technical Co-Founder at CareerOS. I care deeply about testing, accessibility, security, and building software that lasts.
Beyond the code, I'm an international speaker who has taken the stage at React Rally, React Summit, WeAreDevelopers World Congress, Frontmania, KCDC, Techorama, and many more. My talks aren't slides — they're stories. Honest ones, with scars.
I'm the host of Señors at Scale, a podcast for senior engineers navigating the messy reality of scaling applications and teams. And I created the Lizard to Wizard engineering excellence workshop — a sold-out intensive that bridges the gap between "I can code" and "I can engineer."
Real conversations with senior engineers about what it actually takes to scale applications, teams, and careers. No hype. No fluff. Just hard-earned lessons from engineers who've been in the trenches.
The sold-out engineering excellence intensive that bridges the gap between "I can code" and "I can engineer." A full-day hands-on workshop for engineers who want to stop being surprised by senior interviews — and start owning them.
From React Rally to WeAreDevelopers World Congress — every talk, every stage, every topic.
From skepticism to scale: the real trade-offs of adopting micro-frontends, the good, the bad, and the tooling that makes it work.
The engineering excellence workshop in talk form — bridging the gap between 'I can code' and 'I can engineer' with practical, battle-tested techniques.
The anti-patterns, misuses, and common mistakes engineers make with TanStack Query — and how to fix them for real.
An honest story of going from micro-frontend skeptic to practitioner — the architecture choices, the failures, and eventual success.
The most common TanStack Query mistakes and misuses — illustrated with real examples and practical fixes.
From skepticism to scale: what micro-frontends actually look like in production, and why they're worth it.
From skepticism to scale: the real trade-offs of adopting micro-frontends and the tooling that makes it work.
Harnessing AI to become a more productive, future-proof developer — practical strategies for staying relevant as AI transforms software development.
The full playbook: choosing the right tech stack, building a design system, and optimizing React performance at massive scale.
Tech stack selection, architecture, design systems, automated releases, and React performance — all the decisions that matter at scale.
How to scale a JavaScript application while keeping the codebase clean, the team aligned, and the product fast.
Browser bugs, deploy disasters, and the moments every frontend engineer wants to forget — but needs to hear.
How AI tools are reshaping the way we write code — and what that means for engineers building tomorrow's software.
Real-life catastrophes from the frontend trenches — told with humor, empathy, and actionable takeaways.
How to keep your codebase clean, your team aligned, and your application fast when everything is exploding.
From browser bugs to accidental data loss — frontend horror stories that will make you audit your deploy process.
Practical strategies for staying relevant and productive as AI transforms the software development landscape — presented at the world's largest dev conf.
Building secure JavaScript applications when frameworks alone aren't enough to protect your users.
The most common vulnerabilities in modern front-end apps and the practical steps to eliminate them.
The honest trade-offs, architecture choices, and lessons learned from adopting micro-frontends at scale.
The full scaling playbook presented in front of Barcelona's developer community.
The most dangerous and overlooked security vulnerabilities in modern front-end applications.
From skeptic to practitioner: an honest story of micro-frontend adoption, failure, and eventual success.
Real-world architecture decisions for scaling while maintaining code quality and developer happiness.
Building secure JavaScript applications in a world where attackers are more creative than ever.
Testing practices beyond the Testing Pyramid — practical approaches for delivering clean, bug-free code.
Both sides of the interview table: how to prepare authentically and how to spot genuine engineering talent.
An honest story of going from micro-frontend skeptic to practitioner — the good, the bad, and the tooling.
Navigating cultural differences in multi-cultural, remote-first software teams — feedback, deadlines, and inclusivity.
New Array methods, temporal date API, import attributes — all the modern JS features you should be using right now.
Why unit tests matter, how to write the perfect one, and most importantly — when to write it.
What accessibility features web developers must implement — and exactly how to do it without over-engineering.
How to build a design system in Figma and translate it faithfully into a scalable, maintainable frontend application.
Before you write another useEffect, ask one question: is this syncing with an external system? If not, there's a better way.
After running a 30-day React deep-dive, these are the 10 patterns that changed how I write components, manage state, and think about performance.
Skeleton screens break every time you touch the UI. Here's how to build one that reads the DOM and keeps itself in sync automatically.
I started naming my useEffect functions about a year ago. It changed how I read components, how I debug them, and eventually how I structure them.
Benefits and drawbacks of Server-Sent Events vs WebSockets, and when its better to use ach protocol based on your situation.
A chain of vulnerabilities and pretty clever attack strategies led to the compromise of the Cline CLI. Let me explain what happened and what you can do to protect yourself.