Career development is a topic that frequently comes up during 1-1 meetings. It’s essential to consider our future, the opportunities we can unlock, and the skills we need to learn. Yet, many organizations and managers make career transitions difficult, either by design or by lack of process. Recently, I’ve started using ChatGPT to help create curricula, and this has been valuable.
At Opreto, we believe that nurturing personal growth is crucial to fostering a culture of growth. We take pride in helping our employees thrive, and we have discovered that ChatGPT can contribute real value, and do so in a way that is a natural fit with our processes.
The Traditional Way: A Tedious Process
In the past, when designing a learning path for myself or others, my process was:
- Research appropriate positions, job descriptions, posts, and Wikipedia entries.
- Identify key skills, experiences, credentials, and processes.
- Identify intermediary positions using various org-charts.
- Use resources like learn-anything and online course curriculums to map out a skill acquisition path.
While informative, this process can be quite tedious.
Prompt engineering time
Recently, I decided to experiment with ChatGPT prompt engineering to bootstrap my research step. I aimed to get a good starting point for learning paths in a logical, legible format.
After crafting an initial prompt and fine-tuning it, I developed a prompt that provides context, sets expectations, and guides the AI through Chain-of-Thought prompting. The prompt’s purpose is to create a tailored curriculum based on the team member’s current role, experience, learning style, and desired position.
Here is the full prompt in its current state:
Create a curriculum. I will provide you with the name of a member of my team, along with a description of their current experience and their role within the team. I will also tell you about the person's learning style. If the person prefers learning through reading, then you should try to locate good written documentation, papers or tutorials for each particular subject whenever possible. If they prefer learning through media, you should aim to find good video courses, youtube videos, youtube channels, and websites that provide good video teaching content. I will also provide you with the name of the position that person wants to reach at a later point in their career. You will then determine the set of skills, tools, techniques, processes and methodologies the team member needs to learn in order to reach their desired role. You will group entries into categories, and for each category, write a short explanation for why the category itself is relevant to the subject. Each resource itself should also contain a brief explanation of why it is relevant and how it can help. You will start your list with a brief explanation of the team member's current position, their desired position, and if there are any intermediary positions that are on the path from the current position to the desired one, please list them as well, along with their brief description. Don't create a curriculum yet. Start by asking me for the parameters I mentioned above, and any clarifying questions that will help you in your task.
By instructing the model to prompt for parameters rather than generate information, I’ve created reusable prompts that feel more programmatic.
The Results: Near-Perfect Learning Paths
The AI-generated learning paths have been impressively accurate, logically ordered, and well-organized. In one case, I mentioned an engineer’s passion for environmental sustainability, and ChatGPT suggested sustainable development practices.
I treat the AI’s output as an unfinished canvas, identifying any missing topics or areas that need more attention. I then prompt the AI to include those topics, and it does so while maintaining the original prompt’s instructions and format.
For example, I might add:
Please include resources about cloud architectures, system designs, and programming techniques designed to improve environmental sustainability.
Yes, I still say
Please in my prompts. I realize it doesn’t do anything, but it’s always important to be polite.
Building reusable prompts that instruct the model to gather input parameters and follow formatting guidelines for its output feels like I’m using an ultra-high-level programming language that provides a high-quality output. Sure, the results need a little tweaking at the end, but it saves me a large amount of time, uses a programmatic approach that appeals to me (as a software developer), and produces quality content that genuinely contributes to the career development of our teammates.