. Must preserve all original content word-for-word, no additions, no removal. The input is a job description with many HTML tags and inline styles. We need to strip all styling and produce plain semantic HTML.
We must keep the text exactly as appears (word-for-word). So we need to extract the textual content from the given HTML, preserving order, and then wrap appropriate sections with
for headers (like "Business Growth & Commercial Leadership (30%)", "Sales Management & Market Execution (20%)", etc.) and
for list items. Also there is a section "MINIMUM POSITION QUALIFICATION REQUIREMENTS" which seems to be a header, then an ordered list with lower-alpha. The instruction says use
for list items (duties, requirements, qualifications, skills). It didn't forbid but says use
for list items. However we must preserve original content word-for-word; changing to
would alter content (the markup). But we are to output HTML, not necessarily preserve the original markup; we must preserve the textual content word-for-word, but we can change the markup to semantic HTML as per rules. The rule: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". That refers to the text content, not the markup. So we can change list type to
as long as we keep the same textual items. The original had with lower-alpha; we can change to
but that changes the markup, not the text. That's allowed because we are to output HTML per spec. However spec says "Use
for list items (duties, requirements, qualifications, skills)". So we should use
for all list items.
We also need to handle the table within qualifications. That's a table with rows for Education etc. We need to preserve the text content but not use
or tables? The spec says no
s, but didn't forbid
. However we should aim to use semantic HTML: maybe we can represent the table as
or
? But we must preserve all original content word-for-word. If we change the table to something else, we might lose the structure but the text content remains same. The spec didn't forbid
. It only said no
s, no , no CSS classes, no inline styles. It didn't forbid
. So we could keep the table but strip attributes and classes. However the spec says "Use
for introductory paragraphs and general text; Use
for section headers; Use
for list items". It doesn't say we cannot use other tags like
. But to be safe, we could keep the table but remove all attributes and just have
... etc. However the spec says no CSS classes, no inline styles. So we can keep
but remove style attributes. Also we must not add any extra content.
Thus we need to parse the given HTML and produce a cleaned version.
Let's extract the text content sections.
The given HTML starts with:
Business Growth & Commercial Leadership (30%)
So header: "Business Growth & Commercial Leadership (30%)". Note the ampersand is encoded as &. We need to preserve original content word-for-word, so we should keep "&" as is? The original text includes &. In the HTML source it's &. The visible text would be "Business Growth & Commercial Leadership (30%)". But we must preserve original content word-for-word, meaning the exact characters as they appear in the source? Usually "preserve ALL original content word-for-word" refers to the visible text, not the HTML entities. But ambiguous. Safer to keep the entity as is? However the output is HTML, so we can output the actual ampersand character "&". That would be a change (entity vs char). But the spec says do not add, remove, summarise, or rephrase. Changing & to & is not adding or removing content, but it's changing representation. Might be considered rephrasing? Safer to keep the entity &. However in HTML, & is the correct way to display an ampersand. If we output just "&", the browser would interpret as start of entity and could cause issues if not followed by a semicolon. So better to output "&". We'll keep as &.
Thus header text: "Business Growth & Commercial Leadership (30%)". We'll wrap in
.
Then we have a
with several
each containing a
with span text.
We need to output
for each item, preserving the text inside the
(including any internal punctuation). The text inside each
is:
- Execute the DFS Commercialization & Growth strategy aligned with the Bank’s overall business, digital transformation, and growth objectives.
- Drive sustainable revenue growth, customer acquisition, product adoption, and transaction volume expansion across all DFS products and channels.
- Identify and pursue new business opportunities, customer segments, value chains, and market expansion initiatives.
- Develop commercial plans, budgets, forecasts, and growth targets for the DFS business.
- Establish and monitor strategic growth initiatives to maximize market share and profitability.
Note the apostrophe in Bank’s is a special curly apostrophe. We must preserve it exactly as appears. In source it’s “Bank’s” with a right single quotation mark (Unicode U+2019). We'll keep that.
Also there is an ampersand in "DFS Commercialization & Growth". Keep &.
After that list, there is a
which is a non-breaking space. That's basically an empty paragraph with a space. We should preserve content? It's just a space. Probably we can ignore as it's just formatting. But spec says preserve all original content word-for-word. The content is which is a non-breaking space character. If we omit it, we are removing content. However it's just a blank line; maybe we can keep an empty
but we cannot have inline styles. We could output
(no style). That preserves the entity. That seems okay.
Then next header: "
Sales Management & Market Execution (20%)
"
Header: "Sales Management & Market Execution (20%)". Wrap in
.
Then a
with list items:
- Manage sales execution for DFS products and services.
- Drive customer acquisition, onboarding, activation, engagement, and retention across digital channels.
- Develop and implement sales initiatives to increase active users, transaction volumes, and channel utilization.
- Guide and train the relationship, and sales teams.
- Ensure effective execution of product launches, campaigns, and customer activation programs.
Note there is an extra
inside the last
after the text? Actually the last
contains:
Ensure effective execution of product launches, campaigns, and customer activation programs.
So there is a paragraph with a non-breaking space after the text. We need to preserve that as part of the list item? The list item includes that empty paragraph. So we should include
items:
- Increase customer usage and transaction volumes across mobile banking, agency banking, cards, merchant payments, digital payments, and other DFS solutions.
- Drive customer migration from traditional banking channels to digital channels.
- Develop customer activation and retention strategies to improve customer lifetime value.
- Establish initiatives to increase digital transaction revenues and channel profitability.
- Monitor customer behavior and product utilization trends to improve adoption and commercial performance.
Again last
has a trailing
.
Next header: "
Ecosystem Development & Partnerships (10%)
"
Header: "Ecosystem Development & Partnerships (10%)".
.
Then a
(empty) before the
.
Then
items:
- Develop and implement ecosystem banking and value chain strategies to deepen customer relationships and unlock new revenue opportunities.
- Expand KCB’s digital distribution footprint through strategic partnerships with corporates, fintechs, merchants, aggregators, telecommunications companies, and other ecosystem players.
- Identify and develop partnerships that drive customer acquisition, transaction growth, and business expansion.
- Manage DFS customers promotions negotiations and management of commercial partnerships supporting DFS growth objectives.
Last
has trailing
.
Next header: "
Cross-Selling & Customer Value Maximization (10%)
"
Header: "Cross-Selling & Customer Value Maximization (10%)". Note the hyphen in Cross-Selling is plain hyphen. Keep.
Then
items:
- Promote value chain banking opportunities across key sectors and key customer base groups.
- Drive cross-selling opportunities across Retail Banking, SME Banking, Corporate Banking, Agency Banking, Merchant Payments, and Digital Banking businesses.
- Collaborate with business units to maximize customer penetration and wallet share.
- Design customer engagement initiatives that enhance product usage and deepen banking relationships.
- Develop propositions tailored to key customer segments and industry value chains.
Note first item ends with " " after the period? Actually text: "Promote value chain banking opportunities across key sectors and key customer base groups. " So there is a non-breaking space after the period. We'll keep that.
Last
items:
- Monitor and manage DFS sales performance across regions, customer segments, and product lines.
- Track achievement against budgets, targets, and business plans while identifying corrective actions where needed.
- Utilize market intelligence, customer insights, and analytics to identify growth opportunities and improve performance.
- Conduct profitability analysis and commercial reviews to optimize resource allocation and investment decisions.
Last
has trailing
.
Next header: "
Stakeholder Management (10%)
"
Header: "Stakeholder Management (10%)".
.
Then
items:
- Work closely with Retail, Corporate, SME, Operations, Technology, Marketing, Risk, and Finance teams to drive DFS business growth.
- Serve as the key commercial interface between DFS and regional business teams.
- Build strong relationships with internal and external stakeholders to support strategic business objectives.
- Represent the DFS department in the different regions of industry forums, innovation platforms, and digital financial services initiatives.
No trailing after last? Actually there is no extra
after the last
. The HTML shows the
then a
after the list (separator). So we will not include extra inside the last
.
After that list, there is a
(separator) before the qualifications header.
Next header: "
MINIMUM POSITION QUALIFICATION REQUIREMENTS
"
Header: "MINIMUM POSITION QUALIFICATION REQUIREMENTS". Should we wrap in
? Yes, it's a section header. Use
.
Then we have an with a single
containing a
with "Academic & Professional
". That's a subheader inside the list item. According to spec, we should use
for list items. So we will change the to
and keep the text.
Inside that
, we have a
with bold text "Academic & Professional". We'll keep that as
Academic & Professional
(but we need to preserve the bold? The spec didn't forbid or . It only said use
for introductory paragraphs and general text,
for section headers,
for list items. It didn't forbid other inline tags like , , . However we should avoid adding classes or inline styles. We can keep as it's semantic. The original had inside spans. We can output Academic & Professional. That preserves the text and the bold semantics.
Then after that, there is a
... The table contains rows with headers and data.
We need to preserve the table content word-for-word. We can keep the
but remove all attributes (like border, cellspacing, cellpadding, style, width, etc.) and also remove the class on figure. Also we should remove the wrapper? The spec didn't forbid . But we can keep it but remove class. However spec says no CSS classes, no inline styles. So we must remove class="table" and any style attributes. Also remove width, border, cellspacing, cellpadding attributes. Keep only the table structure.
The table has:
with rows.
First row:
We need to preserve the link and its inner span. The link has href="#_ftn1", name="_ftnref1", title="". We should remove href, name, title attributes (they are not needed for content). But we must preserve the text "[1]" inside the span. The spec says preserve original content word-for-word. Removing attributes is okay as they are not content. However removing href might change the meaning but not the visible text. It's allowed.
We also need to keep the tag? Could we just output the text "[1]" without the ? That would be removing the tag, which is a tag but not content. The spec says preserve original content word-for-word, not necessarily the tags. It's ambiguous. Safer to keep the but strip attributes. So output [1] (no href). That preserves the link element but without attributes.
Then subsequent rows:
Row for Education: first cell rowspan="3" with "Education". Then second cell "Bachelor’s Degree". Third cell a long text: "Business Administration, Economics, Finance, Commerce, Mathematics, Statistics, Actuarial Science, Engineering, Computer Science, Information Technology, or any other related field." Fourth cell blank? Actually the fourth cell is empty? In HTML:
Leave your email and our AI matches you to new jobs across 24 African markets — free. You wait for the call.
By continuing you agree to our Privacy Policy and to receive job-match emails. Unsubscribe in one click, anytime.
Almost there
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.
ECHO
Your MJC Assistant
I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.