When we talk about "developer experience," we really need to separate dev tools into two categories: ones that simplify things away and ones that help developers engage with complexity. DX needs are different for simplification tools vs complexity-embracing tools!

Thread. 👇
In the "simplification" category of dev tools are all kinds of automation tools: APIs like Stripe and Twilio; SaaS products like Netlify; domain-specific languages like GraphQL.

You want these tools to be as one-click as possible and shield the developer from most details.
The most classic example of a dev tool in the "complexity-embracing" category is a debugger: it shows you your stack trace; it shows you a call graph. It lets you get where you need to go by giving you tools to explore a complex system.

Observability tools are in this category.
When people think about/look for dev tools, they often have simplification tools in mind. But for some purposes, what you need is actually a complexity-embracing tool.

For example: monitoring can only take you so far. At some point, you need something to help you root cause.
What I'd love to see:
💡 More understanding that not all dev tools can simplify your problems away!
💬 More UX conversations about how to help developers embrace complexity.
❤️ More love and attention for complexity-embracing dev tools, not just the set-it-and-forget-it tools.
Do we need another low-code tool, or do we just need more developer-friendly tools for working with SaaS APIs? 😉

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with ⚡️ Jean Yang ⚡️

⚡️ Jean Yang ⚡️ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jeanqasaur

6 May
A professor friend told me that some female students in her dept asked her how she dealt with being in a male-dominated field. She told them she was an internalized misogynist and didn't have any female friends, but then I taught her to be friends with women again.

Thread. 👇
It's a very human phenomenon to distance yourself from the traits that other people don't respect in you! Think about all the high school movies where the nerd ditches their nerd friends to be cool. 🥸

For any woman who needs to hear it: befriend and champion other women.
Related: I was recently talking to a group of younger female CS alums from my university and they said it was rare for them to have such a technical conversation with a woman.

I was taken aback, but realized that I also felt that way before I found other technical woman friends.
Read 4 tweets
22 Jan
Something I've been thinking about: "bonus skills," the skills that don't necessarily get advertised, but are often the most transferable across life stages.

Here's a thread of the bonus skills I learned at different stages of my education and career. Curious to hear yours.
In undergrad, I learned how to:
📚 Skim hundreds of pages in one hour and have something intelligent to say.
🙇🏻‍♀️ Be okay with not being the smartest or the most interesting person in the room.
🤝 Be okay relying on other people when working under high pressure.
In grad school, I learned how to:
⏲ Be okay working like crazy right up until the minute of a deadline.
⏳ Be able to wait months and sometimes years for results.
🧘🏻‍♀️ Decouple my identity from work outcomes.
💖 Lean on my friends for support and sanity.
Read 5 tweets
12 Jan
Thought about this Tweet a lot today. Yes, I agree that Parler will come back, but I have yet to see people talking about just how powerful it is that the major players in the build-yourself-an-app starter kit have decided not to support Parler.

A small thread. 👇
Back in "the day", you had to run your own servers and build most of your app by hand. You needed a small army of technical talent to scale your site, and even then it was still slow going.

Today, you can build and scale an app like Parler user mostly off-the-shelf components.
By denying Parler their services, companies like AWS and Twilio have deplatformed the platform.

It will now take an app like Parler years, if ever, to support the kind of viral adoption it has been seeing.

Second-order deplatforming is a MUCH more powerful tool.
Read 4 tweets
8 Jan
What programming languages and cars have in common:
🧐 Everyone uses them but few are enthusiasts
✨ Engineering meets design

For a timeline cleanse, here's a thread of programming languages as cars.

First up: Python as the Honda Civic. Practical; ubiquitous; not the fastest.
Go: the Mazda 3 of programming languages. Decently well designed, surprisingly good 0-to-60, and gets you where you need to go.
Rust: the Tesla Model 3. High cost to adoption, but more affordable than some other things. Very safe. Status symbol among tech people.
Read 14 tweets
18 Oct 20
When I was and undergrad and junior grad student, I regularly burned myself out on deadlines. I actually work WAY harder now. And I'm able to do it because I learned to manage my energy better. Here are some lessons I learned.

Thread. 👇
The most important thing I learned was to recognize if I'm not working productively on something and step away. To make a sports analogy, pushing through fatigue is how you get better but you shouldn't push through injury. Taking a break early can give you a lot more time back.
Another lesson was to take recovery seriously. Previously, this meant sitting in a catatonic state after I had overworked myself. I now have processes for winding myself down daily, weekly, monthly, and annually. They include meditation, yoga, writing, and doing non-work things.
Read 6 tweets
11 Aug 20
Taylor Swift as important papers in programming languages, a thread.

"An Axiomatic Basis for Computer Programming," C.A.R. Hoare, 1969. Introduced Hoare Logic for proving program properties.

cs.cmu.edu/~crary/819-f09…
"Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints," Cousot & Cousot, 1977. Introduced abstract interpretation for statically analyzing program properties. Now used by Airbus.

di.ens.fr/~cousot/COUSOT…
"Design and synthesis of synchronization skeletons using branching time temporal logic," Clarke & Emerson, 1981. The first paper on model checking for program correctness. Led to the 2007 Turing Award.

cs.cmu.edu/~emc/papers/In…
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!