Session Plan
The idea behind this session is to teach how AI can be used in the day-to-day development workflows of a developer.
Start by giving a brief overview of a usual workflow, and then dive into specific parts of it and how AI can help there, with specific prompts and exercises to practice. The suggestion is that mentors talk through specific use cases, and demo the prompts in the session. The exercises are designed for the trainees to practice themselves on their own machines.
AI in the development workflow
Workflow overview
Personal development - Reading, learning, practicing new software development skills
Problem definition - Understanding what we're trying to solve
Planning - Deciding what to build
Design - Deciding how it should work and look
Implementation - Building the software
Testing - Ensuring it all works correctly
Code review - Getting feedback and finalising the code
Deployment - Shipping it to users
Monitoring - Making sure things keep working as intended
After the overview, go through some specific phases to highlight key ways AI can support them. Of course there are many possiblilities in every phase (and we should encourage trainees to explore them themselves!), but the below are mostly aimed to inspire and give some concrete examples in a few of the phases that trainees can start using today.
Personal development - Learning
Outside of HYF or work, spending time learning and practicing new development skills is important. This could be learning new programming languages, frameworks, tools or concepts.
Here's some examples:
1. "Explaining by comparison" prompt
Learn quickly by mapping new knowledge to things you already understand.
2. The "Code Tutor" prompt
Learn a new language/framework/tool through practice, and getting feedback to improve.
3. The "Learning plan" prompt
If you have a big topic ahead of you, get help to create a learning path to help you stay on track and avoid becoming overwhelemed.
Exericse 1
Use each of the three prompts above using your own personal learning goals, and evaluate what you like and don't like about the output of the AI. Bonus: Try tweaking a prompt template to shape the output more to your own personal needs.
Design - Code explanation
While preparing ideas for a particular solution in the Design phase, you'll likely come across the challenge of needing to understand existing code.
TODO add some prompting examples here, as well as good follow up prompts
Exercise 2
Use AI to help explain the code in [Exercise 2](TODO create and insert link here). Ask follow up questions until you have a good grasp of what every function and line of code is achieving.
TODO write the exercise code, inspired by exercise
Implementation - Learning new approaches
While writing code, you may come across a roadblock where you're not entirely sure how to implement something.
TODO add some prompting examples here
Exercise 3
Use AI to give you some suggestions on possible solutions to [Exercise 3](TODO create and insert link here).
TODO write the exercise and supporting code
Implementation - Code refactoring
After you write a solution, you may wonder if there's a neater or better way to structure the code.
TODO add some prompting examples here
Exercise 4
Use AI to help you refactor the code in [Exercise 4](TODO create and insert link here).
TODO write the exercise code, inspired by exercise
Implementation - Bug fixing
Before your solution is finished, you'll need to make sure it's bug free.
TODO add some prompting examples here
Exercise 5
Use AI to help you uncover the bug in the [Exercise 5](TODO create and insert link here) code, understand why it's happening, and fix it.
TODO write the exercise code, inspired by exercise
Implementation - Documentation generation
AI is not only useful in generating code, but also documentation.
TODO add some prompting examples here
Exercise 6
Use AI to draw a diagram to explain how the code in [Exercise 6](TODO create and insert link here) works. Confirm that it is correct, and fix any mistakes.
TODO write the exercise code, inspired by exercise
Code review - Feedback assistance
When your code is ready, it will be time for getting feedback from other developers. Before you do that, save some time and get some initial feedback from AI on improving your code.
TODO add some prompting examples here
Exercise 7
Use AI to get some structured feedback on improving the code in [Exercise 7](TODO create and insert link here), and make the changes.
TODO write the exercise and supporting code
Agent mode
TODO explain a little what agent mode is and how it differs to "edit" mode. Maybe warn that it will use up a lot more of your usage credits. Reminder of our AI usage guidelines, and for HYF assignments and projects
Exercise 8
TODO this should be a small exercise to show how the agent flow works. Could be something similar to this. Suggest instead that trainees explore using agent mode further on their own personal projects we do not allow generating full coding solutions.
AI in the workplace
Ethics, legal and risk considerations
TODO these follow on from the foundation content, but should be give more software dev specific examples, like the risk of pasting protected IP code or customer data into third party AI tools.
The future of AI in development
We don't know the future for sure, that's what makes it exciting. There are some trends that we are seeing:
Trends
Less time typing code
The gap between junior and mid-level narrows
More cross-functional roles
Understanding the "why"
Super fast industry shifts
Tips
Stay in the loop of AI developments
Follow key organisations in the space (OpenAI, Anthropic, Microsoft/Github, Google/Gemini)
Join in conversations with other developers online and offline to see what they're experiencing
Follow AI related news
Learn and practice with new tools/features
Try out new AI features and capabilities as they are released
Use AI tools in your real projects to practice
Integrate useful parts into your own workflow
Whatever you find works well, integrate it into your own daily working practices
Last updated