Senior vs. DX

Maciej Stasiełuk, CTO @

ITCorner Tech Meetup #5
25.11.19, Wrocław


  1. What exactly is the DX?
  2. Evolution of DX over the years
  3. Who is responsible for good DX?
  4. 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


  WRITE (*,*) 'hello, world'

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?


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


Custom CLI


Code style

"Clever" code


Ignoring warnings

Temporary solutions

// @TODO Refactor this once feature X is implemented
function someDirtyHack () {


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?


Technical debt

Knowledge sharing

  • Pair Programming
  • Useful tools (IDE tricks)
  • Sharing experience
  • A better way to solve problems
  • Mentoring


Made with