1 of 44

Developer Experience

How BillEase balances Speed, Quality, and Usability of Python Microservices

Alec Gerona, VP of Engineering, BillEase

2 of 44

So what's in this for you?

3 of 44

Developer Experience (DX)

What is this?

4 of 44

repository

python version

pre-commit

testing

upkeep

5 of 44

repository

6 of 44

python version

7 of 44

pre-commit

8 of 44

flake8

linting

9 of 44

isort

10 of 44

"Any color you like"

black

styling

11 of 44

mypy

typehints

12 of 44

testing

13 of 44

So what does testing as a first-class citizen look like?

14 of 44

Need to see how current apis work and see sample responses?

Look at a test.

15 of 44

Need to add a new endpoint and need to see if it's working?

Write a test.

16 of 44

Need to see if the current build even runs?

Run a test.

17 of 44

tox

18 of 44

pytest

19 of 44

20 of 44

21 of 44

22 of 44

23 of 44

24 of 44

25 of 44

26 of 44

coverage

27 of 44

28 of 44

"Just put a realistic coverage percentage"

29 of 44

"How should we approach coverage to maximize testing?"

30 of 44

31 of 44

32 of 44

upkeep

33 of 44

CodeRabbit

34 of 44

Renovate

35 of 44

36 of 44

osv.dev

Open Source Vulnerabilities

37 of 44

38 of 44

39 of 44

40 of 44

41 of 44

Semantic Release

42 of 44

Changelog

Release

43 of 44

Summary

  1. repository
  2. python version
  3. pre-commit
  4. testing
  5. Upkeep

44 of 44

Need slides?

alecgerona.io