🇦🇺🐨 / Working on 💿 @ReactRouter + @remix_run at @shopify / co-creator of 🦄 CSS Modules, 🧁 Vanilla Extract / @MelbJS organiser / dad x4

Melbourne, Australia
Developers during hackathon: We built an entire application in just 3 days. Developers after hackathon: Adding that icon is going to take 3 weeks.
100
2,265
9,883
Believe it or not, but this car is made entirely out of divs.
156
1,301
8,758
Me: "I'm really looking forward to the conference." Me at the conference:
64
1,072
7,791
"Don't worry about this tech debt, we'll clean it up next sprint." Senior developer:
35
2,181
7,672
When people ask what the best JavaScript framework is.
95
1,819
7,094
66
892
6,679
When you write your CSS in JavaScript.
Overtime
70
733
5,985
20 years ago, people tried to convince me that learning HTML was pointless because we had FrontPage and Dreamweaver. Ignoring them was the best decision I ever made.
112
665
5,208
Me: I'm a JavaScript expert. Also me: *Googles array slice*
101
812
5,006
If a developer says they don't really care about design, change their editor theme to Hot Dog Stand.
121
1,424
4,683
When your team successfully hits the deadline.
41
1,476
4,651
"Do you know JavaScript?" "Yes." "Ah—but do you know what happens when you try to multiply a number by a *date*?" "Yes. I am immediately fired."
49
753
4,645
Trying to debug a codebase that uses class inheritance.
Reid Goldsmith
73
704
4,592
Literally just noticed that the home icon in the Twitter app is actually a birdhouse. I feel very stupid right now.
87
707
4,576
It's a mistake to learn a framework without first learning the fundamentals. That's why, when dealing with beginners, I always start off by making them build their own CPU, programming language and operating system.
133
841
3,982
'align-items' and 'justify-content' is the CSS equivalent of plugging in a USB device. It always takes three tries to get it right.
41
793
3,734
Full stack devs: Those front end devs really need to skill up in other areas. Also full stack devs:
115
738
3,694
Front end devs: I'm here because I like programming *and* design. Back end devs: You're not a real programmer. UXers: You're not a real designer.
103
554
3,665
Back end devs: Front end isn't real engineering. Front end devs: *Bring engineering principles to front end* Back end devs: Front end is too complicated.
52
791
3,642
112
527
3,567
Developers: *Build terrible monolith* "This isn't working. Let's try something else" Developers: *Build terrible microservices* "Wait—this isn't working either."
50
724
3,431
React vs. Vue is really HTML-in-JS vs. JS-in-HTML
70
701
3,524
Having trouble with code quality? Write a lot of tests. And I mean a *lot*. Test every file in isolation. Mock as many imports as possible. When you're done, your code will still be bad, but now your tests will make sure it's impossible to improve anything in any meaningful way.
65
552
3,259
"To build world class software, we need everyone to be inside this building." Developer: *Installs 9 trillion packages written outside this building"
30
783
3,212
Developers: Why aren't these managers technical? Also developers: No, I don't want to be a manager.
54
550
3,167
VS Code: No type errors found in project. Me: *Opens a TypeScript file* VS Code: Oh, you mean in *this* file?
41
399
2,905
15
636
2,863
SQL injection, or as I like to call it, accidental GraphQL.
29
567
2,738
When you're using the new tech stack but it's only for a single feature.
16
526
2,710
When JavaScript developers get mocked on Twitter.
37
400
2,648
Developer: Commits commented-out code just in case they need it later. Git:
47
686
2,590
When you're really good at React.
76
274
2,613
20
351
2,619
How to open a window as a software developer: 1) Spend a bunch of money on a CO2 monitor. 2) Open a window.
69
135
2,669
349,337
Whatever your opinion is on React, you've gotta give it props.
77
315
2,569
You can't get phished if you never read your emails.
60
367
2,526
Using `useReducer` to manage one-way boolean state has become one of my favourite tricks lately.
34
268
2,621
Pro tip: If anyone suggests a design change you don't like, just say "Do you have any data to back that up?" Nobody knows how to answer this question.
46
453
2,582
26
550
2,540
19
483
2,532
Pair programming.

ALT Mr Bean trying to get past an old lady on the stairs.

