You are an IT manager in charge of helping HR write a job description for a junior data engineer position. You are coming up with a good draft based on your knowledge of the role, responsibilities, and the required qualifications.
🚀 Learning Objectives
Identifying and providing relevant context for prompts
Finding effective examples to guide the model's output
Iterating and refining prompts based on the model's responses
Combining context and examples for optimal prompt engineering
🛠️ Tools
Providing Context
First, let's establish the baseline how ChatGPT write job description for the role without any context.
Try this prompt
Please draft a job description for a junior Data Engineer role.
Response I got
Job Title: Junior Data Engineer
Location: [Specify Location]
Company Overview: [Insert Company Name] is a [brief description of the company, its mission, and its values].
Position Overview: We are seeking a highly motivated and enthusiastic Junior Data Engineer to join our dynamic team. The ideal candidate will have a passion for data and technology, with a strong desire to learn and grow in a collaborative environment. As a Junior Data Engineer, you will work closely with our data engineering team to assist in the development, maintenance, and optimization of our data infrastructure and pipelines.
Key Responsibilities:
Assist in designing, building, and maintaining scalable data pipelines and ETL processes.
Collaborate with cross-functional teams to understand data requirements and develop solutions to meet business needs.
Support data integration efforts across various systems and platforms.
Perform data cleansing, transformation, and validation to ensure data quality and integrity.
Contribute to the development and implementation of data governance policies and best practices.
Assist in troubleshooting and resolving data-related issues in a timely manner.
Stay current with emerging technologies and industry trends in data engineering and analytics.
Qualifications:
Bachelor's degree in Computer Science, Engineering, Mathematics, or a related field.
Strong understanding of data structures, algorithms, and database concepts.
Proficiency in at least one programming language (e.g., Python, Java, Scala) and SQL.
Experience with data modeling, ETL tools, and workflow management systems (e.g., Apache Spark, Apache Airflow).
Familiarity with cloud platforms and services (e.g., AWS, GCP, Azure) is a plus.
Excellent problem-solving skills and attention to detail.
Strong communication and interpersonal skills, with the ability to collaborate effectively in a team environment.
Eagerness to learn and adapt to new technologies and methodologies.
Benefits:
Competitive salary
Comprehensive health benefits package
Retirement savings plan
Flexible work hours
Opportunities for professional development and training
Collaborative and inclusive work culture
How to Apply: Please submit your resume and cover letter outlining your qualifications and interest in the position to [Contact Email]. Be sure to include "Junior Data Engineer Application" in the subject line.
[Insert Company Name] is an equal opportunity employer and welcomes candidates from diverse backgrounds. We thank all applicants for their interest; however, only those selected for an interview will be contacted.
Not a bad response! But we might want to personalize it a bit.
The easiest way to provide context is to brain dump everything that you want and know about the task.
Please draft a job description for a junior data engineer role.
Here's my thoughts that should be incorporated:
- We have many SQL databases to deal with, definitely need strong SQL skill
- We want to explore cloud technology (AWS, Azure, GCP), but no solid project here, want someone with general experience and knowledge
- We use Python and Scala as primary programming language.
- Here are some tools we use: Github, Apache Kafka, MongoDB
- Please write in Thai
If you have no idea what context to provide, you can just state your objective and ask ChatGPT for the context it wants.
I want you to draft a job description for a junior data engineer role.
I want a great JD that will attract talented junior engineers. To ensure you do an outstanding job, what information would you require from me? Please list the context needed in short bullets, and I will supply them and then you can write the JD based on my input.
Response I Got
To craft a compelling job description for a junior data engineer role, I'll need some key information from you:
Company Background:
Overview of your company's industry, mission, and culture.
Job Responsibilities:
Specific tasks and duties the junior data engineer will be expected to perform.
Required Skills:
Technical skills, programming languages, and tools necessary for the role.
Preferred Qualifications:
Any additional skills or experience that would be beneficial but not mandatory.
Education and Experience:
Preferred educational background (e.g., degree in computer science, statistics, etc.) and any minimum experience requirements.
Company Values and Culture:
Any specific values or cultural aspects you want to emphasize to potential candidates.
Benefits and Perks:
Information about what the company offers in terms of compensation, benefits, and any unique perks.
Once I have this information, I can create a job description that effectively communicates the opportunity and attracts talented junior engineers to your organization.
The more context you provide the more you can get the output to match your expectation.
Please draft a job description for a junior data engineer role.
Here are the context you asked for:
Here's my thoughts that should be incorporated:
- We have many SQL databases to deal with, definitely need strong SQL skill
- We want to explore cloud technology (AWS, Azure, GCP), but no solid project here, want someone with general experience and knowledge
- We use Python and Scala as primary programming language.
- Here are some tools we use: Github, Apache Kafka, MongoDB
- Please write in Thai
Company
- บริษัท ซีพี ออลล์ จํากัด (มหาชน)
- ก่อตั้งปี 2531
- แบรนด์ที่ได้รับความนิยมและไว้วางใจ
- ประกอบธุรกิจหลัก คือ ธุรกิจค้าปลีกประเภทร้านค้าสะดวกซื้อภายใต้เครื่องหมายการค้า เซเว่น อีเลฟเว่น ในประเทศไทย
Perks
- วัฒนธรรมองค์กรเป็นกันเอง ร่วมมือกัน และเรียนรู้อย่างต่อเนื่อง
- โปรแกรมฝึกอบรมที่ดีเยี่ยมเพื่อพัฒนาทักษะและจิตใจ ส่งเสริมสุขภาพและความเป็นอยู่ที่ดีของพนักงาน
- ค่าตอบแทนสูงตามอัตราตลาด โบนัสดี
- ทริปท่องเที่ยวประจำปีกับทีมงาน
Please write a compelling JD using info I give you above. Please write in your own words, don't copy my content.
Response I got
ตำแหน่ง: Junior Data Engineer
สถานที่ทำงาน: บริษัท ซีพี ออลล์ จํากัด (มหาชน), [เมือง, รัฐ]
แผนก: Data Engineering
รายงานถึง: Senior Data Engineer / Data Engineering Manager
Context info is very helpful for getting the AI to produce the results you want.
You can ask the AI what context would be helpful for it to know to do the task well (and then give it the info it requests).
Start small and iterate your prompt with more and more context
Through this exercise, you've experienced firsthand the power of gradually adding context to your prompts. By starting with a basic prompt and then progressively introducing more relevant information, you've witnessed how the AI model's output quality improves incrementally.
This iterative approach to prompt engineering allows you to refine and guide the model's understanding, resulting in responses that become increasingly accurate, relevant, and tailored to your specific needs.
Short prompts are for beginners. AI performs better with more context.
Beginner AI users are usually captivated by concise prompts given away for free online, and expect immediate results. They often under appreciate the power of iterative prompt refinement, thinking that it is time-consuming and cumbersome.
Build a good prompt once, use forever
However, providing incremental context and refining prompts iteratively is invaluable, not unnecessary overhead. Note that this is the process all super users undergo to develop templates and workflows replacing their tedious daily tasks. Once effective prompts and templates are developed through this process, they will save you a ton of time.
Providing Examples
Examples are great for AI Assistants because:
They provide a clear reference point for the desired output format, structure, tone, level of detail and style.
Examples can be more effective than explicit instructions when the desired output is difficult to describe in words.
Situations where you should provide examples:
You want AI to use certain tone and voice
You want AI to speak to certain audience (e.g. children, parents, etc.)
You want answers in specific formats
You want AI to speak with the same level of technicality (speak like a doctor or a legal expert).
Good examples can be very powerful!
👩🏻💼 Persona
You are a head of the company's marketing department. You are writing a script for the agents to use.
Try this prompt
Here's an example prompt for generating customer service script, using examples.
Samples show AIs how it should handle your request.
Samples are perfect for transferring style/tone/voice of your brand to AI.
Collect Samples for Your Team
Maintaining a library of relevant examples can be incredibly valuable for teams that frequently engage in similar tasks or content creation processes. By curating and reusing successful examples, teams can streamline their prompt engineering efforts and ensure consistent, high-quality outputs from language models like ChatGPT.
Here are examples of how each team might use this idea:
Marketing team: gather samples of successful blog posts, social media captions, product descriptions, or ads campaigns
Technical team: examples of well-structured API documentation, code snippets, or user manuals.
Human Resources: maintain a library of well-crafted job descriptions, employee training course descriptions, employee onboarding materials.