Two brains better than one?

After a 2-year break, we are restarting the Instil Training Newsletter, a (roughly) bi-weekly publication that shares links to topics that we feel are interesting and relevant to our day jobs. Our intent is to keep each newsletter short, sharp and focused, with the content filtered by the minds at Instil. We kickstart things with the question, are 2 brains better than one...

Two brains better than one?

Martin Fowler published a paper about some research on pair programming earlier in the month. This was focused on a specific problem, that of long-lived pairs on programming teams.

Pair programming is a viable alternative to solo coding. When developing in pairs, people can work closely together with the goal to constantly share knowledge and information

Meanwhile, over on Github, we have a review of some interviews with developers using AI tools.

AI is already making the tedious work less taxing. Tools like GitHub Copilot are being “a second pair of hands” for developers to speed them through the uninteresting work

When it comes to coding and problem solving, 2 brains are often better than one but with the rise of AI, don't lose sight of the human aspect of software development (remember that it's “Individuals and Interactions over Processes and Tools”).

The value of knowledge sharing and team cohesion through pair programming cannot be understated. Our view is that AI might feel like an extra pair of hands, but it is only a tool, one of many in the developer's toolbox and one that needs to wielded with expertise and skill. It is after all 'only' a very sophisticated probability engine that cannot be fully trusted to spit out the correct answer every time.

Why is it called that?

Since my mind is in Agile mode; have you ever wondered why a tech spike is so called? There’s an old discussion on the Agile Dictionary which suggests it's from rock climbing.

When climbing, we might stop to drive a spike into the rock face. Driving the spike is not actual climbing — it does not move us closer to the top — but rather it enables future climbing.

The venerable C2 Wiki suggests an alternative though:

a spike is "end to end, but very thin", like driving a spike all the way through a log.

In both analogies, you'll drive your spike more successfully with a decent hammer and better technique – maybe with some good AI tooling and a pairing partner? Do you have any tips for guaranteeing successful tech spikes? Let us know and we'll share your expertise with the wider community.

3 Quick Links

  1. OWASP publish Cheat Sheets about specific security topics - we found the JSON Web Token one useful this week. There are loads of others.

  2. Most of us use git every day, but are we using some of its modern features?

  3. A nicely formatted free online book about Eloquent JavaScript (a paper copy is available to purchase)

See you later?

There are a handful of spots still available at the BelfAWSt meetup next Tuesday (26th March) where Gunnar Grosch from AWS will help you improve application resilience with Chaos Engineering.

Until next time,

Article By
blog author

Ryan Adams

Head of Learning

Comments...