Showing posts with label Github. Show all posts
Showing posts with label Github. Show all posts

Wednesday, March 22, 2023

Are GitHub Copilot and GPT-4 the cure for all our software engineering bottlenecks?

As a leader I decided to take for a spin such technologies before fully embracing them or even asking my teams to play with them. And the lines below summarize my personal journey and my 2 cents on the matter:


On average, developers produce or change 30 lines of code a day. Most of that time is spent on reading and trying to understand code so they can change it.

It’s almost a 10:1 ratio of reading versus writing code. 

If I knew a DB table was going to be read 10x more often than writing to it, I wouldn’t optimize it for write speed. 

That’s why Kent Beck’s Simple Design prioritizes:

  1. Passes the tests
  2. Reveals intention (should be easy to understand)
  3. No duplication (DRY)
  4. Fewest elements (remove anything that doesn’t serve the three previous rules)

There are wording variations on those rules, but I got those specific words from this Martin Fowler post. As he notes, “The rules are in priority order, so passes the tests takes priority over reveals intention”.

Developers who are disciplined will spend at least half their time refactoring the code to satisfy 2–4 as best as they can. We spend a lot of the remaining “coding” time writing tests.

I have experimented doing Test-Driven and Test-After development with GitHub Copilot and GPT-4, and they just got in the way. 

Mentoring developers vs Coding, I realised that it’s better to turn Copilot off. It was just noise!




Monday, January 8, 2018

What happens when you messed things with GitHub?

Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible. Git documentation has this chicken and egg problem where you can't search for how to get yourself out of a mess, unless you already know the name of the thing you need to know about in order to fix your problem.

Continue reading here