Developer experience

Almaty Python Meetup #2

МБ
Муслим Бейбытулы
QuantPi

Ваш процесс разработки чаще всего вас не радует — и мысли о том, что с этим делать, мало кого отпускают. Доклад про Developer Experience: по сути, это UX, только для самих разработчиков.

Заодно автор честно проходится по тому, что обычно называют agile: scrum, project management, оценки задач — и почему многое из этого к настоящей гибкости отношения не имеет.

Муслим Бейбытулы — backend/data engineer.

В докладе: — зачем DevEx самим разработчикам: общая цель, эффект, толерантность к риску — четыре категории: архитектура, инструменты, процессы, культура — почему тестируемость недооценена, а инструменты стоит выбирать «наискучнейшие» — как валидировать DevEx: DORA-метрики и время до первого релиза нового разработчика — конкретный стек для Python: pip-tools, flake8, mypy, bandit, safety, pytest — продвинутый уровень: poetry/pdm, wemake-python-styleguide, sonarqube, semgrep, pytest-bdd

Презентация

Слайд 1: Ваш процесс разработки 1 / 12
Текст презентации

Слайд 1: Ваш процесс разработки

Ваш процесс разработки (чаще всего) вас не радует И мысли о том, что же с этим делать

Слайд 2: Muslim Beibytuly

Muslim Beibytuly backend/data engineer

Слайд 3: Пререквизиты: насколько вы

Пререквизиты: насколько вы agile? 1) Garbage in - garbage out (is not agile) 2) Scrum (is not agile) 3) Project management (is not agile) 4) Estimation (is not even rational)

Слайд 4: DevEx это

DevEx это: UX для разработчиков

Слайд 5: Зачем это разработчикам?

Зачем это разработчикам? 1) Общая цель 2) Эффект 3) Толерантность к риску

Слайд 6: Нам нужны категории

Нам нужны категории: 1) Архитектура - “правильные” абстракции переоценены, тестируемость недооценена 2) Инструменты - выбирайте наискучнейшие 3) Процессы - CD - единственная методология с философией, все остальное - ложь 4) Культура - как ошибаться и не чувствовать себя плохо?

Слайд 7: Как

Как валидировать? 1) Никто не знает 2) DORA metrics 3) Сколько времени нужно вашему новому разработчику чтобы что-то зарелизить?

Слайд 8: For python

1) pip-tools 2) flake8 - try cyclomatic complexity <= 5 3) mypy 4) bandit 5) safety 6) Makefile 7) pytest For python:

Слайд 9: For python (advanced)

For python (advanced): 1) pip-tools => poetry/pdm 2) flake8 => wemake-python-styleguide 3) mypy => “strict = true” 4) bandit => sonarqube 5) safety => semgrep 6) Makefile => pydoit 7) pytest => pytest_bdd

Слайд 10: Что вы

Что вы получите с этого? 1) Взрослых людей, занимающихся приятной работой 2) Спокойный сон 3) Преодоление страха смерти

Слайд 11: “This is a super-important quote”

“This is a super-important quote” - From an expert

Слайд 12: Thanks! Q&A?

Thanks! Q&A?

Другие доклады митапа