2024

Conversations with AI – A New Blog Series

Welcome to “The Passionate Programmer”! I’m excited to introduce a new series of blog posts that I believe will help us learn and apply key concepts in software development more effectively. The series is called Chatting with Chat. In this series, I’ll be engaging in deep, insightful conversations with ChatGPT, an advanced AI developed by […]

Conversations with AI – A New Blog Series Read More »

Agile

The Agile Discipline

I’ve heard a lot of people say that because they are using Agile or Scrum that they don’t need to do design or write documentation—or even think. Nothing is further from the truth!  I wrote a post about this in 2011. I called it “The Scrum Excuse” at https://tobeagile.com/2011/06/28/the-scrum-excuse/.  Agile software development was created by

The Agile Discipline Read More »

What is Software Quality?

If ever there was a convoluted, misunderstood term in software development, it’s the word “quality.” To some people, quality in software is software that does the right thing. Others say it’s software that’s free of defects. Still others say quality software is software that runs fast. All these things are good but they’re not necessarily

What is Software Quality? Read More »

Being a Producer

The actor-producer Paul Reiser once said that producing is about figuring out what needs to be done and doing it. I think this also makes a good job description for software developers. Programmers are producers. We create something out of nothing at all, out of pure thought. Our skills are not just in writing code.

Being a Producer Read More »

Large-Language Models

ChatGPT is a large-language model, a particular kind of AI program. Large-language models (LLMs) are not intelligent; they don’t learn and grow based on user interactions but learn through training.  Large language models are not conscious, nor will they become conscious, so we don’t have ethical or moral concerns, but others are working on AI

Large-Language Models Read More »