Job Description
,
for section headers, - for list items. No CSS classes, no inline styles, no , no
. Must preserve original content word-for-word, no addition, removal, summarizing, rephrasing. So we need to extract the text content from the given HTML snippet, preserving exact wording, and then wrap sections appropriately.
We need to identify sections: The original text includes headings like "Competencies", "Professional competencies", "Generic professional competencies for this position", "Context related skills; knowledge and experience", "Behavioral competencies", "Role and responsibilities", "Generic responsibilities", "Specific responsibilities". Also there is a note about NRC only advertises... That's a paragraph.
We need to use for section headers. So each heading should become Heading text
. The heading text should be exactly as appears (including punctuation?). The original headings have various formatting: e.g., "
Competencies
" That's "Competencies". There's a non-breaking space after. We need to preserve word-for-word, but we can normalize spaces? The instruction: preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. So we must keep the exact characters, including ? The original HTML includes entities. In the output HTML we should preserve them as they appear? Probably we should keep the text as it appears, but we are converting to clean HTML, so we should replace with a regular space? The instruction says preserve original content word-for-word. If we change to a space, that's a change. However, the output is HTML; we could keep the entity as is. That would preserve the original content. So we should keep as is.
Similarly, there are other entities like inside list items. We should keep them.
We also need to strip out all original HTML tags and inline styles, but keep the text content (including entities). Then wrap in appropriate tags.
We must not add any extra content. So we must not add any new text like "Job Title:" etc. Just the content.
Thus we need to parse the given HTML snippet, extract the text nodes (including entities), and then apply formatting: headings become , list items become
- inside
, paragraphs become . Ensure we preserve original whitespace? Probably we can collapse multiple spaces? But that would be altering content. Safer to keep as is, but we can normalize line breaks? The instruction says preserve ALL original content word-for-word. That includes spaces and line breaks? Hard to guarantee. But we can approximate by keeping the text exactly as appears between tags, preserving internal spaces.
We need to identify headings: The text "Competencies", "Professional competencies", "Generic professional competencies for this position", "Context related skills; knowledge and experience", "Behavioral competencies", "Role and responsibilities", "Generic responsibilities", "Specific responsibilities". Also maybe "Professional competencies" is underlined with . The heading text includes underline tags; we need to keep the text but not the tags. So we should extract the inner text of those tags, preserving the letters and any inside.
Similarly, there is a note: "
NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization.
" That's a paragraph (maybe not a heading). Should be wrapped in .
Also there are empty paragraphs with just or spaces; we should preserve them? They are empty except for maybe. The instruction: preserve ALL original content word-for-word. If we drop those empty paragraphs, we are removing content (the ). So we should keep them as
maybe. But they might be considered formatting artifacts; but they are part of original content. However, they might be considered stray formatting artifacts that we should remove? The earlier instruction for job listing editor said remove stray numbers or formatting artifacts. But now the task is to format as clean semantic HTML, preserving all original content word-for-word. The earlier instruction about removing stray numbers etc was for the first task (job listing editor). This second task is different: we receive a plain-text job description (but actually it's HTML). Our job: format it as clean semantic HTML, preserving all original content word-for-word. So we should not remove anything, even empty paragraphs.
Thus we need to keep all text nodes, including those that are just or spaces.
We need to wrap each block (original etc) appropriately: if it's a heading (detected by strong or u etc?), we make
. If it's a list item (
- ) we put inside
. If it's a paragraph () that is not heading nor list item, we wrap in
. Also we need to ensure that list items that contain
inside (like
...
) we should extract the inner text and put as - text.
We must not add any extra tags like . So final output will be a sequence of
,
,
- ...
etc.
Let's extract the content manually.
Given HTML:
Competencies
Text: "Competencies " (including the entity). So heading: Competencies
Next:
Competencies are important in order for the employee and the organisation to deliver desired results. Competencies are relevant for all staff and are divided into the following three categories:
Text: "Competencies are important in order for the employee and the organisation to deliver desired results. Competencies are relevant for all staff and are divided into the following three categories:"
Next:
Text: " " (just an entity). So a paragraph with a non-breaking space.
Next:
Professional competencies
Text: "Professional competencies "? Actually the span contains Professional competencies . So the text is "Professional competencies " with underline tags. We need to extract the inner text: "Professional competencies ". So heading.
Next:
These skills, knowledge and experience are important for effective performance.
Text: "These skills, knowledge and experience are important for effective performance. "
Next:
Text: " "
Next:
Generic professional competencies for this position:
Text: "Generic professional competencies for this position: " So inner text: "Generic professional competencies for this position:" plus an after colon? Actually there is a colon then . So text: "Generic professional competencies for this position:" then . So heading.
Next we have a with list items.
- BA Degree in education, preferably in Pedagogical science, Educational Planning and Management, Educational Administration or related.
... etc.
We need to extract each - 's text content (including inner spans, preserving ). The
- may have inline style but we ignore.
Let's list them:
1. "BA Degree in education, preferably in Pedagogical science, Educational Planning and Management, Educational Administration or related. "
2. "Three years of experience as Technical and Vocational Training (TVET) teachers/administrator and economic empowerment."
Note: there is no at end? The original: "Three years of experience as Technical and Vocational Training (TVET) teachers/administrator and economic empowerment." No .
3. "Experience from working as a Education Project Officer in a humanitarian/recovery context including skill training and economic empowerment aspect is an asset "
4. "Previous experience from working in complex and volatile contexts"
5. "Documented results related to the position’s responsibilities"
6. "Knowledge about own manager skills/profile "
7. "Fluency in English, Somali/ Amharic both written and verbal "
Note: there may be trailing spaces.
After that list, we have:
Then:
Context related skills; knowledge and experience (shall be adapted to the specific position):
Wait: original: "Context related skills; knowledge and experience (shall be adapted to the specific position): "
Let's capture: The contains "Context related skills; knowledge and experience". Then after we have " (shall be adapted to the specific position): ". So the whole text inside the span is: "Context related skills; knowledge and experience (shall be adapted to the specific position): ". So inner text: "Context related skills; knowledge and experience (shall be adapted to the specific position):" plus .
Thus heading.
Then a with list items:
Knowledge of the context in refugees/IDP in Somali region
So text: "Knowledge of the context in refugees/IDP in Somali region "
Second:
Knowledge of the local language which is an asset
Text: "Knowledge of the local language which is an asset " Note there is a space before ? Actually "asset " includes a space then entity.
Third:
Experience in general education, in TVET and income generation and economic empowerment with start-up packages is an advantage
Text: "Experience in general education, in TVET and income generation and economic empowerment with start-up packages is an advantage "
After that list, we have:
Then:
Behavioral competencies
Text: "Behavioral competencies" => inner text "Behavioral competencies"
Then a with list items:
Planning and delivering results
... etc.
List items:
1. "Planning and delivering results"
2. "Empowering and building trust"
3. "Communicating with impact and respect"
4. "Handling insecure environment"
5. "Coordination and working with others"
Note: some have margin styles but ignore.
After that list, we have:
Then:
NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization.
Text: "NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization." => inner text: "NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization."
Then two empty paragraphs:
Each contains " ".
Then:
Role and responsibilities
Text: "Role and responsibilities" => inner text "Role and responsibilities"
Then:
The Education Project Officer is based at Dekasuftu in Somali Region, be responsible for the implementation of education activities at refugee/IDPs sites and for host community in Somali region. The purpose of the Education Project Officer position is to support the day-to-day implementation of the education Workstreams/CCs in the regions.
Text: "The Education Project Officer is based at Dekasuftu in Somali Region, be responsible for the implementation of education activities at refugee/IDPs sites and for host community in Somali region. The purpose of the Education Project Officer position is to support the day-to-day implementation of the education Workstreams/CCs in the regions."
Then:
Text: " " => inner text " " (non-breaking space). So a paragraph with just .
Then:
Generic responsibilities
Text: "Generic responsibilities " => inner text "Generic responsibilities "
Then:
Text: " " => " "
Then a with list items (Generic responsibilities). Let's extract each - text.
- Coordinate Refugee/IDPs and hosting community education activities according to strategy, proposals, budgets and plans of the education programme in the region,
Text: "Coordinate Refugee/IDPs and hosting community education activities according to strategy, proposals, budgets and plans of the education programme in the region,"
Note trailing comma.
Second:
- Ensure adherence to NRC policies and donor requirements,
Text: "Ensure adherence to NRC policies and donor requirements,"
Third:
- Involve and inform communities and community leaders about the activities
Text: "Involve and inform communities and community leaders about the activities "
Fourth:
- Break down the annual operational plans into weekly, monthly and quarterly implementation plans
Text: "Break down the annual operational plans into weekly, monthly and quarterly implementation plans"
Fifth:
- Coordinate with monitoring agencies like RRS, UNHCR, relevant local authorities and partners
Text: "Coordinate with monitoring agencies like RRS, UNHCR, relevant local authorities and partners"
Sixth:
- Ensure that procurement, development and distribution of materials and equipment are timely and according to procedures
Text: "Ensure that procurement, development and distribution of materials and equipment are timely and according to procedures"
Seventh:
- Train and develop team(both National and incentive workers)
Text: "Train and develop team(both National and incentive workers)"
Eighth:
- Prepare periodic progress reports and other documents as required
Text: "Prepare periodic progress reports and other documents as required"
Ninth:
- Investigate and facilitate introduction of new technology, methods and approaches in order to improve the quality of the education activities
Text: "Investigate and facilitate introduction of new technology, methods and approaches in order to improve the quality of the education activities"
Tenth:
- Continuously maintain the effectiveness, efficiency and quality of programme
Text: "Continuously maintain the effectiveness, efficiency and quality of programme "
After that list, we have:
Text: " " => " "
Then:
Specific responsibilities
Text: "Specific responsibilities " => "Specific responsibilities "
Then:
Text: " "
Then a with list items (Specific responsibilities). Let's extract each.
- Establish and support Centre Management Committee including their capacity sharing training.
Text: "Establish and support Centre Management Committee including their capacity sharing training."
Second:
- Design community mobilization mechanisms, selection/enrollment of project participants and maintain regular attendance of the designated programme.
Text: "Design community mobilization mechanisms, selection/enrollment of project participants and maintain regular attendance of the designated programme."
Third:
- Work with the
. Must preserve original content word-for-word, no addition, removal, summarizing, rephrasing. So we need to extract the text content from the given HTML snippet, preserving exact wording, and then wrap sections appropriately. We need to identify sections: The original text includes headings like "Competencies", "Professional competencies", "Generic professional competencies for this position", "Context related skills; knowledge and experience", "Behavioral competencies", "Role and responsibilities", "Generic responsibilities", "Specific responsibilities". Also there is a note about NRC only advertises... That's a paragraph. We need to use
for section headers. So each heading should become Heading text
. The heading text should be exactly as appears (including punctuation?). The original headings have various formatting: e.g., "
Competencies
" That's "Competencies". There's a non-breaking space after. We need to preserve word-for-word, but we can normalize spaces? The instruction: preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. So we must keep the exact characters, including ? The original HTML includes entities. In the output HTML we should preserve them as they appear? Probably we should keep the text as it appears, but we are converting to clean HTML, so we should replace with a regular space? The instruction says preserve original content word-for-word. If we change to a space, that's a change. However, the output is HTML; we could keep the entity as is. That would preserve the original content. So we should keep as is. Similarly, there are other entities like inside list items. We should keep them. We also need to strip out all original HTML tags and inline styles, but keep the text content (including entities). Then wrap in appropriate tags. We must not add any extra content. So we must not add any new text like "Job Title:" etc. Just the content. Thus we need to parse the given HTML snippet, extract the text nodes (including entities), and then apply formatting: headings become, list items become
- , paragraphs become
- ) we put inside
- . If it's a paragraph (
...
) we should extract the inner text and put as - text.
We must not add any extra tags like . So final output will be a sequence of
,
,
- ...
Competencies
Text: "Competencies " (including the entity). So heading: Competencies Next:Competencies are important in order for the employee and the organisation to deliver desired results. Competencies are relevant for all staff and are divided into the following three categories:
Text: "Competencies are important in order for the employee and the organisation to deliver desired results. Competencies are relevant for all staff and are divided into the following three categories:" Next:
Text: " " (just an entity). So a paragraph with a non-breaking space. Next:Professional competencies
Text: "Professional competencies "? Actually the span contains Professional competencies . So the text is "Professional competencies " with underline tags. We need to extract the inner text: "Professional competencies ". So heading. Next:These skills, knowledge and experience are important for effective performance.
Text: "These skills, knowledge and experience are important for effective performance. " Next:
Text: " " Next:Generic professional competencies for this position:
Text: "Generic professional competencies for this position: " So inner text: "Generic professional competencies for this position:" plus an after colon? Actually there is a colon then . So text: "Generic professional competencies for this position:" then . So heading. Next we have a- with list items.
- BA Degree in education, preferably in Pedagogical science, Educational Planning and Management, Educational Administration or related. ... etc. We need to extract each
- 's text content (including inner spans, preserving ). The
- may have inline style but we ignore.
Let's list them:
1. "BA Degree in education, preferably in Pedagogical science, Educational Planning and Management, Educational Administration or related. "
2. "Three years of experience as Technical and Vocational Training (TVET) teachers/administrator and economic empowerment."
Note: there is no at end? The original: "Three years of experience as Technical and Vocational Training (TVET) teachers/administrator and economic empowerment." No .
3. "Experience from working as a Education Project Officer in a humanitarian/recovery context including skill training and economic empowerment aspect is an asset "
4. "Previous experience from working in complex and volatile contexts"
5. "Documented results related to the position’s responsibilities"
6. "Knowledge about own manager skills/profile "
7. "Fluency in English, Somali/ Amharic both written and verbal "
Note: there may be trailing spaces.
After that list, we have:
Then:Context related skills; knowledge and experience (shall be adapted to the specific position):
Wait: original: "Context related skills; knowledge and experience (shall be adapted to the specific position): " Let's capture: The contains "Context related skills; knowledge and experience". Then after we have " (shall be adapted to the specific position): ". So the whole text inside the span is: "Context related skills; knowledge and experience (shall be adapted to the specific position): ". So inner text: "Context related skills; knowledge and experience (shall be adapted to the specific position):" plus . Thus heading. Then a- with list items:
Knowledge of the context in refugees/IDP in Somali region
So text: "Knowledge of the context in refugees/IDP in Somali region "
Second:
Knowledge of the local language which is an asset
Text: "Knowledge of the local language which is an asset " Note there is a space before ? Actually "asset " includes a space then entity.
Third:
Experience in general education, in TVET and income generation and economic empowerment with start-up packages is an advantage
Text: "Experience in general education, in TVET and income generation and economic empowerment with start-up packages is an advantage "
After that list, we have:
Planning and delivering results
... etc.
List items:
1. "Planning and delivering results"
2. "Empowering and building trust"
3. "Communicating with impact and respect"
4. "Handling insecure environment"
5. "Coordination and working with others"
Note: some have margin styles but ignore.
After that list, we have:
- text.
- Coordinate Refugee/IDPs and hosting community education activities according to strategy, proposals, budgets and plans of the education programme in the region, Text: "Coordinate Refugee/IDPs and hosting community education activities according to strategy, proposals, budgets and plans of the education programme in the region," Note trailing comma. Second:
- Ensure adherence to NRC policies and donor requirements, Text: "Ensure adherence to NRC policies and donor requirements," Third:
- Involve and inform communities and community leaders about the activities Text: "Involve and inform communities and community leaders about the activities " Fourth:
- Break down the annual operational plans into weekly, monthly and quarterly implementation plans Text: "Break down the annual operational plans into weekly, monthly and quarterly implementation plans" Fifth:
- Coordinate with monitoring agencies like RRS, UNHCR, relevant local authorities and partners Text: "Coordinate with monitoring agencies like RRS, UNHCR, relevant local authorities and partners" Sixth:
- Ensure that procurement, development and distribution of materials and equipment are timely and according to procedures Text: "Ensure that procurement, development and distribution of materials and equipment are timely and according to procedures" Seventh:
- Train and develop team(both National and incentive workers) Text: "Train and develop team(both National and incentive workers)" Eighth:
- Prepare periodic progress reports and other documents as required Text: "Prepare periodic progress reports and other documents as required" Ninth:
- Investigate and facilitate introduction of new technology, methods and approaches in order to improve the quality of the education activities Text: "Investigate and facilitate introduction of new technology, methods and approaches in order to improve the quality of the education activities" Tenth:
- Continuously maintain the effectiveness, efficiency and quality of programme Text: "Continuously maintain the effectiveness, efficiency and quality of programme " After that list, we have:
- Establish and support Centre Management Committee including their capacity sharing training. Text: "Establish and support Centre Management Committee including their capacity sharing training." Second:
- Design community mobilization mechanisms, selection/enrollment of project participants and maintain regular attendance of the designated programme. Text: "Design community mobilization mechanisms, selection/enrollment of project participants and maintain regular attendance of the designated programme." Third:
- Work with the
Text: " " => " " Then:Specific responsibilities
Text: "Specific responsibilities " => "Specific responsibilities " Then:
Text: " " Then a- with list items (Specific responsibilities). Let's extract each.
Then:Behavioral competencies
Text: "Behavioral competencies" => inner text "Behavioral competencies" Then a- with list items:
Then:NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization.
Text: "NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization." => inner text: "NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization." Then two empty paragraphs:
Each contains " ". Then:Role and responsibilities
Text: "Role and responsibilities" => inner text "Role and responsibilities" Then:The Education Project Officer is based at Dekasuftu in Somali Region, be responsible for the implementation of education activities at refugee/IDPs sites and for host community in Somali region. The purpose of the Education Project Officer position is to support the day-to-day implementation of the education Workstreams/CCs in the regions.
Text: "The Education Project Officer is based at Dekasuftu in Somali Region, be responsible for the implementation of education activities at refugee/IDPs sites and for host community in Somali region. The purpose of the Education Project Officer position is to support the day-to-day implementation of the education Workstreams/CCs in the regions." Then:
Text: " " => inner text " " (non-breaking space). So a paragraph with just . Then:Generic responsibilities
Text: "Generic responsibilities " => inner text "Generic responsibilities " Then:
Text: " " => " " Then a- with list items (Generic responsibilities). Let's extract each
) that is not heading nor list item, we wrap in
. Also we need to ensure that list items that contain
inside (like
. Ensure we preserve original whitespace? Probably we can collapse multiple spaces? But that would be altering content. Safer to keep as is, but we can normalize line breaks? The instruction says preserve ALL original content word-for-word. That includes spaces and line breaks? Hard to guarantee. But we can approximate by keeping the text exactly as appears between tags, preserving internal spaces. We need to identify headings: The text "Competencies", "Professional competencies", "Generic professional competencies for this position", "Context related skills; knowledge and experience", "Behavioral competencies", "Role and responsibilities", "Generic responsibilities", "Specific responsibilities". Also maybe "Professional competencies" is underlined with . The heading text includes underline tags; we need to keep the text but not the tags. So we should extract the inner text of those tags, preserving the letters and any inside. Similarly, there is a note: "
NRC only advertises job openings in the organization website through Ethiojobs, and any advertisements published on other websites or social media do not represent our organization.
" That's a paragraph (maybe not a heading). Should be wrapped in. Also there are empty paragraphs with just or spaces; we should preserve them? They are empty except for maybe. The instruction: preserve ALL original content word-for-word. If we drop those empty paragraphs, we are removing content (the ). So we should keep them as
maybe. But they might be considered formatting artifacts; but they are part of original content. However, they might be considered stray formatting artifacts that we should remove? The earlier instruction for job listing editor said remove stray numbers or formatting artifacts. But now the task is to format as clean semantic HTML, preserving all original content word-for-word. The earlier instruction about removing stray numbers etc was for the first task (job listing editor). This second task is different: we receive a plain-text job description (but actually it's HTML). Our job: format it as clean semantic HTML, preserving all original content word-for-word. So we should not remove anything, even empty paragraphs. Thus we need to keep all text nodes, including those that are just or spaces. We need to wrap each block (original
etc) appropriately: if it's a heading (detected by strong or u etc?), we make
. If it's a list item (
How well do you match?
Get an instant AI match score for this role — free, takes 3 minutes.
Tailor your CV for this role
The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste.
Tailor My CV to This Job ✍️Let jobs find you
Leave your email and our AI matches you to new jobs across 24 African markets — free. You wait for the call.
Add your CV for real matches
Upload your CV and we score every new job against your real experience — only strong matches reach your inbox. Optional, but it makes your matches far sharper.
You're in.
We'll email you the moment a job matches your profile. Check your inbox for a welcome from My Job Concierge.
I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.