Spencer Snyder
spence-s.bsky.social
Spencer Snyder
@spence-s.bsky.social
Full stack js/ts dev. Open Source enthusiast and contributor. Simple is better.
Interesting discussions with some folks on my team who don't like TS. I've went back and forth in my head on "loose" ts that allows any and escape hatches. I think I am personally a purist who likes it strict, but I would argue that "loose" ts is still better than no ts at all.
April 23, 2025 at 1:13 PM
Bluesky has gotten overrun by politics. I really just want to subscribe to programmers and programming, and now those programming posts are like a needle in a haystack.
April 11, 2025 at 1:48 PM
AI is still failing to impress me all that much for coding. Its increased my productivity by a little, but its still wrong or at least really bad most of the time, and just distracts from doing things right. Its been really awesome for brainstorming sessions though.
March 19, 2025 at 2:12 PM
If you have a code nit, you should have a solid reasoning for it that goes beyond "I like it better this way" - think deeper, analyze the tradeoffs, and make a compelling argument for every coding decisions you make.

eslint rules are great for this!
February 12, 2025 at 3:28 PM
One thing that sets SW engineers apart is attention to naming and an attempt to be proper about semantics. Try not to name your business variables which are referring to business logic entities with well known technical terms.
February 7, 2025 at 11:59 AM
Reposted by Spencer Snyder
➡️ January 20: FAA director fired
➡️ January 21: Air Traffic Controller hiring frozen
➡️ January 22: Aviation Safety Advisory Committee disbanded
➡️ January 28: Buyout/retirement demand sent to existing employees
➡️ January 29: First American mid-air collision in 16 years

Making America Great Again!
January 30, 2025 at 3:37 PM
Yellowstone is just redneck Succession
January 30, 2025 at 3:09 AM
Every year I tell myself I am going to make some products and every year I spend all that time coding the perfect tech stack to launch a product without ever launching a product. But this year!....
January 23, 2025 at 7:24 PM
Why is over-engineering the default for many orgs? So much out of the box functionality gets re-written with definitively worse bespoke solutions and its somehow gets sanctioned by the entire team and managers. Arguing "we really don't need that microservice" is a losing battle.
January 17, 2025 at 3:26 PM
In my opinion, the best code is easyish to read and can be understood by reading a file top down, left to right, just like words in a book. The more functions that get called from other places, the more I have to switch focus to read it. DRY is overrated in many situations.
January 15, 2025 at 5:50 PM
It's so frustrating to see the org I am working with constantly making poor technical decisions and to not have the power to influence them in any substantial way.
January 14, 2025 at 3:55 PM
Just binged "Chainsaw Man" as my first new anime of 2025 and it was excellent. Hope they come out with more soon!
January 11, 2025 at 9:24 PM
This year - I am going all in on building with @adonisjs.com. I have been pecking on my custom koajs based framework for years and it's lacking so many features still, that I haven't really built anything substantial with it. Going to switch my focus to a much more mature full stack framework!
January 4, 2025 at 11:20 PM
Wheat thins are the perfect cracker
January 3, 2025 at 4:44 PM
Closing a server and all its socket connections correctly in node.js is confusing.

Server.close
Server.closeIdleConnections
Server.closeAllConnections

When to use them vs packages like stoppable or http-terminator.

It's not 1 size fits all and its terribly documented everywhere.
December 19, 2024 at 3:53 PM
I love ts-expect-error comments. They are invaluable for progressive TS enhancement. They will alert you when they are ready to be removed because your types get better and therefore are way less risky for being a cause of tech debt. ts-ignore comments OTOH have a habit of never getting cleaned up.
December 16, 2024 at 6:47 PM
Sometimes TS adoption is difficult because some popular patterns that are great with JS are not so great with TS. It would be nice to have an educational resource that shows common pattern and mindset switches needed when learning #TypeScript as a JS dev.
December 11, 2024 at 3:29 PM
Every time I time I try to really improve something at work, it's always associated with a lot of scrutiny and with it, a lot of stress and anxiety. OTOH, when I spend a lot of time just knocking out tasks and bugs I get very bored and unmotivated.
December 9, 2024 at 9:37 PM
I don't hear Bear get mentioned all that much when I read about note taking apps, but it's been a core part of my life and work for years now and its simplicity, awesome UI, and quick syncing across ios and mac have consistently met all my needs.

bear.app
Bear
Bear is a beautiful, powerfully simple Markdown note taking app to capture, write, and organize your life.
bear.app
December 8, 2024 at 4:01 PM
Reposted by Spencer Snyder
Setting up ESLint for your project can be tedious.

That's why I love XO. ❤️
It's and opinionated but configurable ESLint wrapper.
github.com/xojs/xo

- zero-config
- batteries 🔋 included
- uses 🦄 unicorn
- full TypeScript support
- IDE extension
- no more code style discussions in the team
GitHub - xojs/xo: ❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults
❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults - xojs/xo
github.com
December 6, 2024 at 11:33 AM
I prefer the strictest possible TS settings with type-aware linting whenever I have control of it. However, I often find TS projects being loosely typed with a lot of strict settings turned off. These projects make me assume I have type safe guardrails when I really don't. Danger.
December 5, 2024 at 8:46 PM
One of the most difficult things about SW engineering to me is knowing when to:

- go with conventions even when you disagree with them
- push back against bad conventions
- do both of the above with tact and empathy
December 5, 2024 at 4:21 PM
Someday, the irrational rage I feel when anyone comments on my PR's is going to get me in trouble. Do you people not even realize how hard I had to prompt AI to get this feature to work?
December 4, 2024 at 10:53 PM
Reposted by Spencer Snyder
Thanks for this @joshuakgoldberg.com - Spencer I've got a rough guide here. Mean to turn it into a proper FAQ for the docs at some point johnnyreilly.com/typescript-e...
typescript-eslint with JSDoc JavaScript | johnnyreilly
You can use typescript-eslint with JSDoc JavaScript to get the benefits of linting powered by type information in a JavaScript codebase; this post shows you how.
johnnyreilly.com
December 3, 2024 at 9:02 PM
Reposted by Spencer Snyder
A new Node.js LTS Release is out! 🥳

v22.12.0 enables require(esm) by default!

Read more about that change and the rest of additions / fixes in our blog post / CHANGELOG: nodejs.org/en/blog/rele...

#nodejs #javascript
Node.js — Node v22.12.0 (LTS)
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
December 3, 2024 at 10:32 PM