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

  1. Personal development - Reading, learning, practicing new software development skills

  2. Problem definition - Understanding what we're trying to solve

  3. Planning - Deciding what to build

  4. Design - Deciding how it should work and look

  5. Implementation - Building the software

  6. Testing - Ensuring it all works correctly

  7. Code review - Getting feedback and finalising the code

  8. Deployment - Shipping it to users

  9. 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.

circle-info

Top tip If AI writes code you can’t explain:

  • Slow down

  • Ask why

  • Rewrite it yourself until you understand

That is the moment where learning happens, so don't miss out by skipping ahead!

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 exercisearrow-up-right

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 exercisearrow-up-right

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 exercisearrow-up-right

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 exercisearrow-up-right

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 guidelinesarrow-up-right, 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 thisarrow-up-right. 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

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:

  1. Less time typing code

  2. The gap between junior and mid-level narrows

  3. More cross-functional roles

  4. Understanding the "why"

  5. Super fast industry shifts

Tips

  1. 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

  2. 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

  3. Integrate useful parts into your own workflow

    • Whatever you find works well, integrate it into your own daily working practices

Last updated