innovation emblem

The Importance of Oversight in AI Development

Watching claude sonnet 3.7 iterate on a code improvement through several rounds, expanding and contracting scope, touching more and more of the code file…

As AI reasoning chains grow more complex, I’m even more convinced that junior and non-developers need both active participation and oversight from experienced professionals when creating software that impacts others’ well-being.

Code generation is a fantastic productivity aid for anyone building software, but systems that people rely upon for work, important information, or that has an influence over health, safety, financial security, or happiness must be written in detailed collaboration with people who have proven experience building and properly maintain systems of such consequence.

Technology AISoftware Development
agility emblem

Navigating Change in Project Management

ME: “You ignored my instructions to make changes in discrete steps with test coverage. Let’s go back. The changes to ScoredOutputTree were very intrusive. There’s a much simpler way to introduce the cache isn’t there?”

CLAUDE: “You’re absolutely right, and I apologize for not following your instructions about incremental changes with test coverage. Let’s take a step back and consider a much simpler approach…

Agile Project ManagementAgile
innovation emblem

Evaluating Code Generation Suggestions

A new prompt I’m finding necessary to include in response to a proposed code generation suggestion from the new “reasoning” models, “Are any of these suggested code changes in excess of requirements?

Technology code reviewAI models
agility emblem

Adapting to the Claude Sonnet 3.7 Model

After a day or two of adapting to the difference, I am finding good success with the new claude sonnet 3.7 reasoning model for complex troubleshooting. It does a better job of replicating my priorities in subsequent responses like incremental change validated through tests.

It is less predictable and can do really strange veering turns. Review changes carefully, Commit frequently and be ready to revert in case you miss something like renaming of variables, inserting test code into production code, or other random nonsense. That’s actually an indicator that the work your doing is directed enough that you should move back to the non-reasoning model.

Technology AItroubleshooting
growth emblem

Finding Hope in Humanity's Complexity

I am pessimistic about the class definition of Human but find hope in many of the instances.

Culture humanitypessimism
learning emblem

Leveraging AI for Developer Growth

Advice to software developers unsure about generative AI:

First, learn how to use AI to accelerate your own learning. Learning is the most important aspect of your job — and the least valued by those who employ you.

Second, use it to reduce effort you find tedious. Focus your labor on what you can uniquely do and enjoy doing. Rather than worry about what AI means for your career, use it to help craft the work you want.

Then, and only then, incorporate it into solutions for other people. You’ll have acquired the experience and empathy to use AI in ways that help others get their job done.

Technology AISoftware Development
agility emblem

AI and Human Decisions in Re-platforming

In my exploration of Richard Sutton's insights, I realize that while AI models will enhance our ability to analyze and implement changes, the essence of re-platforming lies in human judgment. We must prioritize capabilities and manage technical debt with a strategic vision that AI alone cannot provide. Our focus should be on bridging the gap between AI tools and human decision-making to ensure effective transformation.

Technology EnterpriseAILegacyModernization
innovation emblem

Understanding Prototyping vs Production Code

I've noticed that many people confuse learning through prototyping with the actual production of code. While generative AI can help in both areas, they serve different purposes. Prototyping is about learning and validating ideas quickly, while production code is about building reliable, scalable software. It's crucial to understand this distinction to ensure long-term value in our projects.

Technology PrototypingGenerative AI
innovation emblem

Conversations with Generative AI

Pairing with generative AI is like carrying on a conversation with a deeply learned, adept, and patient co-worker who is distract-able , forgetful and believes in faking it till you make it.

Technology Generative AITechnology
learning emblem

Embrace TDD with an Open Mind

If you don’t use a quality discipline like TDD, no problem. Remain open to the possibility you haven’t mastered it.

So, before debating what it is or isn’t with others who have put in that time — or using managerial power to stop people doing it…

Ask questions and listen.🙏🏻

Agile TDDAgile
learning emblem

The Role of Luck in Coding Challenges

Resolving an open ended coding challenge within the agreed upon time box feels great but it just reinforces the role luck plays in our standard for good work.

Technology codingluck
knowledge emblem

Analyzing .NET 4.0 VisualBasic Code

Completed writing code to analyze an abstract syntax tree of .NET 4.0 VisualBasic code with a current CSharp application. Learned a lot about assembly management, .NET version compatibility, and the crazy nested tree VB syntax generates compared to CSharp. Some head slappers.

Technology .NETVisualBasic