R3 is an enterprise blockchain software firm working with a broad ecosystem of more than 300 participants across multiple industries from both the private and public sectors to develop on Corda, its open-source blockchain platform, and Corda Enterprise, a commercial version of Corda for enterprise usage.
As a Solutions Engineer, you will offer deep technical knowledge to help our clients and partners create new designs and solutions using the latest capabilities of Corda. This includes assisting them with the design, development, deployment, and integration, of Corda applications, all with the perspective of getting sustainable solutions into production in the shortest possible time. To support these goals, you’ll also be helping define and build the team’s tool-kit of reusable architectural patterns, software, and support guides. The enterprise blockchain space is rapidly developing, opening numerous opportunities to define solutions for problems that no one has solved yet.
We don’t expect that you’re already a Corda expert, but you should have a relevant background in software development, architecture, or deployment. The role can span a variety of levels of experience and skill backgrounds, but this very much a hands-on design and development role, and you should expect to be continuously learning as Corda evolves.
Most of our Solutions Engineering activities are externally-facing, so you’ll need to work with clients and partners. You will gather detailed requirements, help design and implement solutions, and present the results to all relevant stakeholders. You’ll also be responsible for providing timely, and actionable, information to the R3 Product Management team to help them assess, and prioritise, future Corda platform features and capabilities.
While the role is nominally based in one of small number of strategic locations, you will need to be able to travel in order to work with clients and partners.
Solutions Engineer is an individual contributor role, but the team is growing rapidly and there will be opportunities to lead development activities within the team, and to mentor new members.
- Collect design requirements from relevant stakeholders.
- Design Corda applications, supporting software, packaging, documentation, or training, to meet the needs of those designs.
- Present details of those solutions to stakeholders.
- Provide new insights into the use of Corda within particular business applications, working with the relevant design teams within R3 to ensure these are reflected in our product documentation.
- Identify opportunities for the use of Corda in new applications and associated opportunities for Services.
- Synthesize common concepts from projects into a reusable tool-kit that enables clients and partners to accelerate design, deployment and integration of their Corda-based applications. This includes software, tools, documentation, and training.
- Provide visibility into project requirements to assist R3 product development teams further enhance Corda platform capabilities.
- Have a broad understanding of computer science and engineering principles, most likely obtained through a combination of academic study and related professional experience.
- Be well versed in software architecture and development, with demonstrable skills in functional and object-oriented programming. You must demonstrate high levels of proficiency in software development tasks, ideally in Kotlin, Java, or other JVM-based languages, as Kotlin and Java development skills are required for the role.
- Have experience working with relational, object and unstructured database technologies.
- Understand how to convert business requirements into solution designs, demonstrating good judgement, and a pragmatic approach that combines business constraints and engineering realities.
- The ability to communicate effectively with technical and non-technical audiences.
- Willing to travel as required.
- Be able to work successfully in a fast-paced and dynamic environment, be comfortable with some ambiguity, and be willing to work beyond the strict wording of the job description in order to achieve the firm’s objectives.
- Ideally have experience with enterprise integration, preferably within financial institutions.
- Preferred knowledge of front-to-back systems in banking, service-based architecture, enterprise application architecture and integration.