It is easy for AI to be used for practically anything to everything related to software engineering. The following are guidelines for programmers leveraging AI to remain self-improving and efficient as opposed to solely floating on vibes.
- Without code as context
- Asking high-level questions. For example: 1
- What package(s) are recommended for {task}
- Describe how to {task}
- Explain {concept}
- Asking high-level questions. For example: 1
- With code as context 2
- Code reviews and refactoring 3
- Generating documentation or specs
- Explaining/verifying existing logic
- The first attempt at solving a problem or implementing code
- Implementing code using uncommon methodologies 4
1. If code changes are provided in response, use it as a reference or make the updates yourself, as opposed to allowing the IDE to make updates for you. The act of going line by line keeps your critical thinking hat on & presents the opportunity to pursue questions along the way.
2. Always review outputs for potential corrections or to catch logic errors that may be presented.
3. Asking if something can be done in a more readable or efficient way may be a good learning opportunity.
4. As of now (2025), LLMs operate on pre-existing data sets & lack the skill of free thinking. Uncommon logic may lead to partially accurate responses.
- Discuss your opinions at https://github.com/nomadicGopher/AI_Assisted_Development_Manifesto/discussions to potentially influence this manifesto