OL

OMF Financial Consultant (Protea Gardens)

Full time Johannesburg, ZA
Posted 3 hours, 20 minutes ago 0 views 0 applications

Job Description

We need to output clean semantic HTML with

,

for section headers,
  • for list items. No CSS classes, no inline styles, no
    , no
    . Must preserve original content word-for-word, no addition or removal. Need to parse the raw text (which includes HTML tags and style attributes). We must extract the textual content, ignoring HTML tags and style attributes, but preserving the text exactly as appears (including punctuation, spaces?). The instruction: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". However we are to output HTML with tags. The original content includes many HTML tags with styles etc. We need to strip those and produce semantic HTML. The content includes things like:

    Let's Write Africa's Story Together!

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

    ... etc. We need to extract the visible text: "Let's Write Africa's Story Together!" (note the HTML entity ' should be apostrophe). Then "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." Then blank lines etc. Then there is "

    Job Description

    na". There's "na" after that? Actually the snippet: "

    Job Description

    na

    Provides advice on a specific range of products to a specific allocated market and are individually accountable for achieving results through their own efforts." So there is "na" maybe artifact. We must preserve original content word-for-word, but we are to remove formatting artifacts? The earlier instruction: "Remove stray numbers or formatting artifacts". In this task, we are to format as clean semantic HTML, preserving ALL original content word-for-word. However earlier they said remove stray numbers or formatting artifacts. The "na" looks like an artifact. Should we keep it? The rule says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. But also earlier they said remove stray numbers or formatting artifacts. There's a conflict. In the initial system message: "Remove ... Stray numbers or formatting artifacts". Then later user says: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". Which takes precedence? The user instruction is the latest, so we must preserve all original content word-for-word. However the earlier instruction about removing stray numbers/formatting artifacts is from the system description of the job listing editor task. But the user now asks to format as clean semantic HTML, preserving ALL original content word-for-word. So we must keep even the "na". But "na" appears as plain text not inside a tag? It appears after

    na. The original uses various heading tags:

    Responsibilities

    ,

    ,

    Customer Service

    , etc. Also there are Job Description, Skills, Competencies, Education, Closing Date. Also there is The appointment will be made... and The Old Mutual Story!. We need to treat these as section headers? 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 convert those headings to

    . For other bold text like "Job Description" maybe that's a section header as well? It appears before the description paragraph. Likely it's a section header. So we should wrap "Job Description" in

    . Similarly "Skills", "Competencies", "Education", "Closing Date". Also the italic bold statement maybe not a section header; it's a note. Should we keep as

    ? It's inside ... . We'll treat as

    (since not a listed section header). Also the final italic emphasis-2 line: "The Old Mutual Story!" maybe also a

    . We need to preserve original content word-for-word, meaning we must not change the text inside. So we need to output exactly the same strings, but wrapped in appropriate tags. We also need to convert list items for duties, requirements, qualifications, skills. The responsibilities are listed as series of

    headings each with a

    paragraph. Those are not list items but headings with paragraphs. According to instruction, we should use

    • for list items (duties, requirements, qualifications, skills). The responsibilities could be considered duties, so we should make each duty as
    • under a
        under a

        Responsibilities

        . However the original text includes headings like "Customer Service", "Solutions Analysis", etc each with a paragraph describing duty. We need to preserve the text word-for-word, so each duty's heading and its description? The instruction says use
        • for list items (duties, requirements, qualifications, skills). It doesn't say we must drop the headings. Could we keep the heading as part of the list item text? Probably we should combine heading and its paragraph into one list item? But we must preserve original content word-for-word, meaning we cannot omit or rephrase. If we combine, we would be altering structure but not changing wording. Could we output like:

          Responsibilities

          • Customer Service

            Carry out standard customer service activities and handle simple customer inquiries.

          • ...
          But that adds

          inside

        • which is allowed? The instruction says use
          • for list items. It doesn't forbid having

            inside

          • . However to keep semantic HTML, we could put the text directly inside
          • without extra

            . But we must preserve original content word-for-word, including line breaks? The original had heading tag then paragraph tag. If we put both inside

          • separated by a space or newline, we are not adding or removing words, just changing tags. That's acceptable. Similarly for Skills: the text is a long string of competencies separated by commas. We need to make each skill as
          • ? 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 list of skills separated by commas. We could split by commas and make each as
          • . But that would be altering the original content (removing commas, adding tags). However we are allowed to wrap in
            • but must preserve content word-for-word. If we split, we are removing commas and maybe adding line breaks. That changes the content. The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. So we cannot change the text inside. So we should keep the skills paragraph as a single

              maybe? But they said use

              • for list items (duties, requirements, qualifications, skills). If we keep as

                , we violate that rule. However maybe we can keep the whole string as a single

              • ? That would be a list with one item containing the whole string. That preserves the content word-for-word (just wrapped). That seems acceptable:
                • Consultative Selling, Customer Feedback Management, ...
                . That uses
                • for list items, preserving the text. Similarly for Competencies: the text appears as: "Balances Stakeholders

                  Builds Networks

                  Communicates Effectively

                  Customer Focus

                  Ensures Accountability

                  Instills Trust

                  Interpersonal Savvy

                  Manages Complexity" There are weird

                  tags interleaved. The actual visible text likely is: "Balances Stakeholders Builds Networks Communicates Effectively Customer Focus Ensures Accountability Instills Trust Interpersonal Savvy Manages Complexity". But there are empty

                  tags. We need to preserve original content word-for-word, meaning we must keep those empty tags? But we are stripping HTML tags and producing semantic HTML. The instruction to preserve original content word-for-word likely refers to the textual content, not the markup. We are to remove all formatting and produce clean HTML. So we should extract the visible text, ignoring empty tags. The visible text appears as those words separated by maybe spaces? The original had no spaces between words and the empty tags. Eg: "Balances Stakeholders

                  Builds Networks". So after stripping tags, we get "Balances StakeholdersBuilds Networks". That's missing a space. But likely the original formatting had spaces before tags? Actually the snippet: "Balances Stakeholders

                  Builds Networks

                  Communicates Effectively

                  Customer Focus

                  Ensures Accountability

                  Instills Trust

                  Interpersonal Savvy

                  Manages Complexity". There is no space between "Stakeholders" and "

                  ", so after removing tags we get "Balances StakeholdersBuilds Networks". That seems wrong. But maybe the original had spaces but they got lost in copy. We'll assume we need to preserve the words as they appear with spaces where they were present in the visible text. Since we cannot know, we will just extract the text nodes: "Balances Stakeholders", then empty, then "Builds Networks", etc. The empty tags produce no text. So the concatenated text would be "Balances StakeholdersBuilds NetworksCommunicates EffectivelyCustomer FocusEnsures AccountabilityInstills TrustInterpersonal SavvyManages Complexity". That's missing spaces between many words. However the instruction to preserve original content word-for-word likely expects us to keep the text as it appears visually, which likely had spaces. But we cannot guess. Given the ambiguity, I think we should treat each competency as separate list item, splitting by the empty

                  tags? Actually pattern: word(s) then

                  then next word(s). So we could split on "

    " maybe. But that's altering. Given the difficulty, perhaps we should keep the competencies as a single paragraph

    and not make a list, violating the rule but preserving content. However the instruction says use

    • for list items (duties, requirements, qualifications, skills). Competencies could be considered qualifications or skills. So we should make a list. I'll decide to split competencies by the pattern of capital letters after empty tags? Actually each competency seems to be a phrase: "Balances Stakeholders", "Builds Networks", "Communicates Effectively", "Customer Focus", "Ensures Accountability", "Instills Trust", "Interpersonal Savvy", "Manages Complexity". That's 8 items. We'll output each as
    • . Similarly for Skills we have a comma-separated list; we could split by commas and trim spaces. That yields 15 items. We'll output each as
    • . Now we need to wrap the introductory paragraphs before "Job Description". The initial lines: "Let's Write Africa's Story Together!" and "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." plus blank lines. We'll wrap each non-empty line in

      . Blank lines produce empty

      ? We can ignore empty

      as they add no content. Probably we should not output empty

      tags. We'll just output paragraphs for non-empty text. Now we need to produce final HTML with only

      ,

      ,
      • . No
        , no
        , no classes. Let's extract all textual content in order: 1. "Let's Write Africa's Story Together!" 2. "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." 3. (blank) 4. (blank) 5. (blank) 6. "Job Description" 7. "na" 8. "Provides advice on a specific range of products to a specific allocated market and are individually accountable for achieving results through their own efforts." 9. Then Responsibilities section heading: "Responsibilities" 10. Then an empty

        (no text) 11. "Customer Service" 12. "Carry out standard customer service activities and handle simple customer inquiries." 13. (empty p) 14. "Solutions Analysis" 15. "Assess compliance with established standards and protocols for routine inquiries." 16. (empty p) 17. "Receiving Visitors" 18. "Receive visitors and assist with various requests for information, referring more complex matters to colleagues." 19. (empty p) 20. "Customer Relationship Management (CRM) Data" 21. "Ensure that basic customer details held in the system are accurate, and make notes of follow-up actions that have been promised, together with notes of actions taken during each sales call." 22. (empty p) 23. "Customer Needs Clarification" 24. "Interview the customer, following a multilevel sales script, to clarify the customer's requirements." 25. (empty p) 26. "Customer Relationship Development / Prospecting" 27. "Make calls (by telephone or in person) to allocated potential customers to develop relationships. Provide a first point of contact for resolving customer queries and complaints." 28. (empty p) 29. "Operational Compliance" 30. "Follow a range of mandatory procedures to ensure that work is carried out to the required quality standards and/or to ensure adherence to external regulatory codes and internal codes of conduct." 31. (empty p) 32. "Business Development" 33. "Carry out routine business development support tasks and assist others by following established procedures." 34. (empty p) 35. "Sales Opportunities Creation" 36. "Identify potential customers by obtaining information, referrals, and recommendations from existing customers." 37. (empty p) 38. "Data Exploration" 39. "Select appropriate data from information provided by others and input that data into spreadsheets or standard formats." 40. (empty p) 41. "Network of Influence" 42. "Demonstrate understanding of the value of networking by participating in and contributing to a network of people, technologies, and ideas both inside and outside the company." 43. (empty p) 44. (empty p) 45. (empty p) 46. "Skills" 47. (empty p) 48. (empty p) 49. "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" 50. (empty p) 51. (empty p) 52. "Competencies" 53. (empty p) 54. (empty p) 55. "Balances Stakeholders

        Builds Networks

        Communicates Effectively

        Customer Focus

        Ensures Accountability

        Instills Trust

        Interpersonal Savvy

        Manages Complexity" 56. (empty p) 57. (empty p) 58. (empty p) 59. "Education" 60. (empty p) 61. (empty p) 62. "NQF Level 5 - Higher, Advance or Occupational Certificate or equivalent" 63. (empty p) 64. (empty p) 65. (empty p) 66. "Closing Date" 67. (empty p) 68. (empty p) 69. "13 June 2026 , 23:59" 70. (empty p) 71. (empty p) 72. "The appointment will be made from the designated group in line with the Employment Equity Plan of Old Mutual South Africa and the specific business unit in question." 73. (empty p) 74. (empty p) 75. "The Old Mutual Story!" We need to preserve the text inside tags like ... . The visible text is: "The appointment will be made from the designated group in line with the Employment Equity Plan of Old Mutual South Africa and the specific business unit in question." and "The Old Mutual Story!". We'll output those as paragraphs. Now we

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 ✍️
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?