Automation story: GraphQL schema deployment

Building a new automation to give power to my team At Atomist, we supply a GraphQL endpoint to reveal links between commits, builds, deploys, and people. Internally, we also use GraphQL to access data in Neo4J. To do that, we need to deploy a schema definition (IDL) to the Neo4j GraphQL extension. Software evolves from simple … Read moreAutomation story: GraphQL schema deployment

Folding Tradeoff Space

automation changes the rules we play by Fast v Safe Tradeoffs are a fact of life. Choose between safety and speed, stability and flexibility. More of one sacrifices the other. fast or safe, we are somewhere on that spectrum I remember a time when this described our decisions about software deployments. Deployments caused problems, so we did fewer … Read moreFolding Tradeoff Space

Shaping our Tools to the Flow of Conversation: Issue Creation

Collaboration is hard. There are the essential difficulties of dealing with people, and then there are incidental challenges in the tools we use. Communicating with people, while clicking into to Travis to see the build status and asking: where is this deployed? Who tested it? I want to remove all those incidental challenges, even the … Read moreShaping our Tools to the Flow of Conversation: Issue Creation

the sweet spot: Local Automation

When you learn to code, you acquire a superpower: automation. We turn the computer into a machine to do our (very specific) bidding. We get paid to automate what other people want. We can and should use this superpower for ourselves too! Levels of automation Are we programmers or software developers? Probably both. I think … Read morethe sweet spot: Local Automation

The Golden Yak

(This post continues from the Royal Yak, and concludes the series A Taxonomy of Yaks.) When we improve how we work, we make tasks faster. We make progress smoother. This is magnified when we improve how all our team members work, or our whole community. Now and then, though, an improvement turns into something more: … Read moreThe Golden Yak

The Royal Yak

(continued from Trim Yaks; part of the Taxonomy of Yak Shaving series) Royal Yak, aka Yakkity Yak (quote from yakbreeder.com) Talking to people is yak shaving; it is an intermediate task that helps you get your official tasks done. It’s usually seen as a separate way to “waste” time. I’m here to call relationship-building out … Read moreThe Royal Yak

Trim Yaks

(continued from Imperial Yaks; part of A Taxonomy of Yak Shaving series) Trim Yaks, aka, the Hackhacking yak (making coding faster) Each of the previous yaks stood in the way of a particular task. The Trim Yak is not so task-specific; these are the ones that let us work faster generally. I nickname them “Hackhacking Yaks” … Read moreTrim Yaks

The Imperial Yaks

(continued from Attack Yak; series begins with Taxonomy of Yak Shaving) Sometimes you’re coding along, writing tests as little experiments “this should fail because I haven’t implemented the parser for it yet” — and it fails in a way you didn’t expect. And then you start digging and the parsing library isn’t working how you expected. And … Read moreThe Imperial Yaks

The Attack Yak

(This post describes the first yak category. You might choose to start with the Taxonomy of Yak Shaving intro.) Black Yak, aka Attack Yak. (quotes are from yakbreeder.com) When you feel that your task is 80% complete, these yaks form the next 80%. They are the distance between “works on my box” and “this is … Read moreThe Attack Yak