Watching Good Ideas Spread and the Benefits of Code as Data
Monday May 1
2:35 PM –
3:25 PM
Vevey 1-2
Slides:
This video is available in the GOTO Play video app! Download it to enjoy offline access to our conference videos while on the move.
If I wanted a chatbot to become a better developer assistant, I would want to teach it skills like:
- containerize this application
- prepare this app for our team's staging kubernetes/mesos/swarm cluster
- pull in our current best practices for using kafka
- upgrade my version of library X to the latest on clojars
Are these really skills that you can teach to a developer assistant bot?
I also wonder whether a bot could be taught to help me process change across my distinct projects:
- did this commit alter any of a project's compojure routes?
- did the "fingerprint" of it's public method signatures change?
- am I still behind on library consumption?
- was this just an update that touched formatting/comments?
Obviously much of this is team-specific. It's certainly language specific. But it's also about making it easy for good ideas to spread within a team.
Basing this discussion on Clojure is also really useful:
- The "code is data" thing helps us to see clearly that humans are supposed to be good at
(apply understanding [codebase])
- Chat bots are good at watching systems change and learning things like:
(->> (filter skillz change) (map provide-options) (map help-developer))
. What kind of impact does this have on helping a team to converge on an evolving set of best practices?