Software Engineer: Back-End II (Android / Payments)
Capitec Bank Ltd
Job Description
,
, - ), preserving ALL original content word-for-word, no CSS classes, no inline styles, no , no
. Return ONLY the HTML, no markdown fences, no explanation.
Let's look at the removal rules from the first part: "REMOVE all of the following: Social sharing text, Author bylines, "You may also like", Navigation text, Comments, Advertisements, Cookie notices, Duplicate text, Category labels, Stray numbers or formatting artifacts." But then the HTML formatting rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". There's a slight conflict: first part says remove certain things, second part says preserve ALL original content word-for-word. I need to reconcile this.
Actually, the user is giving me a job description text, and wants me to format it as clean semantic HTML. The "REMOVE" list is probably from a different prompt or context, but the actual task specified is: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with rules about ,
, - , preserve ALL original content word-for-word, no CSS/inline styles/no /no
, return ONLY HTML no markdown fences etc.
I should follow the specific instructions for this task: format the given job description as clean semantic HTML using the specified tags, preserving all content word-for-word. I'll need to interpret the text structure and apply appropriate tags.
Let's examine the job description text:
```
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- A relevant tertiary qualification in Information Technology
Knowledge and Experience
Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Knowledge:
Is able to apply advanced knowledge of the following:
- IT systems development processes (SDLC)
- Native Android application development and the Android SDK
- Advanced programming concepts
- Advanced algorithms and data structures
- Design Patterns
- Version Control
- Testing practices
- Database systems and query optimisation (e.g. SQL, NoSQL)
- RESTful API design and integration
- Cloud computing platforms and services (e.g. AWS, Azure)
- Advanced microservice and event-driven architectures
- Deployment using Kubernetes and containerisation
- Secure coding and transaction integrity within a payments environment
Ideal:
- Additional experience with React Native or Ionic/Capacitor alongside native Android
- Exposure to PCI PTS / PA-DSS standards
- DUKPT or MK-SK key management
- Prior experience at a payment terminal vendor or fintech (e.g. PAX, Ingenico, Verifone, ECentric, Synthesis)
Skills:
- Analytical Skills
- Attention to Detail
- Communications Skills
- Interpersonal & Relationship management Skills
- Problem solving skills
Additional Information:
- Clear criminal and credit record
How to Apply:
To see what life at Capitec is all about and complete a short assessment, please click here! Once you have completed the above finalize your application by clicking apply below.
```
I need to format this as clean semantic HTML using ,
, - . No , no
, no CSS classes. Preserve all content word-for-word.
Let's plan the structure:
- The first paragraph is introductory:
- Then "Education (Minimum):" could be an
, but the rule says use for section headers like Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role. So "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:" are all section headers. I should use for each section header.
- The items under each header are list items, so - .
- Need to preserve all text exactly.
Let's parse and structure:
Opening paragraph:
"As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
Then "Education (Minimum):" - this is a header. Followed by "- Grade 12 National Certificate / Vocational". The "-" is likely a bullet point. The rule says use
- for list items. So I should wrap the bullet points in
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
- , so the "-" might be redundant or I should include it inside the
- . The rule says "Use
- for list items (duties, requirements, qualifications, skills)". So I should convert the "- " items to
- without the dash, or keep the dash inside the li? "Preserve ALL original content word-for-word" suggests I should keep the dash, but then it's not strictly "word-for-word" if I remove the dash. I think the intent is to preserve the textual content, not the formatting markers. I'll include the text as-is within the
- , maybe keep the dash if it's part of the content, but typically in such tasks, the dash is a bullet indicator and we just put the text. However, to be safe, I'll keep the exact text including the dash inside the
- . But the rule says "do not add, remove, summarise, or rephrase". So if the original has "- Grade 12 National Certificate / Vocational", I should keep that exactly, but format it as
- Grade 12 National Certificate / Vocational
? That would remove the dash. I need to decide.
Let's read the exact wording: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means the text content should be exactly the same, but the HTML tags are added around it. The "- " is likely part of the list formatting in the source text. I think it's safer to include the text as-is, but since I'm using - , I can put the entire string including the dash inside the
- , or strip the dash. Given the strict "preserve all original content word-for-word", I should probably keep the dash. But then the HTML would have "- Grade 12 National Certificate / Vocational" inside an
- . That's fine.
However, the first line "As a level II..." is a paragraph, no bullet points. Then "Education (Minimum):" header, then bullet points. I'll structure accordingly.
Let's outline the HTML structure:
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- - Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- - A relevant tertiary qualification in Information Technology
Knowledge and Experience
- Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Wait, "Knowledge and Experience" is a header, then "Experience:" is a sub-header. The text has blank lines and indentation. I need to decide how to handle nested headers. The rule says use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Knowledge and Experience" could be an . Then "Experience:" is a subsection. But the rules don't mention or nested headers. It says "Use for section headers". It also says "If text has no clear sections, just wrap paragraphs in
tags". I need to interpret.
Let's look at the text structure:
- "Education (Minimum):" and "Education (Ideal or Preferred):" are clearly section headers.
- "Knowledge and Experience" is a header.
- Then "Experience:" is a sub-section.
- "Knowledge:" is a sub-section.
- "Ideal:" is a sub-section.
- "Skills:" is a sub-section.
- "Additional Information:" is a header.
- "How to Apply:" is a header.
The rule says use
for section headers. It lists examples: "Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role". It doesn't mention "Knowledge and Experience", "Experience:", "Knowledge:", etc. But these are clearly section headers in the job description. I think I should use for all major section headings, and for sub-headings like "Experience:", "Knowledge:", "Ideal:", "Skills:", I could either treat them as part of the list items or use as well. But the rule says "Use for section headers (e.g. ...)". It doesn't forbid using for others, but says "for section headers". I'll use for the main sections: "Education (Minimum)", "Education (Ideal or Preferred)", "Knowledge and Experience", "Additional Information", "How to Apply". For the sub-sections like "Experience:", "Knowledge:", "Ideal:", "Skills:", I need to decide.
Looking at the text, after "Knowledge and Experience", there's "Experience:", then bullet points. Then "Knowledge:", then bullet points. Then "Ideal:", then bullet points. Then "Skills:", then bullet points. These are all section-like headings within the "Knowledge and Experience" section. But the rule says "Preserve ALL original content word-for-word". I think the safest is to treat each top-level section as an , and the content under it as - , including the sub-headings as part of the text.
Let's rethink: The instruction says "Use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This implies that if the text has sections named those, use . The given text has "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:". Many match or are similar to the examples. I'll use for each of these headings.
For the bullet points under each, I'll use - . The bullet points start with "- ". I'll keep the "- " inside the
- to preserve content word-for-word, or I'll strip it and just put the text. Given the strict "preserve ALL original content word-for-word", I should keep the "- ". But then the
- will contain "- Grade 12...". That's fine.
However, the rule also says "Remove all of the following: ... Stray numbers or formatting artifacts". The "-" could be considered a formatting artifact. But the "preserve all original content" is from the HTML formatting rules, which might override the removal list. The user combined two sets of instructions. I need to prioritize the specific task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with the HTML rules. The removal list might be generic, but the HTML rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I should NOT remove anything. I'll keep all text exactly as is, and just wrap it in the specified tags.
Let's parse the text and decide on tag placement.
I'll go through the text line by line (as presented):
1. "As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
->
this entire paragraph.
2. "Education (Minimum):"
->
Education (Minimum):
3. "- Grade 12 National Certificate / Vocational"
-> <
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 📝
. Return ONLY the HTML, no markdown fences, no explanation. Let's look at the removal rules from the first part: "REMOVE all of the following: Social sharing text, Author bylines, "You may also like", Navigation text, Comments, Advertisements, Cookie notices, Duplicate text, Category labels, Stray numbers or formatting artifacts." But then the HTML formatting rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". There's a slight conflict: first part says remove certain things, second part says preserve ALL original content word-for-word. I need to reconcile this. Actually, the user is giving me a job description text, and wants me to format it as clean semantic HTML. The "REMOVE" list is probably from a different prompt or context, but the actual task specified is: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with rules about
,
, - , preserve ALL original content word-for-word, no CSS/inline styles/no /no
, return ONLY HTML no markdown fences etc.
I should follow the specific instructions for this task: format the given job description as clean semantic HTML using the specified tags, preserving all content word-for-word. I'll need to interpret the text structure and apply appropriate tags.
Let's examine the job description text:
```
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- A relevant tertiary qualification in Information Technology
Knowledge and Experience
Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Knowledge:
Is able to apply advanced knowledge of the following:
- IT systems development processes (SDLC)
- Native Android application development and the Android SDK
- Advanced programming concepts
- Advanced algorithms and data structures
- Design Patterns
- Version Control
- Testing practices
- Database systems and query optimisation (e.g. SQL, NoSQL)
- RESTful API design and integration
- Cloud computing platforms and services (e.g. AWS, Azure)
- Advanced microservice and event-driven architectures
- Deployment using Kubernetes and containerisation
- Secure coding and transaction integrity within a payments environment
Ideal:
- Additional experience with React Native or Ionic/Capacitor alongside native Android
- Exposure to PCI PTS / PA-DSS standards
- DUKPT or MK-SK key management
- Prior experience at a payment terminal vendor or fintech (e.g. PAX, Ingenico, Verifone, ECentric, Synthesis)
Skills:
- Analytical Skills
- Attention to Detail
- Communications Skills
- Interpersonal & Relationship management Skills
- Problem solving skills
Additional Information:
- Clear criminal and credit record
How to Apply:
To see what life at Capitec is all about and complete a short assessment, please click here! Once you have completed the above finalize your application by clicking apply below.
```
I need to format this as clean semantic HTML using ,
, - . No , no
, no CSS classes. Preserve all content word-for-word.
Let's plan the structure:
- The first paragraph is introductory:
- Then "Education (Minimum):" could be an
, but the rule says use for section headers like Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role. So "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:" are all section headers. I should use for each section header.
- The items under each header are list items, so - .
- Need to preserve all text exactly.
Let's parse and structure:
Opening paragraph:
"As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
Then "Education (Minimum):" - this is a header. Followed by "- Grade 12 National Certificate / Vocational". The "-" is likely a bullet point. The rule says use
- for list items. So I should wrap the bullet points in
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
- , so the "-" might be redundant or I should include it inside the
- . The rule says "Use
- for list items (duties, requirements, qualifications, skills)". So I should convert the "- " items to
- without the dash, or keep the dash inside the li? "Preserve ALL original content word-for-word" suggests I should keep the dash, but then it's not strictly "word-for-word" if I remove the dash. I think the intent is to preserve the textual content, not the formatting markers. I'll include the text as-is within the
- , maybe keep the dash if it's part of the content, but typically in such tasks, the dash is a bullet indicator and we just put the text. However, to be safe, I'll keep the exact text including the dash inside the
- . But the rule says "do not add, remove, summarise, or rephrase". So if the original has "- Grade 12 National Certificate / Vocational", I should keep that exactly, but format it as
- Grade 12 National Certificate / Vocational
? That would remove the dash. I need to decide.
Let's read the exact wording: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means the text content should be exactly the same, but the HTML tags are added around it. The "- " is likely part of the list formatting in the source text. I think it's safer to include the text as-is, but since I'm using - , I can put the entire string including the dash inside the
- , or strip the dash. Given the strict "preserve all original content word-for-word", I should probably keep the dash. But then the HTML would have "- Grade 12 National Certificate / Vocational" inside an
- . That's fine.
However, the first line "As a level II..." is a paragraph, no bullet points. Then "Education (Minimum):" header, then bullet points. I'll structure accordingly.
Let's outline the HTML structure:
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- - Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- - A relevant tertiary qualification in Information Technology
Knowledge and Experience
- Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Wait, "Knowledge and Experience" is a header, then "Experience:" is a sub-header. The text has blank lines and indentation. I need to decide how to handle nested headers. The rule says use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Knowledge and Experience" could be an . Then "Experience:" is a subsection. But the rules don't mention or nested headers. It says "Use for section headers". It also says "If text has no clear sections, just wrap paragraphs in
tags". I need to interpret.
Let's look at the text structure:
- "Education (Minimum):" and "Education (Ideal or Preferred):" are clearly section headers.
- "Knowledge and Experience" is a header.
- Then "Experience:" is a sub-section.
- "Knowledge:" is a sub-section.
- "Ideal:" is a sub-section.
- "Skills:" is a sub-section.
- "Additional Information:" is a header.
- "How to Apply:" is a header.
The rule says use
for section headers. It lists examples: "Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role". It doesn't mention "Knowledge and Experience", "Experience:", "Knowledge:", etc. But these are clearly section headers in the job description. I think I should use for all major section headings, and for sub-headings like "Experience:", "Knowledge:", "Ideal:", "Skills:", I could either treat them as part of the list items or use as well. But the rule says "Use for section headers (e.g. ...)". It doesn't forbid using for others, but says "for section headers". I'll use for the main sections: "Education (Minimum)", "Education (Ideal or Preferred)", "Knowledge and Experience", "Additional Information", "How to Apply". For the sub-sections like "Experience:", "Knowledge:", "Ideal:", "Skills:", I need to decide.
Looking at the text, after "Knowledge and Experience", there's "Experience:", then bullet points. Then "Knowledge:", then bullet points. Then "Ideal:", then bullet points. Then "Skills:", then bullet points. These are all section-like headings within the "Knowledge and Experience" section. But the rule says "Preserve ALL original content word-for-word". I think the safest is to treat each top-level section as an , and the content under it as - , including the sub-headings as part of the text.
Let's rethink: The instruction says "Use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This implies that if the text has sections named those, use . The given text has "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:". Many match or are similar to the examples. I'll use for each of these headings.
For the bullet points under each, I'll use - . The bullet points start with "- ". I'll keep the "- " inside the
- to preserve content word-for-word, or I'll strip it and just put the text. Given the strict "preserve ALL original content word-for-word", I should keep the "- ". But then the
- will contain "- Grade 12...". That's fine.
However, the rule also says "Remove all of the following: ... Stray numbers or formatting artifacts". The "-" could be considered a formatting artifact. But the "preserve all original content" is from the HTML formatting rules, which might override the removal list. The user combined two sets of instructions. I need to prioritize the specific task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with the HTML rules. The removal list might be generic, but the HTML rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I should NOT remove anything. I'll keep all text exactly as is, and just wrap it in the specified tags.
Let's parse the text and decide on tag placement.
I'll go through the text line by line (as presented):
1. "As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
->
this entire paragraph.
2. "Education (Minimum):"
->
Education (Minimum):
3. "- Grade 12 National Certificate / Vocational"
-> <
, return ONLY HTML no markdown fences etc. I should follow the specific instructions for this task: format the given job description as clean semantic HTML using the specified tags, preserving all content word-for-word. I'll need to interpret the text structure and apply appropriate tags. Let's examine the job description text: ``` As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale. Education (Minimum): - Grade 12 National Certificate / Vocational Education (Ideal or Preferred): - A relevant tertiary qualification in Information Technology Knowledge and Experience Experience: - 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development - Hands-on commercial experience building native Android applications in Java and/or Kotlin - Practical experience with EMV protocol (contact and/or contactless) - Working knowledge of ISO 8583 financial messaging - Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC - Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads Knowledge: Is able to apply advanced knowledge of the following: - IT systems development processes (SDLC) - Native Android application development and the Android SDK - Advanced programming concepts - Advanced algorithms and data structures - Design Patterns - Version Control - Testing practices - Database systems and query optimisation (e.g. SQL, NoSQL) - RESTful API design and integration - Cloud computing platforms and services (e.g. AWS, Azure) - Advanced microservice and event-driven architectures - Deployment using Kubernetes and containerisation - Secure coding and transaction integrity within a payments environment Ideal: - Additional experience with React Native or Ionic/Capacitor alongside native Android - Exposure to PCI PTS / PA-DSS standards - DUKPT or MK-SK key management - Prior experience at a payment terminal vendor or fintech (e.g. PAX, Ingenico, Verifone, ECentric, Synthesis) Skills: - Analytical Skills - Attention to Detail - Communications Skills - Interpersonal & Relationship management Skills - Problem solving skills Additional Information: - Clear criminal and credit record How to Apply: To see what life at Capitec is all about and complete a short assessment, please click here! Once you have completed the above finalize your application by clicking apply below. ``` I need to format this as clean semantic HTML using
,
, - . No , no
, no CSS classes. Preserve all content word-for-word.
Let's plan the structure:
- The first paragraph is introductory:
- Then "Education (Minimum):" could be an
, but the rule says use for section headers like Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role. So "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:" are all section headers. I should use for each section header.
- The items under each header are list items, so - .
- Need to preserve all text exactly.
Let's parse and structure:
Opening paragraph:
"As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
Then "Education (Minimum):" - this is a header. Followed by "- Grade 12 National Certificate / Vocational". The "-" is likely a bullet point. The rule says use
- for list items. So I should wrap the bullet points in
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
- , so the "-" might be redundant or I should include it inside the
- . The rule says "Use
- for list items (duties, requirements, qualifications, skills)". So I should convert the "- " items to
- without the dash, or keep the dash inside the li? "Preserve ALL original content word-for-word" suggests I should keep the dash, but then it's not strictly "word-for-word" if I remove the dash. I think the intent is to preserve the textual content, not the formatting markers. I'll include the text as-is within the
- , maybe keep the dash if it's part of the content, but typically in such tasks, the dash is a bullet indicator and we just put the text. However, to be safe, I'll keep the exact text including the dash inside the
- . But the rule says "do not add, remove, summarise, or rephrase". So if the original has "- Grade 12 National Certificate / Vocational", I should keep that exactly, but format it as
- Grade 12 National Certificate / Vocational
? That would remove the dash. I need to decide.
Let's read the exact wording: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means the text content should be exactly the same, but the HTML tags are added around it. The "- " is likely part of the list formatting in the source text. I think it's safer to include the text as-is, but since I'm using - , I can put the entire string including the dash inside the
- , or strip the dash. Given the strict "preserve all original content word-for-word", I should probably keep the dash. But then the HTML would have "- Grade 12 National Certificate / Vocational" inside an
- . That's fine.
However, the first line "As a level II..." is a paragraph, no bullet points. Then "Education (Minimum):" header, then bullet points. I'll structure accordingly.
Let's outline the HTML structure:
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- - Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- - A relevant tertiary qualification in Information Technology
Knowledge and Experience
- Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Wait, "Knowledge and Experience" is a header, then "Experience:" is a sub-header. The text has blank lines and indentation. I need to decide how to handle nested headers. The rule says use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Knowledge and Experience" could be an . Then "Experience:" is a subsection. But the rules don't mention or nested headers. It says "Use for section headers". It also says "If text has no clear sections, just wrap paragraphs in
tags". I need to interpret.
Let's look at the text structure:
- "Education (Minimum):" and "Education (Ideal or Preferred):" are clearly section headers.
- "Knowledge and Experience" is a header.
- Then "Experience:" is a sub-section.
- "Knowledge:" is a sub-section.
- "Ideal:" is a sub-section.
- "Skills:" is a sub-section.
- "Additional Information:" is a header.
- "How to Apply:" is a header.
The rule says use
for section headers. It lists examples: "Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role". It doesn't mention "Knowledge and Experience", "Experience:", "Knowledge:", etc. But these are clearly section headers in the job description. I think I should use for all major section headings, and for sub-headings like "Experience:", "Knowledge:", "Ideal:", "Skills:", I could either treat them as part of the list items or use as well. But the rule says "Use for section headers (e.g. ...)". It doesn't forbid using for others, but says "for section headers". I'll use for the main sections: "Education (Minimum)", "Education (Ideal or Preferred)", "Knowledge and Experience", "Additional Information", "How to Apply". For the sub-sections like "Experience:", "Knowledge:", "Ideal:", "Skills:", I need to decide.
Looking at the text, after "Knowledge and Experience", there's "Experience:", then bullet points. Then "Knowledge:", then bullet points. Then "Ideal:", then bullet points. Then "Skills:", then bullet points. These are all section-like headings within the "Knowledge and Experience" section. But the rule says "Preserve ALL original content word-for-word". I think the safest is to treat each top-level section as an , and the content under it as - , including the sub-headings as part of the text.
Let's rethink: The instruction says "Use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This implies that if the text has sections named those, use . The given text has "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:". Many match or are similar to the examples. I'll use for each of these headings.
For the bullet points under each, I'll use - . The bullet points start with "- ". I'll keep the "- " inside the
- to preserve content word-for-word, or I'll strip it and just put the text. Given the strict "preserve ALL original content word-for-word", I should keep the "- ". But then the
- will contain "- Grade 12...". That's fine.
However, the rule also says "Remove all of the following: ... Stray numbers or formatting artifacts". The "-" could be considered a formatting artifact. But the "preserve all original content" is from the HTML formatting rules, which might override the removal list. The user combined two sets of instructions. I need to prioritize the specific task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with the HTML rules. The removal list might be generic, but the HTML rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I should NOT remove anything. I'll keep all text exactly as is, and just wrap it in the specified tags.
Let's parse the text and decide on tag placement.
I'll go through the text line by line (as presented):
1. "As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
->
this entire paragraph.
2. "Education (Minimum):"
->
Education (Minimum):
3. "- Grade 12 National Certificate / Vocational"
-> <
, no CSS classes. Preserve all content word-for-word. Let's plan the structure: - The first paragraph is introductory:
- Then "Education (Minimum):" could be an
, but the rule says use for section headers like Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role. So "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:" are all section headers. I should use for each section header.
- The items under each header are list items, so - .
- Need to preserve all text exactly.
Let's parse and structure:
Opening paragraph:
"As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
Then "Education (Minimum):" - this is a header. Followed by "- Grade 12 National Certificate / Vocational". The "-" is likely a bullet point. The rule says use
- for list items. So I should wrap the bullet points in
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
- , so the "-" might be redundant or I should include it inside the
- . The rule says "Use
- for list items (duties, requirements, qualifications, skills)". So I should convert the "- " items to
- without the dash, or keep the dash inside the li? "Preserve ALL original content word-for-word" suggests I should keep the dash, but then it's not strictly "word-for-word" if I remove the dash. I think the intent is to preserve the textual content, not the formatting markers. I'll include the text as-is within the
- , maybe keep the dash if it's part of the content, but typically in such tasks, the dash is a bullet indicator and we just put the text. However, to be safe, I'll keep the exact text including the dash inside the
- . But the rule says "do not add, remove, summarise, or rephrase". So if the original has "- Grade 12 National Certificate / Vocational", I should keep that exactly, but format it as
- Grade 12 National Certificate / Vocational
? That would remove the dash. I need to decide.
Let's read the exact wording: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means the text content should be exactly the same, but the HTML tags are added around it. The "- " is likely part of the list formatting in the source text. I think it's safer to include the text as-is, but since I'm using - , I can put the entire string including the dash inside the
- , or strip the dash. Given the strict "preserve all original content word-for-word", I should probably keep the dash. But then the HTML would have "- Grade 12 National Certificate / Vocational" inside an
- . That's fine.
However, the first line "As a level II..." is a paragraph, no bullet points. Then "Education (Minimum):" header, then bullet points. I'll structure accordingly.
Let's outline the HTML structure:
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- - Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- - A relevant tertiary qualification in Information Technology
Knowledge and Experience
- Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Wait, "Knowledge and Experience" is a header, then "Experience:" is a sub-header. The text has blank lines and indentation. I need to decide how to handle nested headers. The rule says use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Knowledge and Experience" could be an . Then "Experience:" is a subsection. But the rules don't mention or nested headers. It says "Use for section headers". It also says "If text has no clear sections, just wrap paragraphs in
tags". I need to interpret.
Let's look at the text structure:
- "Education (Minimum):" and "Education (Ideal or Preferred):" are clearly section headers.
- "Knowledge and Experience" is a header.
- Then "Experience:" is a sub-section.
- "Knowledge:" is a sub-section.
- "Ideal:" is a sub-section.
- "Skills:" is a sub-section.
- "Additional Information:" is a header.
- "How to Apply:" is a header.
The rule says use
for section headers. It lists examples: "Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role". It doesn't mention "Knowledge and Experience", "Experience:", "Knowledge:", etc. But these are clearly section headers in the job description. I think I should use for all major section headings, and for sub-headings like "Experience:", "Knowledge:", "Ideal:", "Skills:", I could either treat them as part of the list items or use as well. But the rule says "Use for section headers (e.g. ...)". It doesn't forbid using for others, but says "for section headers". I'll use for the main sections: "Education (Minimum)", "Education (Ideal or Preferred)", "Knowledge and Experience", "Additional Information", "How to Apply". For the sub-sections like "Experience:", "Knowledge:", "Ideal:", "Skills:", I need to decide.
Looking at the text, after "Knowledge and Experience", there's "Experience:", then bullet points. Then "Knowledge:", then bullet points. Then "Ideal:", then bullet points. Then "Skills:", then bullet points. These are all section-like headings within the "Knowledge and Experience" section. But the rule says "Preserve ALL original content word-for-word". I think the safest is to treat each top-level section as an , and the content under it as - , including the sub-headings as part of the text.
Let's rethink: The instruction says "Use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This implies that if the text has sections named those, use . The given text has "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:". Many match or are similar to the examples. I'll use for each of these headings.
For the bullet points under each, I'll use - . The bullet points start with "- ". I'll keep the "- " inside the
- to preserve content word-for-word, or I'll strip it and just put the text. Given the strict "preserve ALL original content word-for-word", I should keep the "- ". But then the
- will contain "- Grade 12...". That's fine.
However, the rule also says "Remove all of the following: ... Stray numbers or formatting artifacts". The "-" could be considered a formatting artifact. But the "preserve all original content" is from the HTML formatting rules, which might override the removal list. The user combined two sets of instructions. I need to prioritize the specific task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with the HTML rules. The removal list might be generic, but the HTML rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I should NOT remove anything. I'll keep all text exactly as is, and just wrap it in the specified tags.
Let's parse the text and decide on tag placement.
I'll go through the text line by line (as presented):
1. "As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
->
this entire paragraph.
2. "Education (Minimum):"
->
Education (Minimum):
3. "- Grade 12 National Certificate / Vocational"
-> <
for each section header.
- The items under each header are list items, so - .
- Need to preserve all text exactly.
Let's parse and structure:
Opening paragraph:
"As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
Then "Education (Minimum):" - this is a header. Followed by "- Grade 12 National Certificate / Vocational". The "-" is likely a bullet point. The rule says use
- for list items. So I should wrap the bullet points in
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
- , so the "-" might be redundant or I should include it inside the
- . The rule says "Use
- for list items (duties, requirements, qualifications, skills)". So I should convert the "- " items to
- without the dash, or keep the dash inside the li? "Preserve ALL original content word-for-word" suggests I should keep the dash, but then it's not strictly "word-for-word" if I remove the dash. I think the intent is to preserve the textual content, not the formatting markers. I'll include the text as-is within the
- , maybe keep the dash if it's part of the content, but typically in such tasks, the dash is a bullet indicator and we just put the text. However, to be safe, I'll keep the exact text including the dash inside the
- . But the rule says "do not add, remove, summarise, or rephrase". So if the original has "- Grade 12 National Certificate / Vocational", I should keep that exactly, but format it as
- Grade 12 National Certificate / Vocational
? That would remove the dash. I need to decide.
Let's read the exact wording: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means the text content should be exactly the same, but the HTML tags are added around it. The "- " is likely part of the list formatting in the source text. I think it's safer to include the text as-is, but since I'm using - , I can put the entire string including the dash inside the
- , or strip the dash. Given the strict "preserve all original content word-for-word", I should probably keep the dash. But then the HTML would have "- Grade 12 National Certificate / Vocational" inside an
- . That's fine.
However, the first line "As a level II..." is a paragraph, no bullet points. Then "Education (Minimum):" header, then bullet points. I'll structure accordingly.
Let's outline the HTML structure:
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- - Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- - A relevant tertiary qualification in Information Technology
Knowledge and Experience
- Experience:
- 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development
- Hands-on commercial experience building native Android applications in Java and/or Kotlin
- Practical experience with EMV protocol (contact and/or contactless)
- Working knowledge of ISO 8583 financial messaging
- Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC
- Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
Wait, "Knowledge and Experience" is a header, then "Experience:" is a sub-header. The text has blank lines and indentation. I need to decide how to handle nested headers. The rule says use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Knowledge and Experience" could be an . Then "Experience:" is a subsection. But the rules don't mention or nested headers. It says "Use for section headers". It also says "If text has no clear sections, just wrap paragraphs in
tags". I need to interpret.
Let's look at the text structure:
- "Education (Minimum):" and "Education (Ideal or Preferred):" are clearly section headers.
- "Knowledge and Experience" is a header.
- Then "Experience:" is a sub-section.
- "Knowledge:" is a sub-section.
- "Ideal:" is a sub-section.
- "Skills:" is a sub-section.
- "Additional Information:" is a header.
- "How to Apply:" is a header.
The rule says use
for section headers. It lists examples: "Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role". It doesn't mention "Knowledge and Experience", "Experience:", "Knowledge:", etc. But these are clearly section headers in the job description. I think I should use for all major section headings, and for sub-headings like "Experience:", "Knowledge:", "Ideal:", "Skills:", I could either treat them as part of the list items or use as well. But the rule says "Use for section headers (e.g. ...)". It doesn't forbid using for others, but says "for section headers". I'll use for the main sections: "Education (Minimum)", "Education (Ideal or Preferred)", "Knowledge and Experience", "Additional Information", "How to Apply". For the sub-sections like "Experience:", "Knowledge:", "Ideal:", "Skills:", I need to decide.
Looking at the text, after "Knowledge and Experience", there's "Experience:", then bullet points. Then "Knowledge:", then bullet points. Then "Ideal:", then bullet points. Then "Skills:", then bullet points. These are all section-like headings within the "Knowledge and Experience" section. But the rule says "Preserve ALL original content word-for-word". I think the safest is to treat each top-level section as an , and the content under it as - , including the sub-headings as part of the text.
Let's rethink: The instruction says "Use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This implies that if the text has sections named those, use . The given text has "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:". Many match or are similar to the examples. I'll use for each of these headings.
For the bullet points under each, I'll use - . The bullet points start with "- ". I'll keep the "- " inside the
- to preserve content word-for-word, or I'll strip it and just put the text. Given the strict "preserve ALL original content word-for-word", I should keep the "- ". But then the
- will contain "- Grade 12...". That's fine.
However, the rule also says "Remove all of the following: ... Stray numbers or formatting artifacts". The "-" could be considered a formatting artifact. But the "preserve all original content" is from the HTML formatting rules, which might override the removal list. The user combined two sets of instructions. I need to prioritize the specific task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with the HTML rules. The removal list might be generic, but the HTML rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I should NOT remove anything. I'll keep all text exactly as is, and just wrap it in the specified tags.
Let's parse the text and decide on tag placement.
I'll go through the text line by line (as presented):
1. "As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
->
this entire paragraph.
2. "Education (Minimum):"
->
Education (Minimum):
3. "- Grade 12 National Certificate / Vocational"
-> <
- for list items. So I should wrap the bullet points in
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
- , so the "-" might be redundant or I should include it inside the
- . The rule says "Use
- for list items (duties, requirements, qualifications, skills)". So I should convert the "- " items to
- without the dash, or keep the dash inside the li? "Preserve ALL original content word-for-word" suggests I should keep the dash, but then it's not strictly "word-for-word" if I remove the dash. I think the intent is to preserve the textual content, not the formatting markers. I'll include the text as-is within the
- , maybe keep the dash if it's part of the content, but typically in such tasks, the dash is a bullet indicator and we just put the text. However, to be safe, I'll keep the exact text including the dash inside the
- . But the rule says "do not add, remove, summarise, or rephrase". So if the original has "- Grade 12 National Certificate / Vocational", I should keep that exactly, but format it as
- Grade 12 National Certificate / Vocational ? That would remove the dash. I need to decide. Let's read the exact wording: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means the text content should be exactly the same, but the HTML tags are added around it. The "- " is likely part of the list formatting in the source text. I think it's safer to include the text as-is, but since I'm using
- , I can put the entire string including the dash inside the
- , or strip the dash. Given the strict "preserve all original content word-for-word", I should probably keep the dash. But then the HTML would have "- Grade 12 National Certificate / Vocational" inside an
- . That's fine.
However, the first line "As a level II..." is a paragraph, no bullet points. Then "Education (Minimum):" header, then bullet points. I'll structure accordingly.
Let's outline the HTML structure:
As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale.
Education (Minimum):
- - Grade 12 National Certificate / Vocational
Education (Ideal or Preferred):
- - A relevant tertiary qualification in Information Technology
Knowledge and Experience
- Experience: - 3+ years' proven experience in software development, project delivery and implementation, covering both native Android and back-end development - Hands-on commercial experience building native Android applications in Java and/or Kotlin - Practical experience with EMV protocol (contact and/or contactless) - Working knowledge of ISO 8583 financial messaging - Experience integrating hardware peripherals on Android — card readers, NFC, PIN pads — via AIDL / IPC - Demonstrable experience building and maintaining server-side components, APIs and services that support transactional workloads
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Knowledge and Experience" could be an
. Then "Experience:" is a subsection. But the rules don't mention
or nested headers. It says "Use
for section headers". It also says "If text has no clear sections, just wrap paragraphs in
tags". I need to interpret. Let's look at the text structure: - "Education (Minimum):" and "Education (Ideal or Preferred):" are clearly section headers. - "Knowledge and Experience" is a header. - Then "Experience:" is a sub-section. - "Knowledge:" is a sub-section. - "Ideal:" is a sub-section. - "Skills:" is a sub-section. - "Additional Information:" is a header. - "How to Apply:" is a header. The rule says use
for section headers. It lists examples: "Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role". It doesn't mention "Knowledge and Experience", "Experience:", "Knowledge:", etc. But these are clearly section headers in the job description. I think I should use
for all major section headings, and for sub-headings like "Experience:", "Knowledge:", "Ideal:", "Skills:", I could either treat them as part of the list items or use
as well. But the rule says "Use
for section headers (e.g. ...)". It doesn't forbid using
for others, but says "for section headers". I'll use
for the main sections: "Education (Minimum)", "Education (Ideal or Preferred)", "Knowledge and Experience", "Additional Information", "How to Apply". For the sub-sections like "Experience:", "Knowledge:", "Ideal:", "Skills:", I need to decide. Looking at the text, after "Knowledge and Experience", there's "Experience:", then bullet points. Then "Knowledge:", then bullet points. Then "Ideal:", then bullet points. Then "Skills:", then bullet points. These are all section-like headings within the "Knowledge and Experience" section. But the rule says "Preserve ALL original content word-for-word". I think the safest is to treat each top-level section as an
, and the content under it as
- , including the sub-headings as part of the text.
Let's rethink: The instruction says "Use
for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". This implies that if the text has sections named those, use
. The given text has "Education (Minimum):", "Education (Ideal or Preferred):", "Knowledge and Experience", "Experience:", "Knowledge:", "Ideal:", "Skills:", "Additional Information:", "How to Apply:". Many match or are similar to the examples. I'll use
for each of these headings. For the bullet points under each, I'll use
- . The bullet points start with "- ". I'll keep the "- " inside the
- to preserve content word-for-word, or I'll strip it and just put the text. Given the strict "preserve ALL original content word-for-word", I should keep the "- ". But then the
- will contain "- Grade 12...". That's fine.
However, the rule also says "Remove all of the following: ... Stray numbers or formatting artifacts". The "-" could be considered a formatting artifact. But the "preserve all original content" is from the HTML formatting rules, which might override the removal list. The user combined two sets of instructions. I need to prioritize the specific task: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." with the HTML rules. The removal list might be generic, but the HTML rules say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I should NOT remove anything. I'll keep all text exactly as is, and just wrap it in the specified tags.
Let's parse the text and decide on tag placement.
I'll go through the text line by line (as presented):
1. "As a level II Software Engineer in our Payments Technology team, you will play an integral part in a cross-functional team responsible for the full lifecycle of our card machine software, from concept and design, through development and testing, to deployment and ongoing operation in the field. You will design, develop, test, deploy, maintain and enhance native Android applications running on POS devices, as well as the server-side components that power them, translating requirements from the business or technical analyst and actively participating with the delivery team in design and problem-solving. You will work across the full payments stack: building the application in the merchant's hand, integrating directly with terminal hardware such as card readers, NFC and PIN pads, handling EMV and ISO 8583 messaging, and developing the back-end services that authorise, settle and report on every transaction. Reliability, performance and transaction integrity are non-negotiable, the code you write processes real money, in real time, at scale."
->
this entire paragraph. 2. "Education (Minimum):" ->
Education (Minimum):
3. "- Grade 12 National Certificate / Vocational" -> <
- . But the text has "- " prefix. I should keep the content word-for-word, but the "-" might be considered formatting artifact. The instruction says "Remove ... Stray numbers or formatting artifacts". But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is tricky. I think the "-" is part of the list formatting in the original text, and I should keep the text as-is, but the HTML structure will use
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.