OL

Advancing Financial Adviser

Full-time Port Elizabeth, ZA
Posted 2 weeks, 3 days ago 21 views 0 applications

Job Description

We need to output clean semantic HTML per rules. Use

for paragraphs,

for section headers. No divs, no classes, no inline styles, no
. Must preserve all original content word-for-word. So we need to parse the raw text (which includes HTML tags with styles etc.) and extract the textual content, preserving it exactly, then wrap in appropriate tags. We must not add or remove content. So we need to keep all text as appears, but we can reformat using tags. However we must preserve word-for-word content; we can't change wording, but we can change tags. The content includes many spans, b, i etc. We need to strip those tags but keep the text inside. Also need to preserve whitespace? Probably just keep the text as is, but we can normalize spaces? The instruction: preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. So we must not alter the text itself. That means we cannot strip spaces or change punctuation. However we can remove HTML tags that are not part of content? Those tags are not content; they are formatting. The original content includes the text inside tags. So we need to extract the visible text exactly as it appears, preserving spaces and line breaks? The original text includes many empty paragraphs and line breaks. We should preserve them? Probably we can collapse multiple empty lines? But that would be removing content (empty lines). Might be considered content? Safer to keep them as

maybe? But we cannot add
etc. We can use

for paragraphs; empty paragraphs could be

. That preserves the empty paragraph as a paragraph with no content. That's okay. We need to identify sections: Qualifications and Experience, Other requirements, Skills, Competencies, Education, Closing Date, etc. Also there is introductory text: "Let's Write Africa's Story Together!" and "Old Mutual is a firm believer..." etc. We need to wrap each paragraph in

. For section headers, use

. The original text uses Qualifications and Experience etc. So we need to treat those as headers. We must not add any extra text. So we need to output something like:

Let's Write Africa's Story Together!

Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.

Qualifications and Experience

A minimum of Matric or equivalent

A minimum 12 months’ financial services experience as a Financial Adviser

A minimum of Long-term Insurance Class of Business completion.

Completion of additional FAIS requirements such as Investments Class of Business, the Regulatory Examination 5 (RE5), an FSCA-approved qualification will be advantageous.

Other requirements

A valid driver’s licence and own car

A clear criminal and credit check

Skills

Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Evaluating Information, Identifying Customer Needs, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships

... but we need to use

for section headers. The original had

empty tags. Those are not content; we should ignore them? They are tags with no text. If we ignore them, we are removing tags but not content. That's okay because they have no content. However there are also headers like

before each competency? Actually after "Competencies" there is a series of

then each competency word on its own line? Let's examine:

Competencies

Balances Stakeholders

Builds Networks

Communicates Effectively

Customer Focus

Ensures Accountability

Instills Trust

Interpersonal Savvy

Manages Complexity

... So after the Competencies header, there are empty

tags, then the text "Balances Stakeholders" then an empty

, then another empty

, then "Builds Networks", etc. This seems like formatting artifacts. The actual content likely is a list of competencies each on separate lines, but they got messed up with empty h3 tags. We need to preserve the text word-for-word: that includes "Balances Stakeholders", then maybe some whitespace, then "Builds Networks", etc. The empty h3 tags have no text, so we can ignore them (they add no content). However there may be spaces or line breaks? The original shows no spaces between the text and the tags. Eg: "Balances Stakeholders

Builds Networks". If we remove the

tags, we get "Balances StakeholdersBuilds Networks" which would concatenate words incorrectly, losing the separation. Actually there is no space between "Stakeholders" and "<". So removing the tags would join "Stakeholders" and "Builds". That would change content. We need to preserve the original spacing. The original likely had line breaks or spaces that got lost in HTML representation. But we only have the given string. We must preserve it exactly as given, meaning we cannot remove the

tags if they affect spacing? However the instruction says to return clean semantic HTML, removing formatting tags. Usually we strip tags and treat the text as content, assuming that tags were only for formatting and not part of content. The empty tags likely were meant as separators but have no content; removing them would change the visual layout but not the textual content if we assume there were line breaks or spaces originally. However we cannot guarantee. But given the task, we should treat the visible text as the content, ignoring empty tags. The resulting text would be missing separation between competencies. But maybe the original had line breaks after each competency that are not shown because they were inside

tags? Actually after each competency there is an empty

then another empty

