- Design and develop robust, high-performance, latency-sensitive code, incorporate security requirements and reviewing code written by team members using software engineering best practices.
- Write secure, high-quality code and automated tests.
- Work closely with Product Owners, Solutions Analysts, Technical Architects and Senior Engineers to design the best technical design and approach for technical development.
- Translate business requirements into technical solutions, recommend alternative technical and business approaches, and lead engineering efforts to meet ambitious timelines with optimal solutions.
- Help refine the technical aspects of epics in collaboration with the Solutions Analysts.
- Translate business requirements into technical solutions, recommend alternative technical and business approaches, and lead engineering efforts to meet ambitious timelines with optimal solutions.
- Produce architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by code.
- Drive architectural reviews, code reviews and business demos.
- Assess compliance, risks, and vulnerabilities to ensure all systems and baselines are operationally sound, performant at scale, and exceed customer expectations.
- Contribute to the on-going development of the team, including recruitment, paired programming, peer review and mentoring.
- Ensure proper communication concerning challenges that may affect the outcome of a projects completion date.
- Collaborate effectively as part of a global team and add to team culture of diversity, equity, inclusion, and respect.
- Provide technical leadership to engineering sub-teams focused on the delivery of epics by transforming requirements into stories and a build plan.
- Participate in communities of practice across the group to drive awareness, consistency and adoption of modern technologies.
- Provide out of hours application support and coordination of Production releases.
Required qualifications, capabilities, and skills
- Formal training or certification on enterprise software development concepts and advanced applied experience.
- Excellent understanding of
Java 17+
fundamentals and frameworks (e.g. Spring Boot), OO programming paradigms, multi-threading, messaging technologies, and computer networks. - Experience of low-latency programming techniques and technologies (e.g. Inter-Process Communication, Memory-Mapped Files and
Ring Buffers
). - Experience with
gRPC
and Google Protocol Buffers. - Experience of working on
distributed systems
and detailed knowledge of distributed systems design patterns. - Detailed knowledge of relational database technologies (e.g., PostgreSQL and
CockroachDB
), database resiliency, recoverability, scalability, and security. - Experience with event-driven architecture and distributed messaging technologies (
Kafka
). - Hands-on practical experience delivering system design, application development, testing, and operational stability.
- Strong interpersonal, communication, documentation, diagramming, and presentation skills, with experience working with globally distributed teams and stakeholders.
- Hands-on practical experience in secure system design, application development, automated regression testing, performance profiling and operational stability
- Experience with diagramming software (e.g., Lucid, Draw.io, Visio) and technical writing.
- Passion for technical innovation and staying up to date with emerging technologies.
- Understanding of the full software development lifecycle and agile methodologies.
Preferred qualifications, capabilities, and skills
- Hands on experience another statically compiled language like
Golang, Rust
or C++.
- Experience with caching technologies, e.g.
Apache Ignite, GridGain, Hazelcast
or Redis.
- Experience with infrastructure as code software, e.g.
Terraform.
- Awareness of key architectural patterns/approaches, algorithms, data structures, cryptography, security protocols (e.g., TLS and OAuth/OIDC), secure system design and Threat Modelling.
- Demonstrated coaching and mentoring experience.
- Certified Kubernetes and public cloud knowledge (e.g. CKAD and AWS certifications).