Arch Lunch: 2019-06-20
Developer Experience Roadmap thoughts
Current things
Jenkins optimizations
Automated Python and JS dependency upgrades
Feature toggle reporting
Ideas
Further automation of dependency upgrades
Some possible solutions
Auto-merge and auto-deploy
Bulk-upgrade tool
Automated async-upgrade tool
Auto-releasing of libraries
Automate mechanics of releases
Find changelogs on external dependencies
Further investment in renovate - get feedback from current users
Developer experience observations and “design sprint”
Docs (?)
Tests
Slow in multiple repos (e-commerce and edx-platform) for different reasons
Analyze our tests
Coverage.py 5.0
Who tests what map
Can then remove tests
To minimize updating tests
To minimize running tests
Optimizing which tests run for a PR
Data
Test Data OEP
Standardizes on schema
Reference example
Micro-frontends on Devstack
Configuration
Simplify config pipeline
Devops has done some foundational work
Needs follow-up to simplify for developer experience
A/B testing enablement
bi-toolkit-repo has some tooling
Don’t have
Automatically running reports
Optimizely/segment training for developers
Ownership enablement
Observability tooling, for example
“Alerts are much more useful than dashboards”
Devops alerts auto-create tickets
PR status
“Why is my commit not on Prod yet?”
Possibly: improve GoCD pipeline status reporting/monitoring
Possibly: also gather data and metrics on PR lifecycles
Startup time on edx-platform
Legacy Shopping cart - 20% of startup
Scanning for entry points - also significant time
Specifically, stevedore-based plugins (xblocks, course-tabs, django-app-plugins)
Seems we might be scanning twice
Can we move to more configurable Django-style list?
Studio outages - when rebooting for remote config changes
Hackathon Brainstorming
Deprecated frameworks
Python 2
Node 8
Performance of student dashboard