Software Engineer - Data Systems Impact.com
Cape Town, South Africa• 3 months agoFrom affiliates and influencers to content publishers, brand ambassadors, and customer advocates, impact.com 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, impact.com 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 impact.com to power more than 225,000 partnerships that deliver measurable business results.
Your Role at impact.com: As a Software Engineer – Data Systems, your focus will be on designing, building, and maintaining data systems are maintainable, reliable, and understandable that scale.
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.
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, backpressure, 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.
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,
Engineering