Senior vs. DX
Maciej Stasiełuk, CTO @ Vazco.eu
ITCorner Tech Meetup #5
25.11.19, Wrocław
Agenda
- What exactly is the DX?
- Evolution of DX over the years
- Who is responsible for good DX?
- Ways to improve the DX
What is DX?
Developer Experience is the combined experience that developers have when they work.
It's made up of emotions and attitudes about using tools such as IDE, SDKs, APIs, frameworks, or even the hardware.
DX vs. UX
Developer Experience may be considered equal to User Experience when the User is a Developer.
Developers tend to be savvier than regular users, so their UX is often ignored because "they'll manage anyway".
Why DX is important
Bad DX may lead to consequences:
- Spending time on "fighting" with tools instead of creative work
- Lowers team's morale
- Worst overall performance
Evolution of DX over the years
1950s
PROGRAM HELLO
WRITE (*,*) 'hello, world'
END


Photos: Arnold Reinhold - CC BY-SA 3.0



1970s - 1980s
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}


1990s - ...
- Rise of Web Development
- Lots of new programming languages to ease the development
- PHP (1994)
- Ruby (1995)
- JavaScript (1995)
- TypeScript (2012)
- ...
- You can write a web app in C++, but why should you?
Who should care about good DX?
EVERYONE
Who should care about good DX?
- Creators of tools used for development
- Library/framework maintainers
- Architects making APIs
- Authors of services targeting developers
- DevOps
- Team Leads
- All experienced developers in the team
How to improve DX?
Build times

Hot Code Reload
Automation


Custom CLI

Documentation

Code style

"Clever" code

IDE



Ignoring warnings
Temporary solutions
// @TODO Refactor this once feature X is implemented
function someDirtyHack () {
...
}
Boilerplate

Project startup
- How hard is it for a new person to run the project in development mode?
- Good docs with step by step instructions
- Dockerize when possible
- Could the process be simplified?
CI / CD

Technical debt

Knowledge sharing
- Pair Programming
- Useful tools (IDE tricks)
- Sharing experience
- A better way to solve problems
- Mentoring
Questions?
Senior vs DX
By Maciej
Senior vs DX
- 771