Professional Development – 2025 – Week 30

Image Credit: https://www.flickr.com/photos/54585499@N04/

AI

Does AI Actually Boost Developer Productivity? (100k Devs Study) – Yegor Denisov-Blanch, Stanford

  • “You should use AI for most cases, but it doesn’t increase the productivity of developers all the time and equally.”
  • Measurement issues…
    • Commits/prs — task size varies, some tasks were bugs introduced by AI
    • Greenfield tasks — AI excels here, but most software engineering is not greenfield
    • Self-assessment surveys — inaccurate with low correlation
  • This study built a model that analyzes source code and quantifies changes on key dimensions
  • There is more “reworked” code (i.e., stuff that had to be redone)
  • The study reports a total average gain of 15-20%
  • AI delivers larger gains on low complexity tasks (primarily greenfield)
  • AI has limited (or negative) gains for low-popularity languages
  • The larger the codebase, the worse AI does (context window too small, more noise that misleads the model, more complexity with dependencies and domain-specific logic); even with millions of context tokens performance drops off

The New Code — Sean Grove, OpenAI

  • Opinion: This video is more about model specs, not specs on their own.
  • The author says 10-20% of the value is code; the other part is “structured communication.”
  • Specs > code. “The new scarce skill is writing specs that fully capture intent and values.”
  • Markdown formatting makes it accessible
  • I hard-disagree that the US constitution is a “clear, unambiguous base policy”; like, why do we need judges, then?
  • I also disagree with “software engineering has never been about code.” This seems as dismissive as “paintings have never been about the paint.”

Software development

‘Make the Code Change Easy’ Demo – Trivia Legacy Kata with Ivett Ördög

  • “Make the change easy” by Kent Beck — look for better paths from where you are
  • The video shows how to refactor hard-coded logic out of a big class so that adding a new feature is trivial. (In my opinion, the refactor moves the system toward the ‘S’ and ‘O’ of SOLID.)

Testing in Python 3 (Pluralsight course)

This course covers testing vocabulary and design, unittest and pytest, TDD, characterization tests, test doubles (stub, fake, dummy, spy, mock), approval testing, code coverage, branch coverage, mutation testing, and ways to deal with code that’s difficult to test (peel, slice, monkey patch, self-initializing fake).