×
Register Here to Apply for Jobs or Post Jobs. X

Software Engineer - Data Systems

Job in Cape Town, 7100, South Africa
Listing for: impact.com
Part Time position
Listed on 2026-03-10
Job specializations:
  • Software Development
    Software Engineer, Backend Developer, Cloud Engineer - Software, DevOps
Job Description & How to Apply Below

About

is the world’s leading commerce partnership marketing platform, transforming the way businesses grow by enabling them to discover, manage, and scale partnerships across the entire customer journey. From affiliates and influencers to content publishers, brand ambassadors, and customer advocates,  empowers brands to drive trusted, performance-based growth through authentic relationships. Its award‑winning products—Performance (affiliate), Creator (influencer), and Advocate (customer referral)—unify every type of partner into one integrated platform.

As consumers increasingly rely on recommendations from people and communities they trust,  helps brands show up where it matters most. Today, over 5,000 global brands, including Walmart, Uber, Shopify, Lenovo, L’Oréal, and Fanatics, rely on  to power more than 225,000 partnerships that deliver measurable business results.

Your Role at

As a Software Engineer – Data Systems, your focus will be on designing, building, and maintaining data systems that are maintainable, reliable, and understandable  will write code that lasts, think in domain concepts, and design transformations that are clear and testable. This role is centered on designing resilient distributed systems, including handling retries, partial failures, back pressure, and consistency tradeoffs. We favor clear interfaces, strong tests, and solid observability (metrics and tracing) so our systems are easy to run, debug, and evolve.

At this level you are expected to function independently and within a team environment, break down complex problems into well‑defined units of work, and collaborate with distributed teammates to deliver high‑quality, production‑ready software. You should feel comfortable escalating appropriately and communicating effectively in both remote and in‑person settings. This is a software engineering role, not a data analysis/statistical role or an ETL/SQL‑focused role.

You must be willing to work 2 days per week in office for collaboration with the Tech Lead and currently be based locally or willing to relocate.

What You'll Do
  • Break down complex data logic into small, testable units
  • Design resilient distributed systems that gracefully handle retries, partial failures, back pressure, and consistency tradeoffs
  • Instrument systems with strong observability — metrics and tracing — to support debugging and operational confidence
  • Write meaningful unit, functional, and integration‑level tests to validate rules and transformations
  • Collaborate with a distributed team to fulfill the department's quarterly objectives
  • Develop code both independently and while pair programming
What You Bring Education & Experience
  • Completed B.S. in Computer Science, Engineering, or related field, or equivalent professional experience
  • 1+ years of Software Development experience
Technical Skills (Non‑Negotiable)
  • Comfort and proficiency in a typed language such as Java, Scala, or Kotlin
  • Strong software engineering habits: modularity, testing, abstraction
  • Interest in and aptitude for designing systems that are predictable and maintainable
  • Knowledge of software design patterns and the ability to select and implement the right pattern for a given problem
  • Experience with Test‑Driven Development (TDD) and building meaningful test suites
  • Familiarity with Continuous Integration / Delivery methods, tooling, and integrations
Competencies
  • Strong analytical thinking and problem‑solving skills
  • Collaborative mindset - thrives in team environments
  • Attention to detail
  • Critical thinking and creative problem‑solving
  • Ability to communicate clearly and show engagement in both remote and in‑person meetings
Nice to have’s
  • Curiosity about distributed data systems (Spark experience is a plus, but not required)
  • Experience breaking down complex data logic into small, testable units
  • Exposure to any Google Cloud technology
  • Experience with large‑scale data processing systems
  • Experience with monitoring, alerting, and production support
  • Open‑source contributions
What We’re Looking For in a Teammate
  • Curious – asks good questions, seeks to understand the "why" behind decisions
  • Flexible – willing to change direction when priorities shift
  • Hungry – a…
Note that applications are not being accepted from your jurisdiction for this job currently via this jobsite. Candidate preferences are the decision of the Employer or Recruiting Agent, and are controlled by them alone.
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search:
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)

Job Posting Language
Employment Category
Education (minimum level)
Filters
Education Level
Experience Level (years)
Posted in last:
Salary