Jessica Joy Kerr Profile Banner
Jessica Joy Kerr Profile
Jessica Joy Kerr

@jessitron

Followers
36,931
Following
2,405
Media
1,177
Statuses
21,683

Symmathecist, @honeycombio . Tweets are mine, license CC0. @jessitron @hachyderm .io pronouns=she/her “There is always more to discover if you pay more attention.”

St. Louis, MO
Joined November 2006
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@jessitron
Jessica Joy Kerr
4 years
I don’t wanna “build software” so much as build understanding and express it in software.
23
244
1K
@jessitron
Jessica Joy Kerr
5 years
Computer Science Principles: 1. Binary 2. Photoshop This is a real book!!?
Tweet media one
Tweet media two
108
426
2K
@jessitron
Jessica Joy Kerr
5 years
Abstraction is a great tool and a terrible goal.
36
561
2K
@jessitron
Jessica Joy Kerr
6 years
Software is not a craft. Nor is it an art. Nor is it engineering, or architecture, or anything we've ever before. I now have words for what development is: the practice of symmathesy.
63
685
2K
@jessitron
Jessica Joy Kerr
9 years
Great code doesn't come from an environment of fear, pressure, worry whether we belong. It comes from welcoming and interchange of ideas.
23
1K
2K
@jessitron
Jessica Joy Kerr
6 years
OH: “you can build anything in C” is true, like “you can count to any number”
21
343
2K
@jessitron
Jessica Joy Kerr
5 years
When we rush development, skip tests and refactoring, we get “Escalating Risk.” Please give up the “technical debt” description; it gives businesspeople a very wrong impression of the tradeoffs. From @Janellekz #deliverAgile
Tweet media one
26
794
2K
@jessitron
Jessica Joy Kerr
6 years
Me: <tries to explain software> He: so it’s kinda like a genie problem, you need to word your wish better? Yes. Exactly.
23
437
1K
@jessitron
Jessica Joy Kerr
2 years
If you try to schedule a meeting with me at 5pm on a Friday, you will see that I am busy.
Tweet media one
33
79
1K
@jessitron
Jessica Joy Kerr
7 years
Don’t organize code according to its job title (model, view, utility); sort it according to its purpose (feature). This reveals interdependency between features, and finds service boundaries for later.
45
519
1K
@jessitron
Jessica Joy Kerr
5 years
I sat down to learn enough PowerShell to recreate one of my bash functions. What have I learned so far?
38
367
1K
@jessitron
Jessica Joy Kerr
3 years
“Software architect” is out of fashion “architect” implies “design (mostly) before building starts” We need design in software dev, design that never stops
98
156
1K
@jessitron
Jessica Joy Kerr
3 years
People. There is a difference between a backend and an API. Taking the endpoints that you wrote for your site, slapping some documentation on them and publishing it does not make an API.
25
189
1K
@jessitron
Jessica Joy Kerr
6 years
Once a company reaches thirty people or so, the context starts to split: founders have the contextual knowledge of “why”, while newer hires only have the “how” — so how can anyone make good decisions? ~ @estherderby #uberconf
Tweet media one
25
470
1K
@jessitron
Jessica Joy Kerr
7 years
`git push --force-with-lease` It's the new "do things right" flag for force-push. Where by "new" I mean 2015 and I just learned about it. Becoming an expert at something and staying an expert are two different things.
24
253
902
@jessitron
Jessica Joy Kerr
7 years
“The director said ‘I’ve heard nothing but good things about you.’ I wish someone would say those good things to me.” - a first-year dev Say something encouraging to your less experienced compatriot today. Programming is hard.
5
290
845
@jessitron
Jessica Joy Kerr
7 years
The real secret of the 10x developer
23
573
851
@jessitron
Jessica Joy Kerr
8 years
GitHub is not my resume. It's more like my field of broken dreams. @hazula
7
337
804
@jessitron
Jessica Joy Kerr
2 years
Software is never done until it’s out of production. Instead of seeking a “definition of done,” let’s define “enough.” Enough on this feature, time to shift our focus again.
23
170
792
@jessitron
Jessica Joy Kerr
2 years
Not a developer: blogs in Wordpress Junior developer: writes their own blog site Developer: writes their own blog site framework Senior developer: uses someone else’s blog site framework Staff developer: blogs in Wordpress
37
96
795
@jessitron
Jessica Joy Kerr
3 years
“so that we have a single process for the entire organization” is a death toll of software. This is how large organizations slow themselves. Unifying process gives every change a wide impact, and that means change must be slow.
19
174
735
@jessitron
Jessica Joy Kerr
7 years
Doing a change and a refactor at a same time puts a lot in your head. It's like carrying all the groceries in at once: you feel powerful, until the cans scatter all over your floor. also, you left the back of the car open.
25
315
719
@jessitron
Jessica Joy Kerr
4 years
one lesson from functional programming: when ya got some data and something to do with it, DON'T just do the thing. imagine a form of the data that would make the thing easy. Transform the data, then do the thing. I call this "cook your food, then eat it."
19
203
723
@jessitron
Jessica Joy Kerr
9 years
OH: "We're in the process of moving from Ruby on Rails to Software Engineering."
17
547
657
@jessitron
Jessica Joy Kerr
4 years
“Data is the new oil” will become “Data is the new carbon dioxide”
13
124
674
@jessitron
Jessica Joy Kerr
3 years
Today is an exciting day! I get to work for an interesting and important company: @honeycombio ! Now advancing a developer experience near you.
69
21
666
@jessitron
Jessica Joy Kerr
8 years
Compiled languages are more kid-friendly. The errors tell me what I was in the middle of typing when the kids interrupted me.
13
220
640
@jessitron
Jessica Joy Kerr
5 years
Duplicate work is not waste, if the alternative is coupling.
17
214
631
@jessitron
Jessica Joy Kerr
7 years
“What really slows me down is not programming slowly, it is getting overwhelmed, losing my confidence, and not programming at all.”
@KentBeck
Kent Beck 🌻
7 years
I'm bad at handling a bunch of complexity at once, so I've collected strategies for partitioning complexity:
26
553
1K
9
163
563
@jessitron
Jessica Joy Kerr
7 years
In software production, Code is inventory. Features are inventory. Data is inventory. Inventory is liability.
32
198
545
@jessitron
Jessica Joy Kerr
7 years
If you want to learn to do a thing both well and fast, then do it well and slow for approximately forever.
15
219
545
@jessitron
Jessica Joy Kerr
7 years
current status; writing a program to help me write programs to change a program that changes a program that helps other people write programs to change programs.
32
79
517
@jessitron
Jessica Joy Kerr
5 years
I don’t want to reduce technical debt I want to increase future potential.
18
115
496
@jessitron
Jessica Joy Kerr
4 years
The crucial mechanism to build good systems is not planning. It is error correction.
19
136
490
@jessitron
Jessica Joy Kerr
6 years
Development gets harder over the years because the problems that were just a lot of work have been abstracted away leaving us with the hard questions, where “correct” is not obvious and context is crucial.
11
157
463
@jessitron
Jessica Joy Kerr
3 years
Understanding code is usually about understanding history - and having empathy for people in the past. In commit messages, I try to have empathy for people in the future. @boblail
11
98
446
@jessitron
Jessica Joy Kerr
5 years
Favorite new command of the day: git config --list --show-origin It tells you where all the values are coming from ♥💖
5
77
441
@jessitron
Jessica Joy Kerr
9 years
Programming exercise: I give you some requirements You write the code A third person tries to guess the requirements based on the code.
21
331
434
@jessitron
Jessica Joy Kerr
4 years
Step 1: get visibility into the system. Step 2: observe the seams. Step 3: split along seams. Access each portion.
13
109
427
@jessitron
Jessica Joy Kerr
5 years
Microservices are an excuse for bounded contexts. Because having two classes called "Order" in the same program seems silly, and yet each department toootally needs to model Order independently.
30
87
424
@jessitron
Jessica Joy Kerr
3 years
"data-driven" raises a flag: "we are slaves to numbers" "data-informed" offers: "we use data, and also human judgement."
13
74
418
@jessitron
Jessica Joy Kerr
4 years
How to Enterprise: 1. Roll out collaboration software 2. Configure it so that no one can see anything unless specifically granted access
20
94
411
@jessitron
Jessica Joy Kerr
5 years
A definition of done at Microsoft: “Live in production, collecting telemetry that examines the hypothesis which motivated the deployment.” @DonovanBrown #deliverAgile Yes! Start with “how will I know this is delivering value”
5
157
408
@jessitron
Jessica Joy Kerr
5 years
Code quality is like good posture. It seems like more effort at first but you don’t get tired as fast
3
116
405
@jessitron
Jessica Joy Kerr
4 years
Filling every minute of your day is like covering every inch of counter space with appliances. Perfectly efficient. And cooking is impossible.
4
81
375
@jessitron
Jessica Joy Kerr
5 years
Implementing a feature and then not measuring whether it's used is like buying a lottery ticket and then throwing it away.
9
119
374
@jessitron
Jessica Joy Kerr
3 years
Code is cost, and production code is by far the higher cost. If you can write more support code (tests, automation, developer tooling) in order to write less&better production code more smoothly, Win!
@trondhjort
Trond Hjorteland
3 years
* Code is a cost. All code. Always. Even packaged software. * The asset is business capability. * So the goal is to achieve that capability with the least code. * The overriding metric is to sustainably minimise lead time to business impact. by @tastapod
6
60
179
7
96
369
@jessitron
Jessica Joy Kerr
6 years
The REPL is like unit tests that don’t stay and I like unit tests that don’t stay because I don’t need them once my high-level ones work, and they can prevent refactoring.
26
94
363
@jessitron
Jessica Joy Kerr
9 years
I improved the UI on my microwave.
Tweet media one
22
305
360
@jessitron
Jessica Joy Kerr
5 years
OMG I just figured out how to change something in CSS on purpose! Like with reasoning and theories, instead of clicking until something worked and then hoping it stays working
22
19
355
@jessitron
Jessica Joy Kerr
6 years
To be a 10x developer, be a good developer who helps 10 other people get better at what they do. @BrandenSchwartz
@raelyard
Dave Rael
6 years
Developer On Fire #400 - Branden Schwartz @BrandenSchwartz . Please subscribe,listen,share. #DeveloperOnFire #Podcast
0
5
12
7
127
350
@jessitron
Jessica Joy Kerr
9 years
OH: "is it called a type system because I'm typing so fucking much?" #Java
6
300
350
@jessitron
Jessica Joy Kerr
5 years
Memory is like ‘git rebase’ Every time you recall something, you put it back altered, based on all your experiences since.
8
71
351
@jessitron
Jessica Joy Kerr
5 years
This explains why performance reviews, career tracks, and promotions rub me very wrong. I don’t need a company judging me and telling me when I’m “ready for the next level” My career is mine.
@allenholub
Allen Holub @allenholub.bsky.social
5 years
A "career path" is an entirely hierarchical notion. You're moving "up" the hierarchy. In a network, you people based on their contribution. The Peter Principle applies only in a career path, not a network. 1/2
8
58
201
14
61
345
@jessitron
Jessica Joy Kerr
6 years
Presentation Pointer: Say no to "foo" and "bar." Please use example names that give me a clue about a purpose I might use this for.
21
65
338
@jessitron
Jessica Joy Kerr
5 years
You waste a perfectly good problem by stopping at one solution.
3
100
338
@jessitron
Jessica Joy Kerr
6 years
We don’t want to define “done.” In an ongoing system, a symmathesy, there is no “done” except death. Instead, define “better.” Then you can know you accomplished something.
24
107
335
@jessitron
Jessica Joy Kerr
6 years
“Best tool for the job” no. Choose the best tool for the *situation* which includes who is going to build it, where it is going to run, what it’s going to interact with, what lets us change it, and much more
9
159
336
@jessitron
Jessica Joy Kerr
8 years
Pairing: because programming is more like rally racing than F1. Unpaved, different every time, go faster with driver+navigator.
8
252
327
@jessitron
Jessica Joy Kerr
2 years
A ten-principle checklist for socio-technical design by Albert Cherns, quoted by Jackson in Critical Systems Thinking paraphrased by me, with commentary for software teams 🧵
5
121
331
@jessitron
Jessica Joy Kerr
5 years
Iterative development doesn’t mean you don’t carefully model the software. It means you use the code and the running software to help you construct that model.
8
124
322
@jessitron
Jessica Joy Kerr
7 years
What if there is no such thing as an Error, only "case which requires a decision at a higher-level, possibly even a human"
20
111
326
@jessitron
Jessica Joy Kerr
4 years
Learning to code, you get good at solving puzzles. You think, I’ll get a job and solve harder puzzles! No. Software work doesn’t give you puzzles. You have to formulate the puzzles and then try to solve them, only to discover they aren’t well formulated
12
75
326
@jessitron
Jessica Joy Kerr
2 years
“The Controllers belong in the ‘controllers’ directory. The Views belong in the ‘views’ directory.” Oh, do you name all your variables “integer” or “string”? Use the directory structure to communicate some relations between parts in the program!
37
52
325
@jessitron
Jessica Joy Kerr
5 years
OH: If you hire emotionally intelligent people and then shit on them, Eventually they will quit. They will quit en masse and leave you in the lurch. #rubyconf
3
58
318
@jessitron
Jessica Joy Kerr
5 years
Of course most software projects fail. Software is not a project.
9
97
317
@jessitron
Jessica Joy Kerr
3 years
The 16-yr-old instructs the younger one on how to eat a meatball sandwich: “You have to let go of dignity.”
5
18
317
@jessitron
Jessica Joy Kerr
5 years
PR comments: Convince me to change it, don't tell me. If it is not worth your time to convince me, is it really worth my time to change it?
10
79
311
@jessitron
Jessica Joy Kerr
8 years
I hate doing code review. I love pairing. I don't want to exert judgement on your code, I want to collaborate on code.
32
193
306
@jessitron
Jessica Joy Kerr
7 years
“Deliver features quickly” is a poor objective for guiding decisions. Delivering this feature quickly is in opposition to the future. “Deliver features smoothly” aligns means and ends. It requires delivering features, while putting focus on the system.
7
121
305
@jessitron
Jessica Joy Kerr
4 years
I find auditory processing expensive, noises distracting. In calls, one person with background noise or an echo and I’m struggling to parse the meeting. Anyone else? Bad sound quality is cognitively expensive.
37
22
295
@jessitron
Jessica Joy Kerr
5 years
OH: a 10x developer is one that can make any task 10x more complicated by insisting on doing it from the command line.
13
59
292
@jessitron
Jessica Joy Kerr
6 years
Netflix: 15% of download traffic, only 80 engineers. @gburrell_greg #QConSF How did they get there?
Tweet media one
Tweet media two
Tweet media three
Tweet media four
7
122
294
@jessitron
Jessica Joy Kerr
8 years
a software rewrite is like Ender's Game. Understand the victim so much you love it; only then can you destroy it utterly.
7
196
293
@jessitron
Jessica Joy Kerr
6 years
JavaScript is the most human language I’ve met. It’s full of history. It tries to be accommodating, but over the years it’s built up defenses. It has many faces for many contexts. It doesn’t have a real module system but it’s working on it.
16
52
280
@jessitron
Jessica Joy Kerr
5 years
“Doctors don’t heal. They create the conditions for healing to occur.” Managers of software teams don’t develop. They create the conditions for development to occur.
3
74
284
@jessitron
Jessica Joy Kerr
4 years
Today's reminder. The browser treats localhost:8080 and localhost:8666 as the same domain. They will share cookies. Boo! catdiary.localhost:8080 and ratfish.localhost.8666 are different domains and resolve just fine on my Windows box. Also great for autocomplete.
10
79
282
@jessitron
Jessica Joy Kerr
6 years
I have fixed the internet.
3
42
281
@jessitron
Jessica Joy Kerr
8 years
What the transit card reader thinks of my hotel room key
Tweet media one
14
89
271
@jessitron
Jessica Joy Kerr
9 years
A rhino can run 30 mph, but can only see 30 feet ahead. Sometimes I feel like that when I'm coding. (A group of rhinos is "a crash.")
12
246
276
@jessitron
Jessica Joy Kerr
3 years
I used to aim for abstraction, so code could be more general. Now I aim for expressiveness, so the more specific the better.
16
38
280
@jessitron
Jessica Joy Kerr
6 years
OH: a danger of success is, you start to think you’re right. It’s the Paul Graham Syndrome
3
49
277
@jessitron
Jessica Joy Kerr
5 years
Instead of freelance, can I call this polyemployment?
7
36
273
@jessitron
Jessica Joy Kerr
6 years
My productivity as a senior dev relies on all the steps I skip or do poorly, choosing which corners are cuttable until we know this code is useful. I’d be super slow if my code were subject to the same scrutiny as a first-year dev.
12
57
273
@jessitron
Jessica Joy Kerr
6 years
Good code is Predictable, Readable, Simple, and Flexible (in that order) _to the team that works with it_. There is no absolute standard; good code is suited to its environment, to its people. @joesmorgan #ThatConference
1
127
273
@jessitron
Jessica Joy Kerr
5 years
“building software isn't at all like assembling a car. In terms of managing growth, it's more like raising a child or tending a garden.” @KevinSimler
@springrod
Rod Johnson
5 years
"In a healthy piece of code, entropic decay is staved off by dozens of tiny interventions — bug fixes, test fixes, small refactors, migrating off a deprecated API". Excellent article: Some of that work can be automated, making it more likely to get done
0
34
93
8
60
267
@jessitron
Jessica Joy Kerr
6 years
Each thing you don't have to care about is like a tiny superpower. It frees your brain for other things, and widens your options.
4
88
266
@jessitron
Jessica Joy Kerr
3 years
An API needs designing. It needs a conscious language and consistent conventions. Standard auth. Paging. Careful error codes and messages. Versioning.
8
23
269
@jessitron
Jessica Joy Kerr
4 years
The worst amount of reuse is probably 2.
10
44
268
@jessitron
Jessica Joy Kerr
5 years
The stuff I leave on the counter is there for a reason. The stuff other people leave on the counter is messy and they should pick it up. Similarly in code.
5
72
265
@jessitron
Jessica Joy Kerr
4 years
Competitive culture is oppressive. It guarantees most of us will be unhappy most of the time. And blame ourselves. It prevents working together, because then how will we win against our peers?
9
85
262
@jessitron
Jessica Joy Kerr
9 years
OH: much of programming knowledge is passed on by making people feel guilty for not knowing it.
10
220
263
@jessitron
Jessica Joy Kerr
6 years
Why would I want to make the computer think like a human? I have a source of human thinking already. I want the computer to do all the different kinds of thinking that we never had access to before.
17
57
255
@jessitron
Jessica Joy Kerr
8 years
If the second amendment were written today, it would guarantee legal encryption and access to communication networks.
17
148
250
@jessitron
Jessica Joy Kerr
6 years
If configuration is easier to change in prod than code, make your code easier to change in prod.
16
126
249
@jessitron
Jessica Joy Kerr
6 years
Brilliant! Any time you want to say “Actually...” replace it with “the way I understand this is...”
13
63
248
@jessitron
Jessica Joy Kerr
3 years
A “performance review” is not an evaluation of me as a person. Not of me as a developer. It can describe the relationship between me and the company, from the perspective of the company and my manager.
5
34
251
@jessitron
Jessica Joy Kerr
10 years
a Fallacy of Software: If it works, and we don't change anything, it will keep working.
21
267
240
@jessitron
Jessica Joy Kerr
6 years
To become an expert: 1) learn how to learn about a thing. 2) declare yourself an expert on the thing. People will bring problems to you. You will become a repository of their experience. #theroy
9
42
243