Watching Good Ideas Spread and the Benefits of Code as Data
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: 1) The "code is data" thing helps us to see clearly that humans are supposed to be good at `(apply understanding [codebase])` 1) 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?
Read further
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?