We are seeking an experienced self-starting ambitious software engineer to join our growing team. In this role, you will be responsible for designing, developing, testing, and maintaining deployments, supporting high-performance, scalable back-end systems. You will work closely with other engineers and stakeholders to understand requirements, design solutions, and implement them in a timely and efficient manner. All engineering roles are required to handle supporting their own deployments and will slot into the wider team support rotation.
Design, develop, test, and maintain back-end services using Java or Rust
Work with various back-end technologies including RDBMS, graph databases, queuing systems, and distributed services.
Implement DevOps practices including CI/CD, version control, and infrastructure automation
Collaborate with other engineers and stakeholders to define and implement technical solutions.
Contribute to the development of reusable libraries and components
Troubleshoot and debug production issues
Write clean, efficient, and well-documented code
Participate in code reviews and technical discussions
Stay up-to-date with the latest trends and technologies in back-end development
Be proactive in identifying and resolving technical issues
We follow a LEAN process for software engineering.
We deploy with GCP and run on GCP using modern approaches where we favour managed services over maintaining services ourselves.
Data is stored in ArangoDB (graph database), in memory stores and good ol MySQL when needed.
Interfaces are built in React and Javascript.
Services are deployed to Kubernetes and developed in Python and/or Java, with a roadmap of moving towards Rust.
Work is tracked using Kanban that is aligned with company OKRs and we are constantly improving our process as needed.
Communication is key and unnecessary meetings are avoided.
Engineers build, maintain and support the system. Meaning everyone is part of the on call roster and everyone participates in the SRE effort to ensure the system is always up.
We take security seriously, meaning all engineers should be security conscious.
C2 English
4+ years of professional experience as a [Back-End / Systems] Software Engineer
Strong experience in Java with an interest in learning or knowledge of the Rust programming language
Experience with DevOps practices including CI/CD, version control, and cloud technologies (AWS, GCP, Azure)
Adaptability and willingness to learn new technologies and methodologies
Ability to write clean, efficient, and well-documented code
Strong communication and collaboration skills
Ability to work independently and as part of a team
Ability to work effectively under pressure and meet deadlines
Passion for learning and staying up-to-date with the latest technologies
Rust
Graph Databases
Fully remote
Candidates can reside anywhere in the world.