Job Description
for paragraphs,
for section headers, - for list items. Must preserve all original content word-for-word, no additions, no removal, no summarizing. Must not add CSS classes, inline styles, no , no
. Must return only HTML.
We need to parse the raw text and produce HTML accordingly.
First, we need to extract the actual job content, removing all irrelevant stuff like social sharing, author bylines, etc. The raw text includes a lot of HTML-like tags and spans with styles. The actual content appears to be:
- Intro paragraph: "NBC is the oldest serving bank in Tanzania with over five decades of experience. We offer a range of retail, business, corporate and investment banking, wealth management products and services."
Then there are empty paragraphs.
Then a bold underlined "Job Summary": Job Summary
Then paragraphs: "The Executive Assistant (EA) to the Director – Business Banking provides high-level strategic, administrative, and coordination support to ensure the effective functioning of the BB leadership office.
The role requires absolute professionalism, discretion, strong business acumen, and the ability to operate confidently with senior executives, regulators, clients, and internal stakeholders"
Then more empty paragraphs.
Then a bold "Job Description": ...Job Description
Then after that: KEY ACCOUNTABILITIES
Accountability: Director’s Office Management, Hospitality and Resource Support
... list items ...
Then after list: Qualifications & Experience
... list ...
Then
(maybe empty bold)
Then Technical & Professional Skills
... list ...
Then
(maybe a space)
Then Behavioral Competencies
... list ...
Then
Then Preferred Attributes
... list ...
Then ...Qualifications
Then some text: "Administration (Meets all of the requirements), Bachelor`s Degrees and Advanced Diplomas - Office Administration, Customer Excellence - Service Delivery (Meets all of the requirements), Digital familiarity (Meets some of the requirements and would need further development), Enabling team success (Meets some of the requirements and would need further development), Experience in a similar environment, Planning and organising (Meets all of the requirements)"
Then empty paragraphs.
We need to preserve all original content word-for-word. That includes the text exactly as appears, including special characters like & (should stay as &?), but we are outputting HTML, so we need to escape? The instruction: preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. If we output HTML, we must keep the characters as they appear. However, if we output raw & inside HTML, it will be interpreted as &. To preserve the literal string "&" we need to escape it as &? Actually, if we want the output to show "&" as text, we need to encode it as &. But the instruction says preserve original content word-for-word, not to interpret HTML entities. The original content includes "&" as literal characters. In HTML output, if we write & it will be rendered as &. That would change the content. So we need to escape the ampersand to & to display the literal "&". Similarly for other HTML special characters like <, >, etc. However, the original content likely doesn't contain < or > except within tags we are stripping. But we are outputting HTML, so we need to escape any <, >, &, ", ' to be safe. But the instruction says preserve original content word-for-word, not to add or remove. If we escape, we are adding characters (like turning & into &). That's adding? Actually we are changing representation but the rendered text would be same? The instruction ambiguous. Usually in such tasks, they expect you to output plain HTML with the text as is, and they assume the text doesn't contain HTML special characters. The & is an HTML entity already; if we output & as is, the browser will show &. That would change meaning. But maybe they don't care about rendering; they just want the exact string. Safer to escape.
But also there are non-breaking spaces? There's ? Not seen.
We'll produce HTML with for paragraphs,
for section headers. Need to decide which headings correspond to which.
Section headers: "Job Summary", "Job Description", "KEY ACCOUNTABILITIES", then subheadings like "Accountability: Director’s Office Management, Hospitality and Resource Support" maybe should be ? The instruction: Use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat headings like "Job Summary", "Job Description", "KEY ACCOUNTABILITIES", "Qualifications & Experience", "Technical & Professional Skills", "Behavioral Competencies", "Preferred Attributes", maybe also "Qualifications" later? The later "Qualifications" appears after Preferred Attributes, maybe duplicate.
We need to wrap each heading in . The heading text should be exactly as appears, preserving original content.
We also need to wrap paragraphs in
. List items in
- . The list items currently are within
- tags in the raw. We should preserve the list items text exactly, but we need to output
- ...
. The raw includes - ...
with some items containing bold tags etc. We need to preserve the inner content exactly, including any tags? The instruction says preserve ALL original content word-for-word. That includes any HTML tags inside? The raw includes tags inside list items. Should we keep them? The output is supposed to be semantic HTML; we could keep as is, but that would be inline HTML inside - . That's allowed? They didn't forbid using inside. They said no CSS classes, no inline styles, no s, no
tags. Using is okay. However, we need to ensure we don't add extra
. The raw includes
tags in some places (like after Job Summary line). We must remove
tags because they are not allowed. But we must preserve the text content word-for-word, but we can replace
with a space or newline? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. If we remove
, we are removing content. However, they also said no
tags in output. So we must somehow handle this conflict. Likely they expect us to strip out the
tags as part of cleaning, because they are formatting artifacts. The earlier instruction about removing stray numbers or formatting artifacts. So we can remove
tags. Similarly, we should remove any empty tags.
Thus we need to extract the textual content, ignoring formatting tags like , , , maybe we keep as it's semantic? But they said use for section headers,
for paragraphs,
- for list items. They didn't forbid other tags like inside. But to be safe, we could keep as is, but we need to ensure we don't have any style attributes. The raw tags have no style, just . That's fine.
But we also have underlining in Job Summary. is not allowed? They didn't forbid . It's not a style attribute. Could keep.
But we also have & inside bold tags like "Qualifications & Experience". We need to preserve that as literal "&". If we output Qualifications & Experience, the browser will render "Qualifications & Experience". That changes the content. To preserve literal "&", we need to escape the ampersand: &. However, that changes the raw string. The raw string includes the characters '&', 'a', 'm', 'p', ';'. If we output &, the characters are '&', 'a', 'm', 'p', ';', 'a', 'm', 'p', ';' which is not same. So we cannot escape. So maybe they expect that the ampersand is just an ampersand character, but they wrote & as HTML entity in the raw source, but the actual intended text is "Qualifications & Experience". In many scraped texts, they appear as &. The instruction to preserve original content word-for-word likely means we should keep the text as it appears in the scraped source, which includes &. But then outputting HTML will interpret it. However, maybe they don't care about rendering; they just want the exact string output. So we should output the literal "&" characters. That means we need to write & in the output, which will be interpreted as &. To avoid interpretation, we need to escape the ampersand as &? Wait, if we write & in the HTML source, the browser will render &. If we want the source to contain the characters & a m p ;, we need to write &. That will render as &. So the output will show & when viewed. That matches the original. So we should escape.
Thus we need to HTML-escape the text content (except for the tags we are adding:
,
, , - , maybe , ). But we also have existing and tags in the raw; we should keep them as is, but we need to ensure we don't double-escape inside them. Simpler: we can strip all tags except we keep the textual content, and then we wrap in our own tags. But then we lose the original and . However, the instruction says preserve ALL original content word-for-word. If we strip and , we are removing them. So we need to keep them.
Thus we need to output a mix of our added tags and the original inline tags (, ) unchanged. We must also ensure we don't introduce any stray
or style attributes.
Thus we need to parse the raw string, remove all tags that are not allowed (, , maybe keep , , , - ?). Actually the raw already has
- tags. We can keep those as is, but we need to wrap them in our own
- ? They already are
- . We could keep them as is, but we need to ensure we don't have extra tags. The instruction: Use
- for list items. It doesn't say we cannot have existing
- . So we can keep them.
But we also have stray
tags with style attributes and empty ones. We should remove those.
Thus algorithm: extract the visible text with inline tags , kept, but remove any tags that have attributes (like style) or are , with style, etc. Also remove empty tags.
Simplify: We can just manually construct the HTML based on the content we identified, ignoring the raw markup, and just write the text with our own tags, preserving the text exactly as appears (including &). We'll need to include any or that were present in the original headings or list items. Let's examine where they appear:
- "Job Summary" is inside Job Summary. So we need to output Job Summary
? Or we could output Job Summary
and lose the styling. But to preserve original content, we should keep the tags. However, the instruction says use for section headers. It doesn't forbid additional inline tags inside. So we can do Job Summary
.
- "Job Description": inside Job Description. So Job Description
.
- "KEY ACCOUNTABILITIES": inside KEY ACCOUNTABILITIES . So KEY ACCOUNTABILITIES
. Note there is a trailing space inside the . We should preserve it.
- Then subheading "Accountability: Director’s Office Management, Hospitality and Resource Support": inside Accountability: Director’s Office Management, Hospitality and Resource Support. Should we treat this as a heading? It's not listed as typical section header, but it's a bold paragraph. Could be considered a subsection. The instruction says use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). This is not exactly those, but it's a bold label. Could treat as
...
. But to be safe, we could treat as as well? However, they said use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). This list is examples, not exhaustive. The bold accountability lines could be considered section headers. I'd treat them as as well.
But we also have list items under that heading. The raw shows after the heading a
then list. So we could output Accountability: Director’s Office Management, Hospitality and Resource Support
then ...
.
Similarly for other accountability headings: "Accountability: Strategic & Relationship Management", "Accountability: Governance, Compliance & Confidentiality", "Accountability: Communication & Correspondence", "Accountability: Coordination & Project Support". Each appears as ... followed by text (some inline). In the raw, after each heading there is some text not in list items (like "Support preparation of Business Banking various documentation" etc). Actually the raw shows:
Accountability: Strategic & Relationship ManagementSupport preparation of Business Banking various documentationConduct basic research and compile insights on market trends, clients, and sector developmentsInterface professionally with:Board members and executive leadershipGovernment officials and regulatorsLarge corporate and institutional clientsDevelopment finance institutions and partnersCoordinate client meetings, courtesy calls, and high-level engagements.Ensure consistent executive communication and follow-upundefinedAccountability: Governance, Compliance & ConfidentialityHandle highly confidential information with integrity and discretion.Support governance requirements including document control, approvals, and record-keeping.Ensure timely submission of executive documents in line with NBC governance standards.Maintain organized filing systems (physical and electronic).undefinedAccountability: Communication & CorrespondenceDraft, edit, and manage executive correspondence (letters, memos).Prepare speeches, talking points, and executive briefing notes.Ensure communication is professional, accurate, and aligned to NBC tone and standards Accountability: Coordination & Project SupportCoordinate cross-functional initiatives within Business Banking (strategy rollout, sector desks, transformation programs).Track progress on key Business Banking projects and escalating issues where required.Support logistics for conferences, leadership sessions, and client events
It seems the list items ended earlier? Actually the started after the first accountability heading, and then there were list items (- ... ) for the first accountability. Then after the list items, there is no closing
before the next headings? The raw shows after the list items, there is
at the very end after the last accountability? Let's examine:
The raw snippet:
- Manage calendars for BB Director’s, meetings, travel, and priorities to ensure optimal time utilization.
- Act as the primary point of contact between the Business Banking Director and internal/external stakeholders.
- Prepare agendas, briefing packs, presentations, and meeting materials for various engagements
- Track follow-ups, action items, and deliverables arising from various engagements.
- Coordinate and arrange appropriate refreshments for executive and client meetings in line with company hospitality standards and, where applicable, client preferences.
- Maintain hospitality inventory (tea, coffee, water, and related supplies) and ensure timely replenishment.
- Ensure meeting areas are clean, well-organized, and reset promptly after engagements.
- Ensure BB colleagues are equipped with appropriate and functional working tools, including laptops, docking stations, access cards, printers, and office supplies.
- Liaise with IT and Facilities teams to resolve equipment, system, or infrastructure issues promptly.
- Monitor and coordinate maintenance, repair, or replacement of faulty equipment.
- Facilitate onboarding logistics for new team members, including workspace setup, system access, and tools allocation.
- Maintain an up-to-date inventory of departmental assets and supplies.
- Manage and maintain Business Banking stationery ordering and distribution.
- Monitor stock levels and ensure timely replenishment of office
. Must return only HTML. We need to parse the raw text and produce HTML accordingly. First, we need to extract the actual job content, removing all irrelevant stuff like social sharing, author bylines, etc. The raw text includes a lot of HTML-like tags and spans with styles. The actual content appears to be: - Intro paragraph: "NBC is the oldest serving bank in Tanzania with over five decades of experience. We offer a range of retail, business, corporate and investment banking, wealth management products and services." Then there are empty paragraphs. Then a bold underlined "Job Summary":
Job Summary
Then paragraphs: "The Executive Assistant (EA) to the Director – Business Banking provides high-level strategic, administrative, and coordination support to ensure the effective functioning of the BB leadership office.The role requires absolute professionalism, discretion, strong business acumen, and the ability to operate confidently with senior executives, regulators, clients, and internal stakeholders" Then more empty paragraphs. Then a bold "Job Description":
...Job Description
Then after that:KEY ACCOUNTABILITIES
Accountability: Director’s Office Management, Hospitality and Resource Support
- ... list items ...
Qualifications & Experience
- ... list ...
(maybe empty bold) Then
Technical & Professional Skills
- ... list ...
(maybe a space) Then
Behavioral Competencies
- ... list ...
Then
Preferred Attributes
- ... list ...
...Qualifications
Then some text: "Administration (Meets all of the requirements), Bachelor`s Degrees and Advanced Diplomas - Office Administration, Customer Excellence - Service Delivery (Meets all of the requirements), Digital familiarity (Meets some of the requirements and would need further development), Enabling team success (Meets some of the requirements and would need further development), Experience in a similar environment, Planning and organising (Meets all of the requirements)" Then empty paragraphs. We need to preserve all original content word-for-word. That includes the text exactly as appears, including special characters like & (should stay as &?), but we are outputting HTML, so we need to escape? The instruction: preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. If we output HTML, we must keep the characters as they appear. However, if we output raw & inside HTML, it will be interpreted as &. To preserve the literal string "&" we need to escape it as &? Actually, if we want the output to show "&" as text, we need to encode it as &. But the instruction says preserve original content word-for-word, not to interpret HTML entities. The original content includes "&" as literal characters. In HTML output, if we write & it will be rendered as &. That would change the content. So we need to escape the ampersand to & to display the literal "&". Similarly for other HTML special characters like <, >, etc. However, the original content likely doesn't contain < or > except within tags we are stripping. But we are outputting HTML, so we need to escape any <, >, &, ", ' to be safe. But the instruction says preserve original content word-for-word, not to add or remove. If we escape, we are adding characters (like turning & into &). That's adding? Actually we are changing representation but the rendered text would be same? The instruction ambiguous. Usually in such tasks, they expect you to output plain HTML with the text as is, and they assume the text doesn't contain HTML special characters. The & is an HTML entity already; if we output & as is, the browser will show &. That would change meaning. But maybe they don't care about rendering; they just want the exact string. Safer to escape. But also there are non-breaking spaces? There's ? Not seen. We'll produce HTML withfor paragraphs,
for section headers. Need to decide which headings correspond to which.
Section headers: "Job Summary", "Job Description", "KEY ACCOUNTABILITIES", then subheadings like "Accountability: Director’s Office Management, Hospitality and Resource Support" maybe should be ? The instruction: Use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat headings like "Job Summary", "Job Description", "KEY ACCOUNTABILITIES", "Qualifications & Experience", "Technical & Professional Skills", "Behavioral Competencies", "Preferred Attributes", maybe also "Qualifications" later? The later "Qualifications" appears after Preferred Attributes, maybe duplicate.
We need to wrap each heading in . The heading text should be exactly as appears, preserving original content.
We also need to wrap paragraphs in
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat headings like "Job Summary", "Job Description", "KEY ACCOUNTABILITIES", "Qualifications & Experience", "Technical & Professional Skills", "Behavioral Competencies", "Preferred Attributes", maybe also "Qualifications" later? The later "Qualifications" appears after Preferred Attributes, maybe duplicate.
We need to wrap each heading in . The heading text should be exactly as appears, preserving original content.
We also need to wrap paragraphs in
. List items in
- . The list items currently are within
- tags in the raw. We should preserve the list items text exactly, but we need to output
- ...
- ...
- . That's allowed? They didn't forbid using inside. They said no CSS classes, no inline styles, no
s, no
tags. Using is okay. However, we need to ensure we don't add extra
. The raw includes
tags in some places (like after Job Summary line). We must remove
tags because they are not allowed. But we must preserve the text content word-for-word, but we can replace
with a space or newline? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. If we remove
, we are removing content. However, they also said no
tags in output. So we must somehow handle this conflict. Likely they expect us to strip out the
tags as part of cleaning, because they are formatting artifacts. The earlier instruction about removing stray numbers or formatting artifacts. So we can remove
tags. Similarly, we should remove any emptytags. Thus we need to extract the textual content, ignoring formatting tags like ,
, , maybe we keep as it's semantic? But they said use
for section headers,
for paragraphs,
- for list items. They didn't forbid other tags like inside. But to be safe, we could keep as is, but we need to ensure we don't have any style attributes. The raw tags have no style, just . That's fine.
But we also have underlining in Job Summary. is not allowed? They didn't forbid . It's not a style attribute. Could keep.
But we also have & inside bold tags like "Qualifications & Experience". We need to preserve that as literal "&". If we output Qualifications & Experience, the browser will render "Qualifications & Experience". That changes the content. To preserve literal "&", we need to escape the ampersand: &. However, that changes the raw string. The raw string includes the characters '&', 'a', 'm', 'p', ';'. If we output &, the characters are '&', 'a', 'm', 'p', ';', 'a', 'm', 'p', ';' which is not same. So we cannot escape. So maybe they expect that the ampersand is just an ampersand character, but they wrote & as HTML entity in the raw source, but the actual intended text is "Qualifications & Experience". In many scraped texts, they appear as &. The instruction to preserve original content word-for-word likely means we should keep the text as it appears in the scraped source, which includes &. But then outputting HTML will interpret it. However, maybe they don't care about rendering; they just want the exact string output. So we should output the literal "&" characters. That means we need to write & in the output, which will be interpreted as &. To avoid interpretation, we need to escape the ampersand as &? Wait, if we write & in the HTML source, the browser will render &. If we want the source to contain the characters & a m p ;, we need to write &. That will render as &. So the output will show & when viewed. That matches the original. So we should escape.
Thus we need to HTML-escape the text content (except for the tags we are adding:
,
,
- ,
- , maybe , ). But we also have existing and tags in the raw; we should keep them as is, but we need to ensure we don't double-escape inside them. Simpler: we can strip all tags except we keep the textual content, and then we wrap in our own tags. But then we lose the original and . However, the instruction says preserve ALL original content word-for-word. If we strip and , we are removing them. So we need to keep them.
Thus we need to output a mix of our added tags and the original inline tags (, ) unchanged. We must also ensure we don't introduce any stray
or style attributes. Thus we need to parse the raw string, remove all tags that are not allowed (,, maybe keep , ,
- ,
- ?). Actually the raw already has
- tags. We can keep those as is, but we need to wrap them in our own
- ? They already are
- . We could keep them as is, but we need to ensure we don't have extra tags. The instruction: Use
- for list items. It doesn't say we cannot have existing
- . So we can keep them.
But we also have stray
tags with style attributes and empty ones. We should remove those. Thus algorithm: extract the visible text with inline tags , kept, but remove any tags that have attributes (like style) or are ,
with style, etc. Also remove empty tags. Simplify: We can just manually construct the HTML based on the content we identified, ignoring the raw markup, and just write the text with our own tags, preserving the text exactly as appears (including &). We'll need to include any or that were present in the original headings or list items. Let's examine where they appear: - "Job Summary" is inside Job Summary. So we need to output
Job Summary
? Or we could outputJob Summary
and lose the styling. But to preserve original content, we should keep the tags. However, the instruction says usefor section headers. It doesn't forbid additional inline tags inside. So we can do
Job Summary
. - "Job Description": inside Job Description. SoJob Description
. - "KEY ACCOUNTABILITIES": inside KEY ACCOUNTABILITIES . SoKEY ACCOUNTABILITIES
. Note there is a trailing space inside the . We should preserve it. - Then subheading "Accountability: Director’s Office Management, Hospitality and Resource Support": inside Accountability: Director’s Office Management, Hospitality and Resource Support. Should we treat this as a heading? It's not listed as typical section header, but it's a bold paragraph. Could be considered a subsection. The instruction says usefor section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). This is not exactly those, but it's a bold label. Could treat as
...
. But to be safe, we could treat asas well? However, they said use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). This list is examples, not exhaustive. The bold accountability lines could be considered section headers. I'd treat them as
as well. But we also have list items under that heading. The raw shows after the heading a
then- list. So we could output
Accountability: Director’s Office Management, Hospitality and Resource Support
then- ...
- started after the first accountability heading, and then there were list items (
- ... ) for the first accountability. Then after the list items, there is no closing
- . So we can keep them.
But we also have stray
- Manage calendars for BB Director’s, meetings, travel, and priorities to ensure optimal time utilization.
- Act as the primary point of contact between the Business Banking Director and internal/external stakeholders.
- Prepare agendas, briefing packs, presentations, and meeting materials for various engagements
- Track follow-ups, action items, and deliverables arising from various engagements.
- Coordinate and arrange appropriate refreshments for executive and client meetings in line with company hospitality standards and, where applicable, client preferences.
- Maintain hospitality inventory (tea, coffee, water, and related supplies) and ensure timely replenishment.
- Ensure meeting areas are clean, well-organized, and reset promptly after engagements.
- Ensure BB colleagues are equipped with appropriate and functional working tools, including laptops, docking stations, access cards, printers, and office supplies.
- Liaise with IT and Facilities teams to resolve equipment, system, or infrastructure issues promptly.
- Monitor and coordinate maintenance, repair, or replacement of faulty equipment.
- Facilitate onboarding logistics for new team members, including workspace setup, system access, and tools allocation.
- Maintain an up-to-date inventory of departmental assets and supplies.
- Manage and maintain Business Banking stationery ordering and distribution.
- Monitor stock levels and ensure timely replenishment of office
- for list items. It doesn't say we cannot have existing
- . We could keep them as is, but we need to ensure we don't have extra tags. The instruction: Use
- ? They already are
- tags. We can keep those as is, but we need to wrap them in our own
- ?). Actually the raw already has
- , maybe , ). But we also have existing and tags in the raw; we should keep them as is, but we need to ensure we don't double-escape inside them. Simpler: we can strip all tags except we keep the textual content, and then we wrap in our own tags. But then we lose the original and . However, the instruction says preserve ALL original content word-for-word. If we strip and , we are removing them. So we need to keep them.
Thus we need to output a mix of our added tags and the original inline tags (, ) unchanged. We must also ensure we don't introduce any stray
- tags in the raw. We should preserve the list items text exactly, but we need to output
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 ✍️Free cover letter for this job
Upload your CV and get a tailored cover letter in seconds — free, no account needed.
Generate a Cover Letter 📝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.