James W.
@jamesrwilliams.ca
Principal software engineer at Plusgrade. Based in Ontario, Canada. Open to conversations about front-end architecture, engineering culture, and the messy reality of technical leadership.
https://jamesrwilliams.ca
https://jamesrwilliams.ca
I wish Shadow traffic testing was as cool as it sounds but excited to use it in an enterprise production environment soon!
November 8, 2025 at 12:33 AM
I wish Shadow traffic testing was as cool as it sounds but excited to use it in an enterprise production environment soon!
Can you answer for the mistakes in your AI generated code? You should reap the rewards, and the blame. timkellogg.me/blog/2025/09...
How I Use AI
timkellogg.me
September 23, 2025 at 1:58 PM
Can you answer for the mistakes in your AI generated code? You should reap the rewards, and the blame. timkellogg.me/blog/2025/09...
Don't animate height!
Don't animate height!
Jim Fisher
www.granola.ai
July 14, 2025 at 7:10 PM
Don't animate height!
Your Small Imprecise Ask Is a Big Waste of Their Time
Your Small Imprecise Ask Is a Big Waste of Their Time
When managers and leaders don’t specify the expected time investment of an ask, the time that is invested is almost never what was intended.
staysaasy.com
July 9, 2025 at 7:10 PM
Your Small Imprecise Ask Is a Big Waste of Their Time
“Discovery Coding” a great term for something I do a fair bit of. Sometimes you just need to ‘flail away at the goddamn thing’ to truly understand what you’re solving.
Discovery Coding
Discovery coding is a practice of understanding a problem by writing code first, rather than attempting to do some design process or thinking beforehand.
jimmyhmiller.com
July 9, 2025 at 3:08 AM
“Discovery Coding” a great term for something I do a fair bit of. Sometimes you just need to ‘flail away at the goddamn thing’ to truly understand what you’re solving.
What if the real skill isn’t technical mastery? notashelf.dev/posts/curse-...
The Curse of Knowing How, or; Fixing Everything | BlogGitHubTwitterRSS FeedGit Branch
A reflection on control, burnout, and the strange weight of technical fluency.
notashelf.dev
May 6, 2025 at 9:55 PM
What if the real skill isn’t technical mastery? notashelf.dev/posts/curse-...
One of the more interesting “firsts” of this year has been being a certain popular online collaboration tools first enterprise tier migration to a competitor. We used their service so much their export tooling just times out 🤷
April 10, 2025 at 9:58 PM
One of the more interesting “firsts” of this year has been being a certain popular online collaboration tools first enterprise tier migration to a competitor. We used their service so much their export tooling just times out 🤷
Product management is broken. Engineers can fix it
Product management is broken. Engineers can fix it
How we've redefined the PM and engineer relationship
newsletter.posthog.com
April 3, 2025 at 7:10 PM
Product management is broken. Engineers can fix it
Separation of concerns in a bug tracker
Separation of concerns in a bug tracker
[Simon Tatham, 2024-11-01]
www.chiark.greenend.org.uk
March 27, 2025 at 7:10 PM
Separation of concerns in a bug tracker
Developing engineering talent - LeadDev
Developing engineering talent
Learning how to support the learning of your teammates
leaddev.com
March 18, 2025 at 7:10 PM
Developing engineering talent - LeadDev
“To ensure development doesn’t slowly grind to a halt, we need to ensure our code creates more value than debt.” Is all code tech debt?
All code is technical debt
As adding more code to a product will slow down development, we should view all code as technical debt.
www.tokyodev.com
March 17, 2025 at 7:10 PM
“To ensure development doesn’t slowly grind to a halt, we need to ensure our code creates more value than debt.” Is all code tech debt?
Not a post but more an IDE specifically designed for code exploration: Haystack
Haystack
The canvas-based IDE that makes navigation and refactoring 10x faster
haystackeditor.com
March 14, 2025 at 7:10 PM
Not a post but more an IDE specifically designed for code exploration: Haystack
When Imperfect Systems are Good, Actually: Bluesky's Lossy Timelines · Jaz's Blog
When Imperfect Systems are Good, Actually: Bluesky’s Lossy Timelines
By examining the limits of reasonable user behavior and embracing imperfection for users who go beyond it, we can continue to provide service that meets the expectations of users without sacrificing…
jazco.dev
March 13, 2025 at 7:10 PM
When Imperfect Systems are Good, Actually: Bluesky's Lossy Timelines · Jaz's Blog
Crafting a software system can be challenging, but attempting it a second time might prove beneficial.
Why you should "design it twice"?
Designing software is tough. I think we can all agree on that. No matter how much experience you have, your first idea about how to structure a module or system is usually not the best one. I had to l
www.16elt.com
March 11, 2025 at 7:10 PM
Crafting a software system can be challenging, but attempting it a second time might prove beneficial.
Code is always addressed to someone. As Structure and Interpretation of Computer Programs puts it, “programs must be written for people to read, and only incidentally for machines to execute”
March 10, 2025 at 7:10 PM
Code is always addressed to someone. As Structure and Interpretation of Computer Programs puts it, “programs must be written for people to read, and only incidentally for machines to execute”
What a lovely problem to have, turning systems off -
So You Want to Turn Something Off?
Retiring software systems is hard work. Here are some tools and techniques to make the process run smoothly
medium.com
March 7, 2025 at 8:10 PM
What a lovely problem to have, turning systems off -
Boring is often better -
Stick to boring architecture for as long as possible
“Stick to boring architecture for as long as possible, and spend the majority of your time, and resources, building something your customers are willing to p...
addyosmani.com
March 6, 2025 at 8:10 PM
Boring is often better -
Why writing small docs is a game changer - bufferbuffer.com/why-writing-...
Why writing small docs is a game changer – BufferBuffer
bufferbuffer.com
March 6, 2025 at 2:35 AM
Why writing small docs is a game changer - bufferbuffer.com/why-writing-...
Documentation is Like Time Travel:
- Write it for your future self
- Assume your future self is very angry with your present self
- Also assume your future self has forgotten everything
- Write it for your future self
- Assume your future self is very angry with your present self
- Also assume your future self has forgotten everything
December 8, 2024 at 4:59 PM
Documentation is Like Time Travel:
- Write it for your future self
- Assume your future self is very angry with your present self
- Also assume your future self has forgotten everything
- Write it for your future self
- Assume your future self is very angry with your present self
- Also assume your future self has forgotten everything
"Lets just have a meeting" is the second most dangerous phrase in effective software teams. Great article covering the often unseen costs of over-collaborating malcolmbastien.com/2024/09/16/t...
The Hidden Costs of Over-Collaboration
In the wake of Agile’s success and the benefits it offers organizations to help them achieve faster delivery, happier customers, and more engaged teams, “Collaboration” has become…
malcolmbastien.com
November 18, 2024 at 2:38 PM
"Lets just have a meeting" is the second most dangerous phrase in effective software teams. Great article covering the often unseen costs of over-collaborating malcolmbastien.com/2024/09/16/t...