Red Badger
Senior Software Engineer
Status: Open
Salary: R 80,000 to R 140,000
Experience: 6 years
Role is on-site or hybrid.
We’re looking for a Senior Software Engineer to join our digital product delivery function. Red Badger builds high-quality digital products using a lean delivery process and multidisciplinary, cross-functional teams.
The work we do for our clients involves addressing the core complexities of their businesses, and the technology we employ varies from project to project.
In this role, you will be a polyglot with extensive experience across a wide range of technologies and projects, and you will relish tackling and solving tough problems, digging deeper into areas you already know, as well as expanding your skills into different languages, technologies, and practices.
You’ll be comfortable designing and articulating solutions, working closely with clients to ensure we deliver the right thing, in the right way. You will lead by example, getting your hands dirty in the code, inspiring your peers and educating our clients.
You are passionate about the craft of software development and contribute to technical and non-technical discussions that help shape the direction of digital product delivery. You are able to work independently, as well as collaboratively, on user stories within an agile delivery environment and are versed in modern software delivery practices. You care about creating quality software that meets the needs of our clients’ vision and goals, in a thoughtfully pragmatic way.
As well as contributing to production-grade code bases, you would also be proactive in working directly with the client to help shape and move the project forward and, where required, helping to upskill and embed good development practices within existing, newly formed or client/Badger blended cross-functional teams.
Key Responsibilities:
Discipline Expertise
- Providing engineering expertise and experience as a member of a cross-functional delivery team, working alongside other engineers, designers, QA, a delivery lead and a tech lead
- Employ modern development practices to ship high-quality software
- Ability to adapt to new languages and frameworks
- Choosing the right technology for the job, striving for simplicity
- Starting or continuing your journey as a line manager
- Coach & support peers
- Providing support for digital products once they are live (depending on client needs)
Agile Ways of Working
- Pair programming with other members of the team, including designers and QAs
- Own the delivery of user stories end-to-end, working with agile principles
- Leading and supporting your peers in technical decisions
- Be an advocate for lean software development, building for what is required now
- Help break large deliverables into small, lean incremental user stories
- Actively contribute to agile ceremonies
Consulting with clients
- Proactively engage with clients to shape and move the project forward, including giving updates on the delivery progress and highlighting potential technical blockers
- Upskilling and embedding modern software practices in client teams where necessary
Your experience:
It’d be great if you have experience with:
- Frontend web technologies (e.g., JavaScript, TypeScript, CSS, HTML, etc.) *Frontend web frameworks (e.g. React, VueJS, etc.) *Backend technologies (e.g. Node.js, Go, Rust, etc.) *Relational and Non-relational databases (e.g. ElasticSearch, Redis, PostgreSQL, etc.) *System architecture approaches (e.g. microservices, event sourcing, serverless, CQRS…) *Virtualisation and orchestration tools (e.g. VMs, Docker, Kubernetes, etc.) and infrastructure as code (e.g. Terraform, Pulumi) *CI/CD pipelines (e.g Jenkins, CircleCI, Github Actions, etc.) *Effective source-control management using Git *Test automation following Test Driven Development practices, including unit testing, API testing, and end-to-end testing *Working with lean and agile practices (e.g. Kanban, Scrum, etc.) *Collaborating in cross-functional teams
It’d be amazing if you can also:
- Make use of modern UI data layer technologies (i.e. Relay, GraphQL, Apollo, etc.)
- Design, build, debug and help contribute to evolving cloud-based architectures following Everything-as-Code principles
- Design an agile release engineering strategy that delivers value incrementally and continuously
- Support a highly available live production system, respond to alerts, diagnose problems using logs and observability tooling, triage and resolve incidents
Benefits
As we’ve just launched in South Africa, we’re still in the process of arranging our benefit offering, but this is what we offer already:
- 20 days annual vacation, plus all 12 public holidays
- Hybrid work approach: 3 days in office, 2 days WFH weekly
- Flexible working hours outside of core hours (10am to 3pm SAST)
- Generous referral bonus scheme
- Medical Aid contribution