Close

CordaCon 2021 registration is live! Learn what it takes to build multi-party apps and networks + hear the latest in DLT and Confidential Computing.

Staff Software Engineer – P2P team

  • UK or Ireland
  • Engineering
  • Full-time
Apply Now

At R3 you would be at the cutting edge of decentralized operating system technology. Corda is a distributed OS 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.
 
P2P Team
 
We are a small team building a peer-to-peer (P2P) communications layer for the next generation of Corda platform. This layer is responsible for delivering messages between Corda nodes in a reliable, secure, efficient and scalable way. With us you will have a number of unique opportunities, including but not limited to:
 
·       Get solid experience with Kafka
·       Build a High Availability solution on top of Kafka clusters
·       Make performance and scalability improvements
·       Explore HTTP as a backend communication protocol
·       Learn modern crypto algorithms used in our end-to-end authentication layer
·       Work with Netty library
·       Get experience with TLS
·       Improve multi-threading, socket programming and cloud deployment skills
·       Get experience in system design and architecture
·       Learn Kotlin
 
If you want to be in the heart of Corda platform and learn a new technology, this is the team to join!
 
About You
 
You’re a highly motivated, self sufficient software engineer with strong 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 an interest in distributed systems generally and DLT more specifically.
 
You may have some experience working with highly available systems and Kafka before, but if not you’re excited to learn more and develop in this space. Similarly, you may have worked with JVM languages and/or Kotlin before, but it’s more important that you’re flexible in working with unfamiliar languages.
 
We believe that quality, security, developer experience, and operational experience, are everyone’s responsibility, so you’ll be driven by a passion for ensure excellence in all of these. 

Responsibilities

  • Design and implement communication components for distributed systems
  • Work as a more experienced member of a team within the larger engineering group to deliver high quality and well tested code
  • Drive collaboration with other groups or squads that share dependencies
  • Code review peer and open-source contributions to the codebase
  • Liaise with the R3 Support team to troubleshoot and address customer issues
  • Acquire deep understanding of their work domain and the corresponding business needs, and utilise their subject matter expertise to ensure successful delivery of features without supervision
  • Help track progress of shared assignments using their understanding of their domain to execute their work
  • Spearhead cross-functional collaboration with Product teams to deliver larger features without guidance

Qualifications

  • Strong understanding of computer science and engineering principles, obtained through a combination of advanced academic study and significant professional experience
  • Typically, 9+ years of experience in an enterprise level environment
  • Good knowledge of Kotlin and/or Java
  • Good understanding of networking stacks, specifically TCP/IP 
  • Good understanding of HTTP protocol
  • Good understanding of TLS
  • Some experience configuring and/or deploying HTTP servers, proxies, and firewalls is desirable

Nice to have

  • Knowledge of encryption and authentication algorithms, experience with Apache Kafka (or similar messaging/streaming technologies), experience with Netty framework and/or Netty based libraries such as Reactor Netty, experience with serialization frameworks and libraries (Avro, Protobuf)
  • Familiarity of multiple layers of the infrastructure and application stack from systems / OS development through to networking, middleware and application logic
  • Proven problem-solving skills and ability to work under pressure

At R3, we encourage a diverse and inclusive workforce. If you don’t meet all of the above criteria, but you think you’d be a great addition to R3, send us your CV. We’re always interested in meeting collaborative people who are excited to work with us.

Apply Now

Stay up to date!

Sign up for our newsletter to receive the latest R3 news, updates, and materials

  • This field is for validation purposes and should be left unchanged.

Start your journey today!

  • Hidden
  • This field is for validation purposes and should be left unchanged.