Generative AI, Coding, and Developer Motivation by Ed Lyons

Image via Midjourney by Ed Lyons

There is a lot of confusion about how useful Generative AI is in coding. Some say it’s a complete game-changer, and programmers either need to use it or eventually be replaced. Others, particularly senior developers, disagree strongly, only conceding a limited amount of tactical uses for repetitive tasks. Surveys have produced wildly different results for organizations. Some claim small improvements, while others claim extraordinary time savings. 

How can this be? Is it a training issue? Is it only valuable in some situations? 

The answer might be that it comes down to how motivated programmers are to get value out of it. If they really need it, they will find out what it is good for and use it. If they don’t, they will shrug and keep doing what they were. That’s what I decided after thinking about earlier eras in my career.

Truthfully, we programmers have always been asking questions about our problems and hoping for the right answers. When I was a young UNIX programmer, before the web offered help to developers, I was shown a long row of books in a shelf in my assigned office and told that the answers I needed “were in there somewhere.” These books, shared by myself and another young programmer in a small, windowless office, were our best hope of getting our work done. 

Of course, we could go ask more senior programmers in the company for help, but we couldn’t bother them too often, and we worried they would “find out” we were less capable than we appeared. We had to only do that when we were desperate. So we focused on the books. My partner and I spent some time figuring out what was in them, and how we could look things up quickly. Sometimes we could look in contents or indices. Or we could leave bookmarks, which we did. 

We became good at information retrieval strategies. This was old-school “prompt engineering.”

The older programmers told us that they didn’t need the books that much - they already knew what to do, and the “real” wisdom was not in there. (though they did have the same books in their offices). However, they were established and spent little time worrying about how quickly they found answers. If a task took more time for a senior developer, the managers assumed that it simply took more time to do. 

In a few years, the web started filling up with references and APIs, and after that, blog posts about coding solutions, and then whole websites dedicated to asking and answering questions. Most technical books began to fade away. But our problems remained. How would we get answers? And who needed them the fastest?

Many people just “googled” their problem or error message, and spent time scrolling, clicking, and trying out various answers. It was not efficient, but at least you could paste in the code you found. And if you were inexperienced, you might not have had a better way to work though the problem. 

Of course, older programmers loved making fun of all the wrong answers on the web - even wrong “accepted” answers! - that were found on sites like Stack Overflow. They never volunteered that they often used these sites themselves, for that would not make them look smart. They did use them, of course.

I discovered back then that sophisticated Google searching was a performance booster. Using all the rarely-used parameters and flags to get to the “right” answer faster could improve productivity. I shared tips with coworkers. Older programmers, of course, shrugged at these optimizations. The youngest, to my surprise, were already good at searching. In hindsight, of course they were. They needed to be.

So here we are in 2024, and a familiar drama is playing out. There is a new way to get answers for problems in computer programming: Generative AI. Older programmers are often dismissive, and point out the hallucinations. Younger programmers are really into this and are less bothered by accuracy problems. They have figured out tricks in getting it to work better, and are much more aware of what it does well, and what it does not. Motivation is the crucial factor.

However, there are exceptions that show adoption is not entirely about age. Yes, there is a strong correlation between experience in the field and later adoption of new technologies that makes use of AI look like a cultural generation gap, but it is more about motivation than it is about seniority. I know a freelance developer with many years of experience who took a project involving a framework she hadn’t used before, knowing she could use GitHub Copilot to give her the patterns she needed. I’ll bet contractors have much greater uptake than those in full-time positions with the same amount of experience.

For programmers in long-term positions, comfort is a powerful disincentive. I recently met one who has worked in the industry for 25 years, and for more than10 in his current position. His boss told him they aren’t getting into AI anytime soon, and he is therefore not using it. He dismissed the idea that this technology would really save a lot of time. “I heard it is often useless.” I saw his lack of interest not primarily as a question of how long he’d been in the field, but that he had no incentive to spend time investigating it.

I told him, “A lot of young developers are really into this. Do you remember what it was like when you were just starting out? That all you wanted was to get the work done? If it wasn’t valuable, why would they use it?”

That got his attention. “Maybe… they need help more?” He was implying senior folks like us did not need it.

I then told him I knew two older guys whose bosses did tell everyone to start using AI for coding, and those bosses expected results. After some training and experimentation, the programmers admitted that it did work well sometimes. They said they did not need it every day, but they did use it. Yet they would never have started using it in earnest if it was not required.

I continued, “As far as the times it fails, did we not make fun of Stack Overflow for wrong answers while using it?”

He chuckled and said, “So this is like that, eh? I can still make fun of AI, but use it?” 

I said, “Same as it ever was.”

I never spoke to him again about AI. He did hear me out, but I have the feeling that until his boss requires him to use it, he won’t spend time learning how to use the tools. Though I am confident that the least experienced programmers in his company are already benefitting from them.

Ed Lyons