then the next competency. There is no space. So if we strip tags, we get concatenated words. That seems wrong. Maybe we should treat each competency as separate line items within a list. The original likely intended each competency on its own line, but the scraping produced weird tags. We could infer that each competency is separated by those empty h3 tags, and we should insert line breaks or list items. However we cannot add content not originally present. But we could wrap each competency in
  • and separate them, but that would be adding structure not present. However the instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. So we cannot insert new text like line breaks or commas that weren't there. The original text as given includes the exact sequence: "Balances Stakeholders

    Builds Networks

    Communicates Effectively

    Customer Focus

    Ensures Accountability

    Instills Trust

    Interpersonal Savvy

    Manages Complexity". If we strip the

    tags, we get "Balances StakeholdersBuilds NetworksCommunicates EffectivelyCustomer FocusEnsures AccountabilityInstills TrustInterpersonal SavvyManages Complexity". That is definitely not preserving original content because we removed characters (the tags). But tags are not considered content? The instruction says preserve ALL original content word-for-word. The original content includes the tags? The raw scraped text includes HTML tags. But earlier they said we receive plain-text job description. However the given input includes HTML tags with styles etc. So it's not plain text; it's HTML snippet. The task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." But the provided job description includes HTML tags. This is contradictory. However we must follow the instruction: return clean semantic HTML, removing all formatting tags, preserving the textual content. So we should strip all tags and treat the text inside as content. That means we will lose the empty h3 tags but they have no textual content, so okay. The concatenation issue arises because there is no space between the text and the tag. In the original rendered HTML, there would be no space either; the text would appear directly adjacent to the empty tag, which renders nothing, so the text would appear concatenated. So the visual output would be "Balances StakeholdersBuilds Networks..." which seems unlikely intended. Probably the original source had line breaks or spaces that got lost in the representation. But we must work with given text. Given the ambiguity, I think the best approach is to treat each competency as separate line items, but we need to preserve the exact text as appears between tags. Let's extract the text nodes: We can parse the string: after Competencies header, we have:

    Balances Stakeholders

    Builds Networks

    Communicates Effectively

    Customer Focus

    Ensures Accountability

    Instills Trust

    Interpersonal Savvy

    Manages Complexity

    ... So the text nodes are: "Balances Stakeholders", then "", then "Builds Networks", then "", then "Communicates Effectively", etc. Actually the empty h3 tags produce no text. So the text nodes are those phrases. There is no whitespace between them in the source, but they are separate text nodes. When we render ignoring tags, we would concatenate them with no space. However if we wrap each in

    or

  • , we would insert line breaks, which adds content (newline) not originally present. But maybe we can treat them as separate paragraphs without adding extra characters: we could output each as

    Balances Stakeholders

    Builds Networks

    etc. That would insert a line break between paragraphs (due to block-level elements) but not add visible characters. The instruction about preserving content word-for-word likely refers to visible text, not whitespace. Adding block-level elements changes rendering but not the text content. I think it's acceptable. Thus we will output each competency as a separate

    (or maybe

  • under a
      for Skills? But competencies are separate section; we could use
      • for list items. The rule: Use
        • for list items (duties, requirements, qualifications, skills). Competencies could be considered similar to skills, so we could use list. But the rule says use
          • for list items (duties, requirements, qualifications, skills). It doesn't forbid using for competencies. Safer to use

            for each. But we also have Skills section: after Skills header, there are empty

            tags then a long line of skills separated by commas. That is a list of skills; we could keep as a single paragraph or split into list items. The rule says use

            • for list items (duties, requirements, qualifications, skills). So we should split the skills into list items. The original text: "Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Evaluating Information, Identifying Customer Needs, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships". That's a comma-separated list. We should split into
            • items. However we must preserve original content word-for-word; splitting and adding
            • tags does not change the text inside each item, just adds tags. That's acceptable. Similarly for Qualifications and Experience: each requirement is in its own

              already. We can keep as

              or maybe

              • . The rule says use
                • for list items (duties, requirements, qualifications, skills). So we should convert those to list items. However the original had each requirement in separate

                  . Changing to

                • would change structure but not content. Probably acceptable. But we must be careful not to add or remove any words. So we will extract the exact text strings. Let's go through the input and extract all visible text. I'll manually parse: Start:

                  Let's Write Africa's Story Together!

                  -> Text: "Let's Write Africa's Story Together!" (note HTML entity ' for apostrophe). We must preserve that exactly? The original includes the entity. In output HTML, we can keep the entity or convert to actual apostrophe? Preserving word-for-word means we should keep the entity as is. However if we output as plain HTML, the entity will be rendered as apostrophe. That's okay; it's still the same character. But the original text had the entity; converting to actual apostrophe changes the source but not the rendered output. The instruction likely about visible text. I'll keep the apostrophe as ’? Actually the entity is ' which is apostrophe. I'll output as apostrophe (') for readability. But to be safe, I could keep the entity. However the output is HTML; using the entity is fine. I'll keep as '. Next:

                  Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.

                  -> Text: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." Note there is a trailing space before closing span? The text includes a space after "this."? Actually there is a space before closing . We'll keep the text as "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." (trim trailing space? The space is part of content; but we can keep it; but trailing space likely irrelevant. I'll keep without trailing space. Then two empty

                  tags:

                  -> empty paragraphs. Then:

                  Qualifications and Experience

                  -> The text: "Qualifications and Experience" plus a space? There's after the bold, which is a space. So the paragraph contains "Qualifications and Experience " (with trailing space). We'll treat header as "Qualifications and Experience". The trailing space is not meaningful; we can ignore. Then:

                  A minimum of Matric or equivalent

                  -> Text: "A minimum of Matric or equivalent" plus two spaces? Actually there are two spaces. We'll keep the phrase without extra spaces. Then:

                  A minimum 12 months’ financial services experience as a Financial Adviser

                  -> "A minimum 12 months’ financial services experience as a Financial Adviser" Then:

                  A minimum of Long-term Insurance Class of Business completion.

                  -> "A minimum of Long-term Insurance Class of Business completion." Then:

                  Completion of additional FAIS requirements such as Investments Class of Business, the Regulatory Examination 5 (RE5), an FSCA-approved qualification will be advantageous.

                  -> "Completion of additional FAIS requirements such as Investments Class of Business, the Regulatory Examination 5 (RE5), an FSCA-approved qualification will be advantageous." Then empty

                  Then:

                  Other requirements

                  -> Header "Other requirements" Then empty

                  Then:

                  A valid driver’s licence and own car

                  -> "A valid driver’s licence and own car" Then:

                  A clear criminal and credit check

                  -> "A clear criminal and credit check" Then empty

                  Then:

                  Skills

                  -> Header "Skills" Then two empty

                  Then:

                  Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Evaluating Information, Identifying Customer Needs, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships

                  -> The text is the long string of skills. Note there are two empty p before it, and an empty p after. We'll treat
  • Apply Now ↗

    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 📝
    MJC
    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.

    How was your experience with ECHO?