Sign in

Cathal Mac Donnacha

@cathalmacdonnacha.com
81 followers 168 following 125 posts

Principal Frontend Engineer @wpengine. Follow along for frontend tips on React ⚛️ Testing 🧪 UI/UX 🖥. My blog ✍️ cathalmacdonnacha.com

PostsRepliesMedia
Cathal Mac Donnacha @cathalmacdonnacha.com · 05/03/2026
If you're still using Jest, you may find this article useful to help speed up your tests. cathalmacdonnacha.com/fixing-slow-... #frontend #jest #testing
cathalmacdonnacha.com
110
Cathal Mac Donnacha @cathalmacdonnacha.com · 04/03/2026
claude --worktree is amazing 🤌
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 05/09/2025
What are some ways AI tools have helped you with your frontend projects? Specifically the design side. #frontend #ai #claude #chatgpt #webdev
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 21/08/2025
I tend to use pagination when users need shareable links or to give a sense of how much data is left (e.g. “page 3 of 10 in blue t-shirts”). Use virtual scroll for endless browsing (e.g. social feeds). 📑 Pagination = easy to share & measure. 📜 Virtual scroll = easy to scroll. #frontend #ux #webdev
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 27/07/2025
When diving into a new codebase I find that tests serve as the best documentation. #software #webdev #programming
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 17/07/2025
I guess ChatGPT is training itself on my blog now 😂 #blogging #chatgpt #software
Screenshot of referrers from a blog (http://cathalmacdonnacha.com/)
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 18/06/2025
TIL: Chrome Dev Tools has an accessibility view ♿️ #frontend #chrome #webdev
accessibility view in chrome dev tools elements tab
120
Cathal Mac Donnacha @cathalmacdonnacha.com · 14/06/2025
This is a real level headed take on AI and the perceived notion that it's going to completely take over software engineering roles: youtu.be/mbEzhI3cmmo?...
youtu.be
The Truth About Software Development with Carl Brown | Better Offline
YouTube video by Better Offline
010
Reposted by Cathal Mac Donnacha
React @react.dev · 22/04/2025
React Compiler RC is now available! We've added support for swc and are working towards a stable release react.dev/blog/2025/04...
react.dev
React Compiler RC – React
The library for web and native user interfaces
010625
Cathal Mac Donnacha @cathalmacdonnacha.com · 03/04/2025
Before I begin any refactoring, I always have a look at the tests first to make sure they're up to scratch. This way I can be fairly confident that I won't break anything in the process. Emphasis on "fairly". 😂 #software #programming #frontend
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 02/04/2025
"To persuade a few is better than to convince many." This has always been my approach when introducing any new tools or patterns to wider teams. #software #programming #frontend
120
Cathal Mac Donnacha @cathalmacdonnacha.com · 02/04/2025
The first thing I do when I want to familiarize myself with a new area in a codebase is check out the tests. Tests are a great form of documentation. #frontend #software #programming
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 01/04/2025
🔥 Want to improve UX on your frontend? Don't make users think. Keep it simple, intuitive, and effortless. The best UX is invisible - it just works. #ux #frontend
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 31/03/2025
Even though it's been out for years now, I feel like using React Query as an async state manager is a highly underrated and underused feature. tkdodo.eu/blog/react-que… #reactjs #frontend
tkdodo.eu
021
Cathal Mac Donnacha @cathalmacdonnacha.com · 30/03/2025
It's important to have a healthy mindset towards feedback or setbacks. View them as opportunities to improve yourself. Focus on being constructive and solutions-focused rather than emotions-driven. #software #programming
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 28/03/2025
"Writing code in JavaScript feels like skydiving without a parachute"
media.tenor.com
a man in a suit and tie is sitting in a chair with his eyes closed and the word agreed written on his face .
ALT: a man in a suit and tie is sitting in a chair with his eyes closed and the word agreed written on his face .
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 28/03/2025
Starting a "brag document" was one of the best things I did for my career. It saves you a ton of mental effort and scrambling when those performance reviews come around! www.youtube.com/watch?v=gbkv... #software #career
youtube.com
The Easy Way To Document Your Accomplishments
YouTube video by A Life Engineered
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 27/03/2025
Every #reactjs developer should read this: react.dev/learn/you-mi...
react.dev
You Might Not Need an Effect – React
The library for web and native user interfaces
020
Cathal Mac Donnacha @cathalmacdonnacha.com · 27/03/2025
Sometimes I break production on purpose just so our users can appreciate how nice our error page is. 😁 #software #frontend #WebDevelopment
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 26/03/2025
Why it's important to clean up feature flags 👇
100
Cathal Mac Donnacha @cathalmacdonnacha.com · 26/03/2025
Why I don't like Snapshot Testing 👇 - Takes a lot of effort to understand if the failure is expected. - Hard to evaluate if you're even testing your component correctly (compared to specific assertions). - Often blindly updated without checking if it was a legitimate failure.
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 05/01/2025
"The Staff Engineer's Path" by @whereistanya.bsky.social is a great book for anyone new to technical leadership.
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 04/01/2025
There's no point looking back, because we're not going that way.
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 28/12/2024
❌ Avoid storing derived state like totals, filters, or counts in useState. ✅ Calculate derived values directly in render from the existing state or props. Simple, clean, and avoids bugs caused by syncing issues! Learn more here: react.dev/learn/you-mi...
Code example showing redundant state along with a better alternative where you simply derive state.
020
Reposted by Cathal Mac Donnacha
Visual Studio Code @vscode.dev · 27/12/2024
Claude 3.5 Sonnet, directly in VS Code. Available to everyone today with GitHub Copilot Free. Learn more: aka.ms/copilot-free
A screenshot of Copilot Chat in VS Code focused on the model picker which shows Claude 3.5 Sonnet (Preview) and GPT 4o
0639
Cathal Mac Donnacha @cathalmacdonnacha.com · 23/12/2024
Introducing new tools or patterns? ✅ Focus on persuading a few key advocates rather than convincing absolutely everyone. A few believers can spark wider adoption far more effectively. #software #webdev #frontend
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 18/12/2024
🔥 For actions that require sign in, avoid having a user perform the same action twice. 1. User clicks the like button on a comment. 2. User is asked to sign in. 3. User signs in successfully. ✅ Result: Comment should be displayed again and liked. #ux #webdev #frontend
100
Cathal Mac Donnacha @cathalmacdonnacha.com · 16/12/2024
✅ It's a good idea to set focus to the first input field when loading a page or popup modal. ❓Is there any reason you wouldn't want to? #ux #frontend
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 15/12/2024
💻 Being able to communicate technical information to a non-technical audience is such an underrated skill. ❓Have you had to do this in the past? #software
010
Reposted by Cathal Mac Donnacha
Cory House @housecor.com · 04/12/2024
I’ve found the fewer environments a software team has the better. Every additional environment adds cost, management overhead, out of sync risk, and delays deployment. My ideal? Just two environments - Dev and prod. Merge to main auto deploys. Feature flag as needed. 🔥
7263
Cathal Mac Donnacha @cathalmacdonnacha.com · 10/12/2024
🎄Have some fun with your mock/test data. Instead of "TestUser1", "TestUser2", pick some characters from your favourite TV shows. Omar Little and Saul Goodman often make an appearance in my tests. 😁 #frontend #software #webdev
media.tenor.com
a close up of a man 's face in a dark room .
Alt: Omar Little agreeing with a statement, saying "oh indeed".
110
Reposted by Cathal Mac Donnacha
James Arthur @thruflo.com · 03/12/2024
Next.js and Remix's focus on SSR has added cruft and complexity to the core React use case of building interactive apps. @tanstack.com is the antidote to this: an opinionated framework that actually helps you get stuff done rather than forcing you to optimise for someone else's e-commerce use case.
4192
Cathal Mac Donnacha @cathalmacdonnacha.com · 03/12/2024
How am I just now discovering "Design Mode" in Chrome DevTools? ⭐️ 💻 #ChromDevTools #frontend #webdev
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 28/11/2024
Using TanStack Query's 'Optimistic Updates' pattern is one of the best ways to improve the UX. 🚀 Just make sure it's the right fit: ✅ Great for scenarios with high success likelihood (e.g. likes, toggles). ❌ Avoid for critical, high-risk actions or long flows (e.g. payments, irreversible changes).
020
Cathal Mac Donnacha @cathalmacdonnacha.com · 27/11/2024
Ever wondered when you should adopt a new CSS feature? Read this 👇
020
Cathal Mac Donnacha @cathalmacdonnacha.com · 27/11/2024
Just updated all of my articles 🦋 😀
Reference to Twitter being replaced with BlueSky
020
Cathal Mac Donnacha @cathalmacdonnacha.com · 27/11/2024
I'm surprised to see how often "data-testid" is still used. I find it much more beneficial to avoid implementation details like that, and to focus on testing user interactions and elements users can actually see on screen. #frontend #webdev #testing
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 24/11/2024
Having solid ESLint and Prettier rules is one of the best ways to avoid nitpicks during PRs and keep consistent patterns across your project. #webdev #frontend
120
Cathal Mac Donnacha @cathalmacdonnacha.com · 23/11/2024
The #1 best state manager in 2024 is...the URL. 😁 It's simple, it's global, and can be accessed from anywhere. #webdev #frontend
280
Cathal Mac Donnacha @cathalmacdonnacha.com · 23/11/2024
Typescript highlighted a really dumb mistake I made recently and I just thought to myself how many hours I could have potentially wasted trying to debug it.
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 23/11/2024
One thing I hear often is "how do we test our app in all languages/ translations?" ✅ Recommendation: Just test with the default language. It's a good idea to test that changing a language does actually apply translations, but outside of that I don't think it's worth the time investment. #webdev
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 22/11/2024
Want to improve the UX on your frontend? Don't make users think. Keep interfaces simple, intuitive, and free of unnecessary complexity. Great UX is about making the user's journey effortless and enjoyable. #frontend #userexperience #uxdesign #webdev
030
Cathal Mac Donnacha @cathalmacdonnacha.com · 21/11/2024
Complex tests are often a symptom of complex solutions. #software #programming #webdev
230
Cathal Mac Donnacha @cathalmacdonnacha.com · 20/11/2024
Before I begin any refactoring in a new area, I always have a look at the tests first to make sure they're up to scratch. This way I can be fairly confident that I won't break anything in the process. Emphasis on "fairly". 😂 #software #programming #frontend #webdev
010
Cathal Mac Donnacha @cathalmacdonnacha.com · 20/11/2024
This is the best feed 👇 Posts from people you follow without reposts and replies.
000
Cathal Mac Donnacha @cathalmacdonnacha.com · 19/11/2024
🐛Every time you fix a bug, you should be writing a test for it so that it doesn't reoccur. #software #programming #webdev
480
Cathal Mac Donnacha @cathalmacdonnacha.com · 18/11/2024
I prefer video tutorials over text-based ones. I think it's because I can follow and code along with someone, pause, rewind etc. How do you like to learn? #Software #programming #javascript #webdevelopment #frontend #react
440
Cathal Mac Donnacha @cathalmacdonnacha.com · 18/11/2024
Ask 3 devs to define an end-to-end test and you'll get 5 different answers. #testing #software #programming
020
Cathal Mac Donnacha @cathalmacdonnacha.com · 15/11/2024
🚀 Run this command if you ever want to delete all local git branches except for "main". #git #development #software #programming
020
Cathal Mac Donnacha @cathalmacdonnacha.com · 15/11/2024
I'm looking forward to the day where we test in the browser by default without any trade-offs. JSDOM will be a distant memory.
230