Kylee Tilley's Avatar

Kylee Tilley

@testingrequired.com

Changing hearts & minds about development and testing. โค๏ธ๐Ÿง ๐Ÿงช I write all my own posts. Expct typos! Some stuff I work on: https://github.com/kyleect Rarely updated: testingrequired.com

299
Followers
673
Following
1,512
Posts
18.11.2024
Joined
Posts Following

Latest posts by Kylee Tilley @testingrequired.com

Video thumbnail
07.03.2026 22:37 ๐Ÿ‘ 6703 ๐Ÿ” 2514 ๐Ÿ’ฌ 51 ๐Ÿ“Œ 157

Lots of chatter about how software development was never about the code, it was about delivering solutions. But that misses the point. Good software design is about delivering *well-designed* solutions that can evolve and adapt. That takes time, not velocity.

07.03.2026 21:05 ๐Ÿ‘ 4 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Ahh... That's right. I had implemented a hindley-milner type system or a really basic one. I was in the process of implementing generics so now I'm coming back to that mess.

06.03.2026 15:20 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
a man is carrying a camera in front of a sign that says no parking fire lane keep clear at all times Alt: Ron Swanson throwing away his computer into a dumpster

Prototypes that delivery the most value, for me, are ones that can be tossed.

You aren't shipping that prototype code to production are you?

26.02.2026 16:42 ๐Ÿ‘ 2 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Just thinking was about vibe coding and increasingly siloed development, coding agents reinventing more and more wheels...

06.03.2026 04:16 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

What a can of worms that opened.... ๐Ÿ˜…๐Ÿ˜ญ

05.03.2026 23:48 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

So yeah, the feature I'm working on is the first editable Date type we've ran in to. All the other types (strings, booleans) serialize/deserialize as JSON fine so weaknesses in our typescript weren't obvious. Dates in JSON required some more lifting so it became obvious our types were just wrong.

05.03.2026 23:48 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Blueprint/layout of a house

Blueprint/layout of a house

I love this image. It appears to be a reasonable house with a reasonable layout but the longer you look at it the more you realize how poorly it's designed.

This house would be terrible to live in. Building software isn't hard. It's designing it to be livable and maintainable, that's the hard part.

02.12.2024 00:17 ๐Ÿ‘ 5 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 1

This sounds obvious but it's important to reiterate as you can only trust well typed code you've written and tested.

Legitimate sources that should make you question that trust:

- Explicit or inferred "any" type
- Abusing "unknown" types
- Untested code (types can't replace tests)
- Javascript

05.03.2026 16:43 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

You also need to have a realistic understanding of what typescript is. Type safety is literally only at compile time.

05.03.2026 16:43 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

The debugger statement is javascript is great. Breakpoints can shift around during transpiling but the debugger statement is resilient.

05.03.2026 15:55 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
a man in a suit is carrying a stack of pizza boxes . Alt: Troy from Community walking in to pure chaos

Having ADHD and coming back to code you haven't touched in months. So many unstaged changes, project doesn't build...

So in related news my attention has drifted back to programming language design and implementation. ๐Ÿ˜…

05.03.2026 02:39 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I know some folks criticize Typescript type system complexity but honestly it's kind of amazing considering that it's designed to gradually type a dynamically typed language.

Yes, a lot of it's patterns make no sense sense for other languages but it's really brilliant for a language like javascript

05.03.2026 02:23 ๐Ÿ‘ 3 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1
Preview
Exploring new dimensions in glitch with the circuit-bent PS2 | Rob Sheridan Get more from Rob Sheridan on Patreon

I wrote a bit more on the circuit-bent PS2 (with more photos) and how recontextualizing gameplay becomes part of the creative process:

04.03.2026 04:11 ๐Ÿ‘ 20 ๐Ÿ” 4 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I just found out that I've hit merge instead of approve more than once in someone else's PR in the last week... ๐Ÿ˜ตโ€๐Ÿ’ซ

1. That's so embarrassing. I'm mortified.
2. Gitlab's UI is hot garbage

03.03.2026 22:36 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

A group of contractors asked to join already. That will almost double our numbers already.

03.03.2026 20:51 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

It's prep work for a 3 amigos session before I start working on the story. A lot of the time the story is too big or doesn't have enough information.

How the story will be tested or accepted is unclear. If those are unclear how can you possibly start working on something?

03.03.2026 18:41 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The first thing that I like to do after picking up a story is reviewing it then asking some questions

- Does this still need to be done?
- How will I test this?
- How will the stakeholder accept this?

These usually lead to

- Do I have all the information? Is it accurate?
- Is it too big?

03.03.2026 18:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

One of the worse things you can do when picking up a new story is start writing code.

In my experience it's rare that a story has enough information or that information is accurate. Even a story refined the day before could be out of date. I've seen that happen.

03.03.2026 18:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I've been trying to get a developer community of practice going and just got the first meeting scheduled. ๐Ÿคฉ

03.03.2026 18:25 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Some how Google's search results continuously get worse. A lot of results aren't related to my query at all. Kill search engines so they can sell you language models?

03.03.2026 00:46 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Claude is down so developers: this is a "take your brain to work" day.

02.03.2026 14:21 ๐Ÿ‘ 7 ๐Ÿ” 3 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

compiler people love to complain that users only care about syntax... but syntax is the primary affordance that users use to interact with your tool! of course it's massively important what that syntax is!

19.02.2026 18:45 ๐Ÿ‘ 36 ๐Ÿ” 3 ๐Ÿ’ฌ 9 ๐Ÿ“Œ 0

This has really helped me stay focused and making actual progress on building something useful.

27.02.2026 22:49 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

My projects often have a lot of features I want to implement. I've started defining 3 milestones to throw stories in to:

1. MVP - Bare minimum and should be done first
2. Refined - Easy to medium lifts that support the MVP version
3. Polished - Medium to hard lifts to enhance the refined version

27.02.2026 22:49 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Rust's Golden Rule Blog post: Rust's Golden Rule by Steve Klabnik
27.02.2026 15:57 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

One thing I've learned from technical coaching is the gap between desire and effort can be (and often is) vast. Lots of folks wanting to improve...

18.02.2026 13:57 ๐Ÿ‘ 1 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
a man is carrying a camera in front of a sign that says no parking fire lane keep clear at all times Alt: Ron Swanson throwing away his computer into a dumpster

Prototypes that delivery the most value, for me, are ones that can be tossed.

You aren't shipping that prototype code to production are you?

26.02.2026 16:42 ๐Ÿ‘ 2 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

It's great when it works but I'm using watchexec in there, running the server and frontend in parallel (for hot reloading). If something really fails to build it's not always obvious until you go look at the running justfiles output.

26.02.2026 16:39 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I think the biggest pain points I have with this setup is the large amount of orchestration I have defined in justfiles. On save the types are recompiled, then the frontend (which pulls in the compiled and transpiled types), then the server is built (embedding the built frontend files).

26.02.2026 16:39 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0