I use ChatGPT as a Rubber Duck🦆. Here is Why.

Rubber duck debugging is something that many developers do in order to help them create great software. AI is a way to make your software development process great. 

“If you think about it putting the two together is obvious. We can work on getting the best possible results by following a few top tips. Perhaps we can have a bit of fun doing so too.”

Using ChatGPT like a rubber duck

“I use ChatGPT to bounce ideas off. I use it to ask stupid questions. 

Most of the time it gives interesting, reasonable feedback no matter how obscure or specific the question.

I often use it to confirm naming as I absolutely hate naming properties and methods (although there is so much opinion involved that I often get a suggestion anyway)

I can’t give too much explicit information about how I specifically use ChatGPT in case I give away my identity through the code snippets. Here is a softball I gave it.”

The Secret Developer

What’s a runback in software development?

ChatGPT

As of my last training data in September 2021, “runback” is not a standard term used in software development. However, terminologies and jargon in tech fields can change and evolve over time, or they may be specific to certain companies, projects, or niches within the software development community.

It’s possible that “runback” could be:

A term introduced after 2021.

A term specific to a particular tool, platform, or company.

A term from another field or context that has been adopted or adapted for a specific use in software development.

If you’ve come across this term in a specific context or document, it would be helpful to have more details. Alternatively, you might consider asking the person or source who used the term for clarification. 

sorry. runbook.

ChatGPT

Ah, that makes more sense!

A runbook is a compilation of routine procedures and operations that the system administrator or operator carries out. When a system encounters an issue, the runbook can guide the response to ensure the system returns to its normal state. In the context of software development and operations, runbooks can be particularly helpful in the realms of automation, system monitoring, and incident response.

Here are some key points about runbooks in software development:

Documentation: A runbook essentially serves as documentation that provides a detailed description of the system and the operations surrounding it.

Automation: Many times, procedures detailed in runbooks can be automated. Automated runbooks can ensure that certain routine or remediation tasks are carried out faster and more reliably than if done manually.

Incident Response: If an incident occurs, a runbook can provide a step-by-step guide on how to address it. This ensures that incidents are handled in a consistent and efficient manner.

Training: Runbooks can be invaluable for onboarding new team members. They can provide newcomers with insights into system operations and expected procedures.

Standardization: By having a runbook, teams can standardize operations, ensuring that there’s a uniform approach to handling common tasks or incidents.

Continual Improvement: As systems evolve, runbooks should be regularly updated to reflect changes. This iterative process can help in capturing the latest best practices and insights from previous incidents.

In modern DevOps and SRE (Site Reliability Engineering) cultures, runbooks play a crucial role in ensuring system reliability and uptime. They act as a bridge between development and operations, ensuring that both sides understand and can address the operational concerns of the system.

“Can you imagine asking this question at work? 

You probably would be ridiculed.

I mean imagine needing some security about a PR title that simply changes the type of a property.”

The Secret Developer

What title can you use for a pr that makes a string changed from an optional string?

ChatGPT

If you’re referring to a Pull Request (PR) title for a change where you’ve updated a codebase to change a variable type from an optional string to a non-optional string, you could use:

“Change [variableName] from optional to non-optional string”

Replace [variableName] with the actual name of the variable or property being modified for clarity.

Why?

Explaining your code to another person can help you to understand the meaning behind the program. It can help you to find bugs and even help your wider understanding of the project you are working on.

“I’ve found that ChatGPT often gives the right answer but even if it doesn’t it can often clarify my thinking.

If it doesn’t give the right answer, it can serve the psychological function of the rubber duck anyway, so it is still worth doing.

There aren’t any losers here!”

Conclusion

“I can’t wait for the comments which likely say I’m a loser noob who had to ask really basic questions of ChatGPT.

Which will then justify my use of ChatGPT for such questions.”

Previous
Previous

Use Git Kracken and Other Bad Advice

Next
Next

I Found 6 Errors on Your 30-line PR. Here’s Why I’m Not Reviewing More