Home Conference Sessions Watching Good Id...

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?

Share on:
linkedin facebook
Copied!

About the experts

Jim Clark

Jim Clark

Co-Founder at Atomist

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:

  1. The "code is data" thing helps us to see clearly that humans are supposed to be good at (apply understanding [codebase])
  2. 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?