M-Pesa Africa: Senior Solutions Architect (Digital Platforms)
Safaricom
Job Description
for intro paragraphs and general text,
for section headers, - for list items. No CSS classes, no inline styles, no , no
. Must preserve all original content exactly, but we need to convert formatting to appropriate tags.
We have raw input that already contains HTML tags like ,
, , etc. We need to output only HTML, but we must preserve content word-for-word, meaning we cannot remove any text, but we can change tags as per rules: we must use for paragraphs,
for section headers, - for list items. Also we must not use ,
, inline styles, CSS classes. Also we must not add or remove content.
Thus we need to parse the given HTML and produce new HTML that follows rules while preserving text.
We need to identify sections: The original has paragraphs with tags, some with
and etc. Also there are tags for headings like "Skills & Competencies", "Required Qualifications", etc. Also nested lists.
We need to convert those headings to . Also we need to convert list items to - . Also we need to ensure that any inside list items that are not headings remain as text? The rule says preserve all original content word-for-word. If we change to plain text, we would be removing the tags, which is altering content. However the instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". Does that include HTML tags? Likely yes: we must keep the exact same text characters, but we can change tags? The instruction says "Your ONLY job is to format it as clean semantic HTML." It also says "Use
for introductory paragraphs and general text, Use
for section headers, Use - for list items". It also says "No CSS classes, no inline styles, no s, no
tags". It doesn't explicitly forbid other tags like . But we need to produce clean semantic HTML; we could keep for emphasis inside paragraphs if needed, but the rules only specify usage for certain elements; they didn't forbid other tags. However they said "Use for introductory paragraphs and general text" - that suggests we should use
for paragraphs, but we could still have inside . Similarly for list items we could have . The original has used for headings and also inside list items for subheadings like "Key Technical Competencies". Those are likely to be treated as section headers? Actually they are inside a list item: - Key Technical Competencies
... So the heading is bold text, not a separate heading tag. According to rules, we should use for section headers. So we should convert that bold text to . But then we lose the tags. Is that allowed? The rule says preserve all original content word-for-word. Changing to changes the markup but not the text content. The text "Key Technical Competencies" remains same. The tags changed. Is that considered removing content? The content is the text; tags are not content. Usually "content" refers to the textual content. So I think it's okay to change tags as long as we keep the text unchanged.
Thus we need to transform the given HTML into a clean version with only
,
, , - . Possibly we can keep inside paragraphs if they are not headings? But the rule says use
for introductory paragraphs and general text. It doesn't forbid inside . However to be safe, we could strip all and just rely on headings via . But then we might lose emphasis that is not a heading. However the original only uses for headings and maybe for some subheadings inside list items (like "Key Technical Competencies", "Key Behavioral Competencies", "Required Qualifications", "Preferred Qualifications", "360 Competencies", "Key Responsibilities", and also inside responsibilities subheadings like "Super App & Digital Platform Architecture", etc). Those are all headings. So we can convert all that appear as headings to . Also there are some inside list items for emphasis? I don't see any besides those headings. There's also maybe none.
Thus we can produce output where we replace each ... that is a heading with ...
. Also we need to handle nested lists: The original has - Key Technical Competencies
... So after conversion, we should have Key Technical Competencies
... and then inner list items.
We also need to remove
tags and entities. Replace
with nothing (or maybe treat as space?). Since we cannot use
, we should just remove them. Also should be replaced with a regular space.
Also we need to ensure we don't have empty paragraphs.
We must preserve all text exactly, including spaces and punctuation. So we need to output the text with appropriate tags.
Let's extract the text content and rebuild.
Better approach: Parse the given HTML mentally and produce new HTML.
Given the length, we need to be careful.
Let's copy the original content and manually convert.
Original:
M-PESA Africa is looking for a Senior Solutions Architect to design, govern, and evolve the architecture of our digital platforms and digital payment channels across our markets. Operating at the intersection of the M-PESA Super App, mini-app ecosystem, QR/hosted payment pages/NFC channels, and partner integrations, you will set the architectural standards and strategic direction for how digital experiences and digital payment acceptance are built, scaled, and secured across M-PESA's platforms.
This is a senior individual contributor role with broad influence across engineering, product, compliance, and group-level stakeholders. You will be expected to lead with vision, mentor others, and translate complex digital platform challenges into scalable architectural solutions.
Skills & Competencies
- Key Technical Competencies
- Strong understanding of Super App and mini-app architecture patterns, including hybrid/WebView runtimes, mini-app SDKs, and marketplace/platform governance models.
- Extensive experience with mobile and web application architecture, including native, hybrid, and cross-platform frameworks, and cloud platforms on AWS and/or Azure.
- Working knowledge of native iOS and Android platform constraints (app lifecycle, distribution/app store requirements, platform-specific security models), sufficient to guide architectural decisions across both ecosystems.
- Proven experience designing, versioning, and maintaining SDKs for external developers or partners, including API contract design, backward compatibility, and developer documentation.
- Proficiency in integration patterns including REST/GraphQL APIs, event streaming (Apache Kafka), and backend-for-frontend (BFF) design for consumer-facing platforms.
- Strong knowledge of digital platform architecture patterns including micro-frontends, composable UI, headless architecture, and offline-first/resilient mobile design.
- Experience with digital platform security architecture including app sandboxing, permission models, secure SDK design, mTLS, and OAuth2/OpenID Connect.
- Working knowledge of digital payment channel architecture, including QR code standards (EMVCo/static/dynamic), hosted payment page design, and NFC/HCE-based Tap-to-Pay acceptance.
- Knowledge of platform documentation and governance practices including ADRs, C4 modelling, developer portal design, and architecture review board processes.
- Key Behavioral Competencies
- Strong communication skills with the ability to explain complex digital platform concepts.
- Analytical, structured thinker with strong problem-solving ability.
- Collaborative and influential across multi-market teams.
- Self-driven, accountable, and delivery focused.
Required Qualifications
- Bachelor's degree in Computer Science, Information Systems, Electrical/Computer Engineering, or a related field.
- 8+ years of experience in solutions/platform architecture, mobile or digital engineering, or closely related technical disciplines, with at least 3 years in a senior or lead capacity.
- Proven track record designing enterprise-scale digital or Super App platforms in financial services, fintech, or telecommunications.
- Demonstrated ownership of a super app / mini-app platform architecture, including SDK design and third-party mini-app governance, at scale.
- Track record owning SDK strategy for external developers or partners, versioning, backward compatibility, and deprecation at enterprise scale.
- Hands-on experience with cloud platforms (AWS, GCP, or Azure) and mobile/web application architecture.
- Proficiency in integration patterns: event streaming, API gateway design, and BFF/composable architecture.
- Strong understanding of app platform security and governance frameworks (OWASP MASVS, app store/marketplace policies, or equivalent).
- Experience with high-availability architecture and performance optimisation for high-traffic consumer-facing platforms.
Preferred Qualifications
- Experience in mobile money, payment systems, or digital financial services platforms in emerging markets.
- Familiarity with mini-app engine technologies (e.g., WeChat Mini Programs, Alipay GMP, or equivalent hybrid mini-app runtimes).
- Exposure to AI/ML-driven personalisation, in-app recommendation engines, or conversational/agentic interfaces.
- Experience operating across multi-country regulatory environments in Sub-Saharan Africa.
- Professional certifications: TOGAF, AWS/Azure Solutions Architect, or equivalent.
- Familiarity with developer ecosystem programmes, including partner onboarding, certification, and marketplace monetisation models.
360 Competencies
- Strategic Systems Thinking: Balances long-term architectural vision with pragmatic, incremental delivery across complex multi-market digital platform environments.
- Technical Leadership: Guides and elevates the work of engineering teams; sets quality bars and architectural standards without micromanaging.
- Communication & Influence: Presents complex digital platform concepts to both technical and non-technical audiences, including CTO/CIO-level stakeholders.
- Cross-functional Collaboration: Engages effectively across product, engineering, compliance, and market teams across multiple geographies.
- Data-Driven Decision Making: Uses evidence, metrics, and architectural trade-off analysis to drive decisions and build conviction.
- Adaptability: Comfortable with ambiguity and evolving requirements in a fast-moving African fintech landscape.
Key Responsibilities
- Super App & Digital Platform Architecture
- Own the end-to-end architecture of the M-PESA Super App, including its mini-app platform, SDK, and marketplace ecosystem, across all six markets.
- Own the design, versioning, and lifecycle governance of M-PESA's SDKs (mini-app SDK, payment SDKs, and partner/developer-facing SDKs), ensuring consistency, backward compatibility, and developer experience across platforms.
- Define and govern the technical standards for mini-app onboarding, integration, security review, and lifecycle management.
- Architect the Super App's core and service layer to support scalable, secure, and performant digital experience delivery.
- Drive the transition to modern digital platform architectures: composable UI patterns, micro-frontends, headless/BFF (backend-for-frontend) design, and cloud-native deployment aligned to M-PESA's infrastructure strategy.
- Digital Platform Governance & Standards
- Establish and champion architecture governance frameworks, design review standards, and reference architectures for digital and mobile platforms across all six markets.
- Define UX-to-architecture standards, mini-app certification criteria, and release governance, ensuring traceability from partner/developer submission through to production release.
- Partner with Compliance, Legal, Risk, and Market teams to ensure digital platform architectures meet local regulatory obligations, data protection, and app store/marketplace requirements.
- Digital Payment Channels
- Own the architecture of M-PESA's digital payment channels, including QR payments, hosted payment pages, and NFC/Tap-to-Pay, ensuring consistent design standards across the Super App and other consumer touchpoints.
- Define channel-level security, tokenisation, and merchant integration standards for QR, hosted payment page, and NFC acceptance flows.
- Architect the technical roadmap for emerging and converging payment channels, ensuring interoperability with core wallet, switching, and settlement systems.
- Integration & Ecosystem Architecture
- Architect integration patterns between the Super App, core M-PESA systems, third-party mini-app developers, and partner platforms.
- Collaborate with API gateway and platform engineering teams to define event-driven, API-first exchange patterns aligned with the integration layer strategy.
- Design and govern the mini-app SDK, developer portal, and sandbox/testing environments to support a scalable third-party developer ecosystem.
- Own the SDK release process: versioning strategy, deprecation policy, and documentation standards; for internal engineering teams and external partner/merchant developers.
- Performance, Security & Resilience Enablement
- Design digital platform architectures that ensure app performance, offline resilience, and graceful degradation across varied network conditions and device profiles.
- Define security architecture for the Super App and mini-app ecosystem, including sandboxing, permission models, and secure inter-mini-app communication.
- Partner with the Risk and Security teams to embed fraud prevention and abuse detection into the mini-app onboarding and runtime experience.
- Leadership & Stakeholder Engagement
- Serve as the senior digital platforms architecture voice in Architecture Review Boards, design forums, and group-level governance bodies.
- Mentor and coach mid-level and junior architects across markets, building digital platform architecture capability within the team.
- Produce executive-ready architecture artefacts, including C4/Mermaid diagrams, ADRs, and digital platform strategy presentations for CTO/CIO audiences.
- Lead vendor evaluations for mini-app platforms, mobile development frameworks, and digital experience technologies.
We need to output HTML with only ,
, , - . No
, no , no .
We need to replace & with & (since it's HTML entity). The original text includes "Skills & Competencies". We need to preserve the text word-for-word, meaning the ampersand should be present as "&". The entity & is just representation; the actual character is &. So we should output "&". Similarly for other &.
Also we need to handle any other entities like maybe none.
We need to remove
and (non-breaking space). Replace with regular space.
Now we need to decide paragraph boundaries.
Original first paragraph:
M-PESA Africa is looking for a Senior Solutions Architect to design, govern, and evolve the architecture of our digital platforms and digital payment channels across our markets. Operating at the intersection of the M-PESA Super App, mini-app ecosystem, QR/hosted payment pages/NFC channels, and partner integrations, you will set the architectural standards and strategic direction for how digital experiences and digital payment acceptance are built, scaled, and secured across M-PESA's platforms.
Second paragraph:
This is a senior individual contributor role with broad influence across engineering, product, compliance, and group-level stakeholders. You will be expected to lead with vision, mentor others, and translate complex digital platform challenges into scalable architectural solutions.
We need to combine? The
at start and end with produce empty lines. We should just output the text as a paragraph: "This is a senior individual contributor role with broad influence across engineering, product, compliance, and group-level stakeholders. You will be expected to lead with vision, mentor others, and translate complex digital platform challenges into scalable architectural solutions."
Thus we will have two elements: first paragraph as is, second paragraph as the trimmed text.
Then we have a heading:
Skills & Competencies
. This should become Skills & Competencies
(with & not &). Actually we need to output the text "Skills & Competencies". The original had & which is HTML for &. So we output "&". So heading: Skills & Competencies
.
Then we have a with list items.
Inside first - :
- Key Technical Competencies
... So we need to convert the to . So we will have
Key Technical Competencies
... then inner - items each as plain text (no strong). Then close inner
then .
Similarly for second - :
- Key Behavioral Competencies
... => Key Behavioral Competencies
... inner items.
After that, we close the outer
.
Then we have
which
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 📝
. Must preserve all original content exactly, but we need to convert formatting to appropriate tags. We have raw input that already contains HTML tags like
, for paragraphs, tags, some with for introductory paragraphs and general text, Use for introductory paragraphs and general text" - that suggests we should use for paragraphs, but we could still have inside . Similarly for list items we could have . The original has used for headings and also inside list items for subheadings like "Key Technical Competencies". Those are likely to be treated as section headers? Actually they are inside a list item: , for introductory paragraphs and general text. It doesn't forbid inside . However to be safe, we could strip all and just rely on headings via M-PESA Africa is looking for a Senior Solutions Architect to design, govern, and evolve the architecture of our digital platforms and digital payment channels across our markets. Operating at the intersection of the M-PESA Super App, mini-app ecosystem, QR/hosted payment pages/NFC channels, and partner integrations, you will set the architectural standards and strategic direction for how digital experiences and digital payment acceptance are built, scaled, and secured across M-PESA's platforms. Skills & Competencies Required Qualifications Preferred Qualifications 360 Competencies Key Responsibilities , M-PESA Africa is looking for a Senior Solutions Architect to design, govern, and evolve the architecture of our digital platforms and digital payment channels across our markets. Operating at the intersection of the M-PESA Super App, mini-app ecosystem, QR/hosted payment pages/NFC channels, and partner integrations, you will set the architectural standards and strategic direction for how digital experiences and digital payment acceptance are built, scaled, and secured across M-PESA's platforms. elements: first paragraph as is, second paragraph as the trimmed text.
Then we have a heading: Skills & Competencies
, , etc. We need to output only HTML, but we must preserve content word-for-word, meaning we cannot remove any text, but we can change tags as per rules: we must use for section headers,
, inline styles, CSS classes. Also we must not add or remove content.
Thus we need to parse the given HTML and produce new HTML that follows rules while preserving text.
We need to identify sections: The original has paragraphs with
and etc. Also there are tags for headings like "Skills & Competencies", "Required Qualifications", etc. Also nested lists.
We need to convert those headings to . Also we need to convert list items to
for section headers, Use
tags". It doesn't explicitly forbid other tags like . But we need to produce clean semantic HTML; we could keep for emphasis inside paragraphs if needed, but the rules only specify usage for certain elements; they didn't forbid other tags. However they said "Use ... So the heading is bold text, not a separate heading tag. According to rules, we should use
for section headers. So we should convert that bold text to
. But then we lose the tags. Is that allowed? The rule says preserve all original content word-for-word. Changing to
changes the markup but not the text content. The text "Key Technical Competencies" remains same. The tags changed. Is that considered removing content? The content is the text; tags are not content. Usually "content" refers to the textual content. So I think it's okay to change tags as long as we keep the text unchanged.
Thus we need to transform the given HTML into a clean version with only
,
,
. But then we might lose emphasis that is not a heading. However the original only uses for headings and maybe for some subheadings inside list items (like "Key Technical Competencies", "Key Behavioral Competencies", "Required Qualifications", "Preferred Qualifications", "360 Competencies", "Key Responsibilities", and also inside responsibilities subheadings like "Super App & Digital Platform Architecture", etc). Those are all headings. So we can convert all that appear as headings to
. Also there are some inside list items for emphasis? I don't see any besides those headings. There's also maybe none.
Thus we can produce output where we replace each ... that is a heading with
...
. Also we need to handle nested lists: The original has ... So after conversion, we should have
Key Technical Competencies
... and then inner list items.
We also need to remove
tags and entities. Replace
with nothing (or maybe treat as space?). Since we cannot use
, we should just remove them. Also should be replaced with a regular space.
Also we need to ensure we don't have empty paragraphs.
We must preserve all text exactly, including spaces and punctuation. So we need to output the text with appropriate tags.
Let's extract the text content and rebuild.
Better approach: Parse the given HTML mentally and produce new HTML.
Given the length, we need to be careful.
Let's copy the original content and manually convert.
Original:
This is a senior individual contributor role with broad influence across engineering, product, compliance, and group-level stakeholders. You will be expected to lead with vision, mentor others, and translate complex digital platform challenges into scalable architectural solutions.
,
,
, no , no .
We need to replace & with & (since it's HTML entity). The original text includes "Skills & Competencies". We need to preserve the text word-for-word, meaning the ampersand should be present as "&". The entity & is just representation; the actual character is &. So we should output "&". Similarly for other &.
Also we need to handle any other entities like maybe none.
We need to remove
and (non-breaking space). Replace with regular space.
Now we need to decide paragraph boundaries.
Original first paragraph:
This is a senior individual contributor role with broad influence across engineering, product, compliance, and group-level stakeholders. You will be expected to lead with vision, mentor others, and translate complex digital platform challenges into scalable architectural solutions.
at start and end with produce empty lines. We should just output the text as a paragraph: "This is a senior individual contributor role with broad influence across engineering, product, compliance, and group-level stakeholders. You will be expected to lead with vision, mentor others, and translate complex digital platform challenges into scalable architectural solutions."
Thus we will have two Skills & Competencies
(with & not &). Actually we need to output the text "Skills & Competencies". The original had & which is HTML for &. So we output "&". So heading: Skills & Competencies
.
Then we have a with list items.
Inside first
... So we need to convert the to
. So we will have
Key Technical Competencies
... then inner
then ... =>
Key Behavioral Competencies
... inner items.
After that, we close the outer
.
Then we have
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.