- Salary
- $1300k – $1800k/yr
- Location
- City of Cape Town Metropolitan Municipality, Western Cape
- Workplace
- Hybrid, Onsite
- Type
- Full-time
- Department
- IT
- Seniority
- Senior
- Closing date
- Today
- Source
- Vincere
Description
Position Description
Software Engineer (Full Stack, Senior)
Location(s):
- Cape Town (Tyger Valley), WC, South Africa
- Brisbane (Murarrie), QLD, Australia
- Sydney (Silverwater), NSW, Australia
Business Unit: Engineering
Department: Software Engineering
Reports to: Head of Platforms. Dotted line to team lead.
Type: Hybrid 50% in office (2-3 days per week)
Role Summary
The Software Engineer (Full Stack, Senior) designs, builds, ships and operates major features and microservices end to end across Kallipr’s SaaS platform through the full SDLC. The role is hands-on and primarily backend-focused, with frontend contribution where needed. This person builds APIs, shapes domain logic, and implements integrations that support device connectivity, platform services, and customer-facing features.
Kallipr engineers own their software from design through production. You build it, you ship it, you watch it, you fix it. Operational depth — pipelines, monitoring, and production support — is as much a part of this role as writing code.
A Senior Full Stack Engineer defines clear, scalable service workflows and data contracts across frontend, backend, and hardware boundaries, ensuring systems interact reliably and perform well in real-world conditions. They work closely with the embedded engineering team to integrate new devices and account for device behaviour in production. They solve non-trivial technical problems that require investigation, judgment, and sound trade-offs, and they improve system design through practical, maintainable engineering decisions.
The role carries ownership for complex services and major feature architecture within a broader system. Senior Engineers lead design discussions in their domain, make and explain long-term trade-offs across reliability, security, cost, and delivery speed, and strengthen operational health through improvements to observability, resilience, CI/CD, and production support. They raise engineering standards through hands-on contribution, mentoring, and cross-team collaboration, helping ensure that adjacent systems connect cleanly and that the platform can scale sustainably.
Key Responsibilities
Software Design and Development
- Design, build and deliver scalable, secure and reliable software features, cloud infrastructure and components
- Work on backend logic, APIs, service integration and some front-end functionality across the platform
- Follow software engineering standards and help improve them
Pipeline and cloud infrastructure
- Maintain build pipelines and deployment stages
- Design, build and maintain cloud infrastructure as code
- Contribute to container build processes and image maintenance.
- Implement and support test automation and quality checks
- Support design discussions and propose improvements for cost, security, and reliability.
Security, Compliance, and Governance
- Apply, review and support security controls across cloud resources
- Support compliance with industry and regulatory standards
- Support cost optimizations, scaling changes, and service selections
Collaboration and Product Delivery
- Operate as part of a product team, working on Device/Core or Experience streams.
- Work with product partners to clarify requirements and translate business needs into technical solutions
- Collaborate with embedded engineers to integrate new devices and understand device behaviour.
- Support investigation of production issues when required.
- Mentor other Engineers and support onboarding of new hires
Quality and Continuous Improvement
- Review team designs, code and provide practical feedback.
- Identify and implement improvements that increase reliability, maintainability, and delivery speed.
- Use AI tools to accelerate development and improve solution quality.
Operations and Support
- Support incident response and root-cause analysis.
- Participate in tier-3 engineering escalation rotation with low expected volume.
- Work with engineers in other time zones when required.
Other
- Contribute to Kallipr processes and continuous improvement efforts
- Take on other tasks assigned by the Head of Software Engineering.
This position description outlines the primary responsibilities and qualifications for the role. It is not intended to be an exhaustive list of all duties, responsibilities, or skills required. Kallipr reserves the right to modify this position description at any time to meet business needs.
(For Recruiting team when hiring for new roles)
Qualifications & Experience
Education & Experience
- Bachelor’s degree in computer science or Software Engineering (preferred), a closely related field or equivalent additional professional experience.
- 8+ years of full-time software development experience in a company team environment, including building and operating cloud environments in production.
- Proven experience working in Agile environments and collaborating with cross-functional teams.
- Experience in a SaaS product company, startup, or scaleup is strongly preferred over enterprise consulting or internal systems backgrounds.
Technical Core Competencies
- Solid proficiency in backend and some frontend development. Preferably using C#/.NET, ASP.NET Core (Web APIs), RESTful APIs, and TypeScript.
- Deep understanding of software engineering foundations, including data structures, algorithms, software design principles, version control, and collaborative development workflows.
- Proficiency with SQL (including SQL Server query tuning and indexing) and/or NoSQL datastores. Preferably with experience using Entity Framework Core.
- Experience designing and operating modular monolith and/or microservices-based cloud-native architectures, with understanding of CQRS, Dependency Injection, FluentValidation, JSON serialization, and the Task Parallel Library (TPL).
Cloud & DevOps Expertise
- Extensive experience with cloud platforms, preferably Azure.
- Has personally owned the full operational lifecycle of cloud-hosted services: provisioning, pipeline management, monitoring, incident response, and production reliability. Experience in environments where there is no separate team to hand off operations to.
- Strong understanding of SaaS and PaaS architectures, including multi-tenancy, high availability, and scaling patterns.
- Hands-on experience with Infrastructure as Code (preferably Bicep), CI/CD pipelines (preferably Azure), and automated testing.
- Working knowledge of cloud networking concepts, including hub-and-spoke networking, VPNs, SD-WAN, and firewalls.
Reliability, Leadership & Ownership
- Proven end-to-end ownership of systems across the full lifecycle, from architecture and design through long-term production operation.
- Strong architectural and operational judgment, balancing delivery speed with reliability, security, performance, and long-term maintainability.
- Proven ability to debug complex production issues, lead root-cause analysis, and implement durable fixes that reduce operational risk.
- Experience leading significant architectural initiatives or cross-team technical efforts and influencing technical direction.
- Demonstrated ability to mentor engineers, raise code and design quality, and lead effective design and code reviews.
- Experience using AI-assisted development tools responsibly to accelerate delivery and improve solution quality.
- Strong written and verbal communication skills, collaborating effectively across Engineering, Product, and Operations teams.
Advanced System Design & Troubleshooting
- Practical experience with advanced architectural patterns such as event-driven architecture, Domain-Driven Design (DDD), event sourcing, and distributed systems patterns (e.g. idempotency, retries, eventual consistency).
- Deep understanding of resilience, fault tolerance, security requirements, and complex performance trade-offs in multi-tenant SaaS platforms.
- Advanced performance tuning skills, including SQL query plan analysis and low-level optimisations (e.g. ValueTask, threading, and synchronization).
- Experience with API lifecycle management and relevant services (Azure preferred) such as IoT Hub, Event Hubs, SignalR, Key Vault, and Redis.
For the Recruiter (This is not to be shared externally)
What we look for in a Resume / CV:
- We prefer candidates with Computer Science or Software engineering degrees, or additional equivalent experience on top of years working experience. For example, someone with 15 years of solid experience as software Engineer without the degree would still be acceptable.
- When looking at experience, subtract ramp up time (typically 6mo) for each role and consider how much impact and what deliverables they owned in each role. A candidate that frequently changed jobs at 1.5 year intervals is less likely to have owned something significant.
- It is essential to see what a candidate personally owned, designed, implemented, its complexity and duration. Their key contributions for each job within the experience requirement should be clearly listed – what it was, what they personally did, what they used, its complexity and impact.
- Complexity, Scope, Impact, Execution - A Senior Engineer should have owned one or more significant feature or integration with complexity, scope, impact. A senior Engineer should have owned a major feature or microservice design and implementation where they owned the design, personally implemented the most complex parts while delivering through the team to contribute the rest.
- Kallipr is a startup/scaleup. In this environment success favours those who has real experience in a Saas product company startup or scaleup over enterprise consultants or silo’ed internal teams backgrounds
Leveling sanity check (one-liner)
- Junior: “I implement well-defined work correctly.”
- Intermediate: “I own features, make good technical decisions, and raise my team.”
- Senior: “I shape systems, direction, and standards so teams can scale.”
- Principal “I set technical direction and remove the constraints that limit how fast teams can move.”
Environment Context Check
Before advancing any candidate, verify their experience was in a context where they owned — or were expected to own — the full lifecycle of their software. Candidates from enterprise consulting, large bank or insurer IT departments, or internal systems teams where a separate DevOps or infrastructure team managed deployments are at higher risk of not fitting the Kallipr ownership model regardless of technical skill. Ask directly if unclear: "Who owned the deployment pipeline and cloud environment — you, a shared DevOps team, or the client's infrastructure team?" A "separate team" answer is a recruiter gate flag.