At R3 you will be at the cutting edge of distributed ledger technology (DLT).
Corda is a DLT designed for running complex workflows between businesses, without any centralized points of control. You will work on a system trusted by banks, insurance companies, stock exchanges, payments companies, and others – highly demanding industries with the interesting technical challenges that come with them.
You will join the Core Platform team to build the Corda of the future - a distributed ledger with huge throughput, reliability and uptime guarantees for the most demanding of R3 customers, and networks of customers.
As part of the Core Platform team, you will:
Work with industry-leading technologies to build out a new highly available, horizontal scaling, multi-tenant version of Corda, leveraging Kafka, working right from the bottom peer-to-peer messaging layer up to the flow engine and ledger layer Corda has become known for.
•Develop and maintain the framework and services that make up the Corda node - the flow engine, the persistence service, the certificate management service, peer-to-peer messaging gateway and more.
•Design and implement features with consideration of the availability, scalability and performance requirements of the system.
No team is an island - you will work with many others across the company, to help ensure we build the best possible products. You will have the opportunity to showcase your work and help influence your colleagues’ thinking.
You are a highly motivated, self-sufficient software engineer with system design skills. You have a strong grasp of computer science fundamentals, either through formal study or via some other route. You are curious and quick to learn about new technologies, and keen to build on your skills by learning on the job. You have built distributed systems previously.
You have experience or a deep interest in high availability and/or horizontal scalability of distributed systems, and are aware of or have worked with Kafka before. You may also, or alternatively, have worked with socket programming, TLS, Java NIO, Netty or similar.
We believe the best Engineers can adapt to and learn any language, so whilst we are at heart a Kotlin shop, we welcome anyone with a strong software engineering background who wants to learn. If you have in-depth JVM knowledge, (garbage collection tuning, performance and memory profiling), and/or familiarity with the Java ecosystem that is a bonus.
We believe that quality, security, developer experience, and operational experience are everyone’s responsibility, so you will be driven by a passion to ensure excellence in all of these.
Depth of Expertise: A blended tactical and strategic level thinker who understands clients (internal/ external) needs. Will possibly have lead a small or medium sized team at some point in their career.
Level of Interaction: Influences the thinking of senior stakeholders and begins to proactively initiate ideas to help improve client experience. Largely self-managing.
Ownership & Responsibility: Drive the delivery whilst maintaining a coherent technical direction
- Coding and design, and assisting other Engineers with coding and design.
- Utilise their subject matter expertise to take the lead over an area or component of an R3 core product
- Use comprehensive judgment to make decisions of high complexity and impact, utilising team opinion and senior leadership where needed but often use autonomy in decision making.
- Use business analysis skills to interact with product management team(s) to marry technical delivery and client requirements.
- Use well developed customer focus skills to anticipate internal/ external customer requests.
- Contribute to the technical direction and strategic vision of engineering.