28
457
2,482
When you open Chrome dev tools in front of a non developer and edit someone else's web page.
46
264
2,409
Companies: *Use free open source to make literally millions of dollars* Open source maintainers: Could we at least get a couple of dollars from this? Open source consumers:
59
490
2,369
I'm super excited to announce that next week I'm joining the @remix_run team at @Shopify.
116
50
2,399
With single page apps, we broke the back button. Now, thanks to the power of service workers, we've broken the refresh button.
36
970
2,305
When a React dev sees some CSS.
21
416
2,289
"Don't take criticism from someone you wouldn't take advice from." This one helps a lot.
15
408
2,277
When a non-developer asks what you've been working on lately.
22
539
2,259
When a team is celebrating the deletion of their legacy codebase, but that was your old work.
31
278
2,248
How do you know if someone uses TypeScript? Don't worry, they'll tell you.
52
264
2,281
"For some reason, it seems our website has less engagement than our native app."
47
669
2,188
31
582
2,219
45
381
2,129
API design is UX design.
48
264
2,134
When you ask a CSS dev which files are affected if you delete this selector.
53
308
2,111
18
403
2,080
When you learn React but realise you can't actually build anything because you don't know HTML, CSS or JavaScript.
34
289
2,059
react, react-router, redux, react-redux, react-router-redux, redux-saga, react-redux-router-saga, react-react, react-react-router-router-router
79
227
2,089
Me: "My code isn't that bad." My code:
69
375
2,056
Being vaccinated does NOT mean you can put CSS in your JavaScript. PLEASE continue to keep your concerns separated.
39
206
1,979
13
368
2,018
I wish JavaScript import statements were written in reverse order so that autocomplete worked properly. e.g. from 'lodash' import { debounce }
92
173
2,011
When you learn React.
28
347
2,012
Drag and drop tools are just simpler. That's a fact. That's why I'm working on a drag and drop alternative to Microsoft Word. To get started, just open up the dictionary panel, find the word you like and drag it onto the document.
58
275
1,976
Pro tip: Look at the code before committing.
73
300
1,987
When you learn React before learning CSS.
46
277
1,953
"We'll add it to the backlog" is just the polite way of saying no.
39
387
1,842
My experience migrating to TypeScript as a library author. Day 1: Fine, I guess this will help out my consumers. Day 10: Hey, this is actually kinda useful for me too. Day 100: Wow, how did I ever live without types?
34
249
1,889
JavaScript devs.
25
267
1,855
"Issue: It doesn't work." "Sorry, can you provide more detail?" "Expected behavior: It works."
27
296
1,815
When JavaScript devs need to write code using another language.
44
258
1,818
20
320
1,812
33
257
1,786
API design is the most underappreciated design skill since it's literally invisible to most designers.
34
159
1,750
When you split up your UI into a bunch of micro frontends.
14
304
1,730
13
371
1,700
When you tweet literally anything about React.
43
125
1,705
"As an experienced engineer, my motto is 'Strong opinions, weakly held.'" "Um, that's stupid." "Good point. It is no longer my motto."
10
199
1,632
I don't see what's so useful about TypeScript. It's basically the same as JavaScript, except it takes more work because you have to write "any" a lot, and then you don't even get any type checking.
88
102
1,626
"Our UI is too inconsistent. We need a design system so we can standardise it." > 6 months later "I don't like this component. How do I customise it?"
30
218
1,577
"Why are my devs always talking about technical debt? My old devs didn't talk, they just shipped."
34
282
1,578
Current status:
24
730
1,575
When you copy someone's weird coding style so they're more likely to merge your PR.
6
206
1,565
28
295
1,578
When you tell a great joke at the dinner table.
6
427
1,575
Junior dev bio: Junior developer. Mid-level dev bio: Senior information systems engineering team lead. Senior dev bio: I write code.
25
158
1,571
Me: *Adds parentheses to maths equation so I can actually read it* Prettier: *Removes them* Me:
28
118
1,583
17
347
1,563
27
269
1,553
8
229
1,531
Me: I don't need static types. Me: *Tries static types* Me: Oh.
18
122
1,515
18
358
1,548
17
289
1,543
🔥 Capsize is a *massive* leap forward for web typography. ✂️ It uses font metadata to crop space from text nodes above capital letters and below the baseline. 🔍 It adjusts font-size so that the height of capital letters is a multiple of your grid. 👉 seek-oss.github.io/capsize
31
291
1,517
Me: Forgets a required property on an object. TypeScript's error message:
24
276
1,521