Purpose of Role
The Software Engineer is responsible for designing, developing, and maintaining secure and scalable software systems.
The role involves hands-on coding, testing, and optimisation of applications that support high-performance and distributed computing environments.
Key Responsibilities
- Design and implement backend services, APIs, and integration modules using modern programming languages such as Golang, Python, or C++.
- Develop and maintain components for distributed and blockchain-based systems.
- Conduct code reviews and security assessments to identify vulnerabilities and strengthen software resilience.
- Build automation tools to streamline code verification, testing, and deployment processes.
- Work closely with research and product teams to convert technical concepts into production-ready solutions.
- Prepare clear technical documentation, design diagrams, and implementation notes.
Stay current with emerging technologies in cryptography, AI security, and privacy-preserving computation.
Required Skills and Experience
- Bachelor's or Master in Computer Science, Software Engineering, or related discipline.
- Strong programming knowledge in Python, C++, or JavaScript.
- Hands-on experience in software design, development, and system integration.
- Solid understanding of distributed systems, cryptography, and secure software principles.
- Proven ability to conduct code reviews and automate testing workflows.
- Strong analytical thinking, attention to detail, and problem-solving skills.
- Able to work independently as well as part of a collaborative engineering team.