Outline
Permalink to “Outline”- Developer Experience is one of those big buzz words in tech
- Companies have entire department devoted to "developer experience"
- Uber - https://eng.uber.com/developer-experience/
- Netlify
- Don't let the spectre of developer experience draw you focus from what really matters: how your product meets the users needs
- What is best for dev is not (necessarily) best for the end user
- Splash page in JS framework
- "Disrupt payroll industry with blazing fast deposits"
- Page barely loads on an old Android device on 3G
- Anti-DX for good:
- Companies reducing internet speeds on certain days of the week [citation needed]
- Getting rid of mouse or keyboard
- Manuel Matuzovic's experience: https://www.matuzo.at/blog/i-threw-away-my-mouse/
- Adding QA testing
- Trickle down economics is not an effective way to help people at the bottom [citation needed]
- What do developers actually want?
- Autonomy/trust
- Benefits (e.g. healthcare)
- Time off
- Simple systems are easier to maintain in the long run
- Space Jam is still running 20+ years later... will we say the same about your single-page application?
- When considering developer experience, think of the developer 1... 2... 5 years down the road
- At the end of the story, Ahab dies
Unorganized thoughts
Permalink to “Unorganized thoughts”- Goodhart's Law: As soon as you try to measure developer experience at your company, it becomes a bad measurement of developer experience
Terms
Permalink to “Terms”- developer experience
References
Permalink to “References”- Matuzovic, Manuel. (2018). I threw away my mouse. 24 Accessibility. https://www.24a11y.com/2018/i-threw-away-my-mouse/
To reference
Permalink to “To reference”- https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/
- https://developerexperience.io/practices/good-developer-experience
- Kuptiev, Samion & Reidman, Mark. (2014). Optimizing the developer and user experiences for cross-platform applications. Intel IT. https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/optimizing-developer-and-user-experiences-for-cross-platform-applications-white-paper.pdf
- Wang, Shawn (swyx). (2019). The importance of developer experience with GitHub founder Tom Preston-Werner. https://www.netlify.com/blog/2019/01/17/the-importance-of-developer-experience-with-github-founder-tom-preston-werner/
- Wang, Shawn (swyx). (2020, August 15). Developer Exception Engineering. https://dev.to/swyx/developer-exception-engineering-4jfo
- Coyier, Chris. (2020). What is developer experience (DX)?. CSS-Tricks. https://css-tricks.com/what-is-developer-experience-dx/
- https://whyisthisinteresting.substack.com/p/why-is-this-interesting-the-goodharts
- https://daedtech.com/how-software-groups-rot-legacy-of-the-expert-beginner/
- Give team members as much creative freedom as possible to let them showcase their approaches (and remember that you learn more from failures than successes).
- Provide incentives or rewards for learning a new language, approach, framework, pattern, style, etc.
- Avoid ever using number of years in the field or with the company as a justification for favoring or accepting anyone’s argument as superior.
- Put policies in place that force external perspectives into the company (lunch-and-learns, monthly training, independent audits, etc.
- Whenever possible, resolve disputes/disagreements with objective measures rather than subjective considerations like seniority or democratic vote.
- Create a “culture of proof”–opinions don’t matter unless they’re supported with independent accounts, statistics, facts, etc.
- Do a periodic poll of employees, junior and senior, and ask them to list a few of their strengths and an equal number of things they know nothing about or would like to know more about. This is to deflate ahead of time an air of “know-it-all-ism” around anyone–especially tenured team members.
In general, it’s important to create or to have a culture in which “I don’t know” is an acceptable answer, even for the most senior, longest-tenured leader in the group, if you want to avoid Expert Beginner fueled group rot.
- https://daedtech.com/how-to-keep-your-best-programmers/
three motivating factors: the desire to control one’s own work, the desire to get better at things, and the desire to work toward some goal beyond showing up for 40 hours per week and collecting a paycheck.
- Allowing developers to define their own narrative can meet those needs
- http://brucefwebster.com/2008/04/11/the-wetware-crisis-the-dead-sea-effect/
- Your work environment can encourage the best developers to leave
- http://thedailywtf.com/articles/Up-or-Out-Solving-the-IT-Turnover-Crisis
- There is a turnover crisis
- "the most talented developers tend not to stick around at one place for a long time"
- You can run from it or embrace it
A company with a culture of quitting does not have ex-employees; they have alumni. This is far more than a semantic distinction. An alumni relationship is positive; something that people can take pride in; and one that keeps the door open for further opportunities on both ends.
- https://randsinrepose.com/archives/bored-people-quit/