Jobs

Job Details

Location

Belfast, Northern Ireland

Salary

Commensurate with Experience

Experience

5 + years

Posted

Apr 11, 2019

Share

Full Stack Senior Software Engineer



  • We are looking for a talented and dynamic Full Stack Senior Software Engineer to join our Blockchain Lab in Belfast . Here is your chance to work in a multicultural and experienced team, with high visibility and significant customer impact.

    The Rakuten Blockchain Lab team in Belfast build secure, high availability enterprise platforms that allow the many Rakuten Business/Developers to create solutions that take advantage of the benefits of distributed ledger or blockchain technologies without having to be concerned about the complexities of implementation.  Our platforms follow a microservice architecture where services are developed in Node.js and deployed as docker containers into a cloud based Kubernetes environment.  There are integrations with relational databases, 3rd party APIs as well as specialised cryptographic services and of course blockchain networks.

    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. Teamwork oriented, interested in “full stack” and enthusiastic about “getting your hands dirty” in all of it, you will work in small agile teams learning and creating solutions for individual Rakuten companies as well as common platforms and services to be used across the organization.

    If you want to read about some of the exciting blockchain related Rakuten initiatives, check out these articles

    https://www.coindesk.com/e-commerce-giant-rakuten-launching-cryptocurrency
    https://www.coindesk.com/rakuten-seeks-to-acquire-bitcoin-exchange-in-2-4-million-deal

    FULL JOB DESCRIPTION

    ABOUT THE TEAM & ROLE

    This position is located at the Rakuten Blockchain Lab in Belfast city centre. We currently have an engineering team of 15 who are working on a number of very exciting Rakuten HQ projects to be delivered in 2019.  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. 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. 

    TECHNICAL STACK

    We take ownership for the full end-to-end solution from inception through 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.

    ABOUT YOU

    We are looking for an experienced senior software engineer who is passionate about using technology to solve real world problems. You need to have an interest in new and emerging technology and be eager to take on new challenges outside of your comfort zone. You will understand that delivering great software requires a high degree of collaboration both internally and with other stakeholders. You will be need to be comfortable with an approach to delivery that encourages experimentation as well as taking ownership. You will be motivated to improve the overall process of software delivery from coding best practices and continuous integration/delivery to performance engineering and analytics.

    JOB RESPONSIBILITIES

    • 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 and acceptance 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

    Essential

    • 5+ years of solid commercial development experience, working with Java or Node.js on Linux (experience with other object oriented 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


    Preferred

    • 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


    ABOUT RAKUTEN & EUTD

    Rakuten, Inc., which we are part of, is the largest eCommerce company in Japan, and third largest ecommerce marketplace company worldwide. Rakuten provides a variety of consumer and business-focused services including e-commerce, e-reading, travel, banking, securities, credit card, e-money, portal and media, online marketing and professional sports. The company is expanding globally and currently has operations throughout Asia, Western Europe, and the Americas. Founded in 1997, Rakuten is headquartered in Tokyo, with over 20,000 employees worldwide.  

    As a company with teams distributed globally, we believe it is important to grow regional technology-focused communities that promotes collaboration and innovation. This is why Europe Technology Division (EUTD), of which the Rakuten Blockchain Lab is part of, was created.

    • EUTD is Rakuten’s regional software engineering organization.
    • We have over 140 members coming from all over the world representing over 20 nationalities working at 10 offices in 6 European countries.
    • We are developing and operating Rakuten’s global software platforms, which are used across Rakuten Group worldwide.
    • We have expertise in a range of areas including e-commerce, big data, search, recommendations, data science, business intelligence, information security, user identity management, corporate IT, and data centres and infrastructure.
    • We are supporting Rakuten’s businesses in Europe and are closely collaborating with the colleagues at Rakuten’s headquarters in Japan and in other regions.

    If you are interested in becoming part of an organization that aims to empower society and become the World’s best, join the company where YOU shape the future. Come and work with us!