Blockchain technology is poised to become the next big computing paradigm, disrupting existing processes and unlocking new business models through secure multi-party computation. In a rapidly evolving digital economy, blockchain technology will form the backbone of the next era of distributed enterprise and consumer applications with its business value surging to exceed $3.1 trillion by 2030 per Gartner. Businesses are looking to understand and apply the distributed ledger technology that started with Bitcoin to streamline and innovate their business problems.
ABOUT THE TEAM & ROLE
This position is located at the Rakuten Blockchain Lab in Belfast city centre. We have grown an engineering team of 10 during the first year of operation and have multiple active blockchain projects due for production launch in the next 3-6 months. The existing team collectively has many years of experience in building secure, high availability enterprise platforms for financial services, health and consumer electronics sectors. We will be growing the team to 20 over the next 12 months and as a result are now actively seeking a passionate and motivated Senior Software Engineer. The projects are both interesting and challenging, providing an environment that should satisfy any engineer’s career aspirations and growth opportunities. This is an exciting opportunity to be at the core of delivering blockchain based solutions and integration services that will enable the transformation of Rakuten businesses. You will work in small agile teams creating solutions for individual Rakuten companies as well as common platforms and services to be used across the organisation
We need software engineers who are interested in the "full stack”. That is, you need to be comfortable working with all the technologies required to bring an idea to production. We don’t expect you to be an expert in everything and believe that everyone brings their own specializations and competencies to the team, but we want you to be enthusiastic about “getting your hands dirty” in all of it. You will have the opportunity to work on emerging blockchain frameworks and learn from the experienced blockchain engineers in the team.
In the Rakuten Blockchain Lab, we take ownership of the full end-to-end solution from inception though to production and beyond. Our services are built in Node.js with various relational databases and follow a micro-services architecture. We work with multiple public and private blockchain protocols & frameworks depending on the requirements. We package our services with Docker and use Google Kubernetes for automating deployment, scaling and management of these containers in both public and private cloud environments. We value short feedback loops and have implemented a CI/CD pipeline as well as automated unit, integration and acceptance tests.
- Play a full and active role in release and sprint planning
- Define and estimate sprint backlog items
- Translation of backlog items into engineering design and logical units of work
- Propose solutions and evaluate technical feasibility
- Implementation of backlog items
- Write and verify code which adheres to the acceptance criteria
- Write unit & integration tests
- Application of product development best practices
- Create automated build and deployment pipeline code
- Promote learning and knowledge sharing through design/code reviews
- Proactively provide support to junior engineers
- Build, release and configuration management of test and production code.
- System troubleshooting and problem solving across platform and application domains.
- Propose architecture improvements, recommending process improvements.
- Evaluating new technology options and vendor products.
- Assist project and product leaders in making risk-managed planning and release decisions
EXPERIENCE, KNOWLEDGE, SKILLS & QUALIFICATIONS REQUIRED FOR THE ROLE
- 5+ years of solid commercial development experience, working with Java or Node.js on Linux (experience with other object orientated or functional languages such as .NET, Python or Ruby will also be considered)
- Experience of working with object-relational databases such as Postgres
- Experience with a DevOps approach to software delivery where you are involved not just in writing code, but also in making sure it gets deployed and runs correctly in test and production environments.
- Solid understanding of source code management, build automation and continuous integration tools such as Maven, npm, Jenkins and Git/Bitbucket is essential
- Experience of working in an agile development environment
- Ability to diagnose, analyze and resolve complex software application issues.
- A basic understanding of blockchain fundamentals
- Experience of delivering REST APIs and micro-service based architectures
- Practical experience of creating deployment and release pipelines.
- Experience of application containers such as Docker and container orchestration technologies such as Docker Swarm or Google Kubernetes
- Experience in delivering cloud based systems (i.e. deploying and running in AWS, Azure, OpenStack, Google Compute Environment, etc.)
- Previous experience of working with blockchain frameworks such as Hyperledger Fabric or Multichain
- Knowledge and practical experience of OWASP secure coding standards
- Prior experience of working with high availability, secure enterprise platforms in the financial services sector