3/ Tests are formal properties of system correctness. Some tests are stronger than others. `P => Q` means `!P || (P && Q)`: either P fails or both pass. By the contrapositive, weak tests failing give more information about the bug than strong tests passing
Latest Posts by Kylee Tilley
5/ In general, work that shortens feedback loops is the most valuable "metaproject" work that can be done on a project. Doesn't matter what feedback loop: testing, compiling, deploying, getting customer feedback, analyzing data, whatever
9/ Be Suspicious of Success. If a system is working, look for ways to break it. If it doesn't break, identify the reasons it didn't break, and remove them. If the system still doesn't break, something fishy is going on
Maybe I should start a consulting agency where one of our primary selling points is not outsourcing to AI. 🤔
How do I run this? How do I test this? How will I know if it's not working? How hard is it to know why it isn't working?
Seriously though few things drive me nuts more than a code library/framework with zero usage examples. A more extreme version of this is folks showing off their new toy programming language with ZERO syntax examples...
* A usable README with installation instructions, install/runtime dependencies, how to run it, links to deployed environments, links to logs, links to document not found on the README...
I could go on. Oh and it's a library, please for the love of god, include usage examples...
Some bare minimums, for me, that are surprisingly lacking at so many places I've worked at:
- Notifications that an app/process in an environment is down
- A verification job that gates merging
- Health checks on deployment
- Discoverable and accessable logs
- A usable README*
We still making people do leetcode for interviews? Why? I’ve actually never liked it, but it sure seems silly now.
If you have a name that people always spell correctly, what is that like? I bet it is really cool.
I used to think I always ended up with the weird stories or running in to weird issues on stories. Maybe because of my testing experience. This is a factor but...
I then realized others were just experienced at side stepping wierdness and leaving it for others to deal with.
This also makes prioritizing the pile of feature ideas I've been tossing in as GitHub issues.
I'm feeling a pain point, all this other stuff can wait!
That amazing tipping point where you spend more time using the app than *building it.
* Real building, not vibe building. This post is about the threshold where utility pulls ahead of my love of actually writing code
I'm unrelated news I found a old job that needs to run in lower environments for my current story. The thing is there's no way this has EVER ran in lower environments so now I'm doing the hard work to make it runnable. Woooo.
I used to think I always ended up with the weird stories or running in to weird issues on stories. Maybe because of my testing experience. This is a factor but...
I then realized others were just experienced at side stepping wierdness and leaving it for others to deal with.
Sometimes I wonder if working from home for so long has turned me into a goblin who cannot be trusted to interact with other people without making it weird. Then I remember that I have always been a goblin who cannot be trusted to interact with other people without making it weird.
programmers take notice
Learn to embrace seeing errors sooner. Hiding issues doesn't make them go away 😅
It went well. A couple folks showed up but I know they are interested getting this off the ground and a half dozen others at least joined the chat channel. I'd call it a win.
I'll just leave this here...
I'm trying to start a development (and testing 🤫) community of practice at work and today is the first meeting. I've had luck with starting similar groups in past roles so I'm hoping this goes well.
Kramer saying "Loves it. Eats it up. Eats the slop. Born to slop."
Has software you use gotten significantly worse in the last year or so? It's wild to think it's almost certainly due to all slop being frantically shoveled in to code bases from all angles.
Why are so many errors are pushed to runtime in Groovy? A class/instance missing a field or of a function doesn't exist then make it a compiler error 🙃 This doesn't help anyone move faster.
That's also to say I haven't worked worm some devs that are technically outstanding still in this role but it's been rare.
Kramer saying "Loves it. Eats it up. Eats the slop. Born to slop."
Has software you use gotten significantly worse in the last year or so? It's wild to think it's almost certainly due to all slop being frantically shoveled in to code bases from all angles.
At least some have enough self awareness to work around that but others... 😅
I'm not sure how you can prevent this. They were clearly very talented technical devs at some point but shifting to driving the business seems to degrade that part of the brain.
I've seen so many examples of devs moving up in to business/sales leadership roles, leveling up their ability to talk the talk to sell services but losing the ability to actually walk the walk. It's obvious to devs working with them and even worse when they try to give technical advice to those devs