Job Title: M-Pesa Africa – Software Architect
Hiring Organization: Safaricom
Location – Locality: Nairobi
Location – Region: Kenya
Industry: Telecommunication
Job Type: Full Time
Salary: KES
Date Posted: 07/13/2024
About
M-Pesa Africa
At M-Pesa
Africa, we’re the heroes that make things happen.
We are a
united, energetic and passionate team. A place where leaders coach, teams
connect, and everyone is empowered to go further, faster. A place where heroes
become superheroes; through growth, opportunity, and the chance to work with
the best minds in FinTech.
We are
Africa’s largest FinTech providing services to more than 60 million customers
and 5 million businesses solutions across Financial Services, Enterprise,
Merchant and Retail. We are now well on our way to becoming the preferred
digital payment method across the markets that we serve, for both in-store,
remote and online payments. With headquarters in both Kenya and South Africa,
we serve markets that include Kenya, Tanzania, DRC, Lesotho, Ghana, Egypt,
Ethiopia, and Mozambique.
About the Role
You will
work closely with Agile Release Trains (ARTs) helping them implement enablers
that define, explore and evolve our solutions. You will help plan and develop
the Architectural Runway in support of new business Features and Capabilities
by actively participating in Program Increment (PI) planning, System Demos and
Inspect and Adapt (I&A) events. You will have an overarching appreciation
for Agile Architecture in SAFe promoting a set of values, practices and
collaborations that support the active, evolutionary design and architecture of
our systems.
Responsibilities
Intentional
Architecture design
- Provide software
architecture and designs using industry standard notations, such as UML
and Data Flow Sequences
- Provide guidance
for inter-team design and synchronise architectural implementation
activities of systems
- Define a set of
purposeful architectural strategies and initiatives which enhance solution
design, performance, and usability
- Provide guidance
for inter-team design and synchronise architectural implementation
activities of systems
- Designing
software architecture that enables testability, deploy-ability and
releasability
- System Design ie
Create high-level software architecture blueprints and design
specifications for applications. o Define the overall structure of the
application, including the choice of frameworks, platforms, and tools.
Emergent
design
- Provide the
technical basis for a fully evolutionary and incremental implementation
approach helping developers and designers respond to immediate user needs
allowing the architectural design to evolve.
Architecting
for DevOps and Release on Demand
- Ensuring
solutions are architected for continuous deployment and delivery by
decoupling deployments from releases
- Defining a
Minimum Viable (“just enough”) Architecture supporting the creation and
evolution of systems and systems interfaces
- Fostering
architecture as code through common naming conventions, attributes and
annotations
- Build quality in
by automating architectural compliance checks
- Promoting and
building trust in the Continuous Delivery Pipeline for Agile Release
Trains to independently explore and test ideas in a true production
environment
Support
Alignment
- Collaborating
with Systems, Security, and Data Architects to ensure discrete solutions
created by ARTs and Suppliers fit into and support the larger capabilities
of the overall solution ▪ Participate in backlog refinement and
prioritisation sessions
- Define enabler
capabilities and NFRs
- Participate in
regular Architect Sync sessions to ensure consistency in emerging designs
and managing trade-offs across all ARTs and Shared Service teams
Qualifications
- Science/Computer
Science/Engineering related degree or equivalent work experience
- 5+ years
technical background inclusive of software architecture, software design,
software development lifecycle
- Ability to read
code and map code to Software Designs
- Producing High-
and Low-Level designs (using industry standard notations such as UML) for
Software Solutions required to run Tier 1 Business Critical Applications
- Expertise in
deploying, configuring, and supporting Software into Dev, Test, and
Operations environments
- API and
middleware design and build experience
- Experience of
implementation projects
- Strong
understanding of security principles, standards, and frameworks such as
ISO 27001, NIST, and CIS Controls.
- Proficiency in
multiple programming languages (e.g., Java, C#, Python, Rust).