Senior Software Engineer – Java

Global Relay

Description

Your Role:

As a Senior Developer at Global Relay in Kelowna, you’ll be using leading edge technologies to build products that build the foundation for our services which are used by tens of thousands of users globally to solve real world business problems. You get to tackle interesting and engaging problems to do with scalability and high availability in a distributed system landscape. At Global Relay we are continuously pushing the boundaries of Java technology.

This is an opportunity to work alongside some of the best developers in British Columbia and apply your craft in an environment that encourages creative thinking and autonomy. Our software is developed by small, focused agile teams of developers and QA. We encourage our developers to think beyond a single component to build complete system solutions. Challenge yourself by learning new technologies, and apply your skills across our different projects and application domains. If you are committed to code that is clean, well-tested, well-reviewed, performant and secure then you’ll fit in around here.

Technologies In Use:

  • Languages (Java, Python, Bash)
  • Spring Boot Framework
  • Containerization (Docker, Kubernetes, Skaffold)
  • Ansible Automation Framework
  • Databases (PostgreSQL, CockroachDB, Cassandra)
  • Apache ZooKeeper
  • Apache Kafka
  • Specialized encryption hardware

Your Job:

  • Design, in collaboration with the team, the software implementations that satisfy business requirements
  • Collaborate with product owners on user story generation and refinement
  • Work as part of an agile development team to write quality code for enterprise services
  • Ensure code is tested and performant for use at scale
  • Develop deployment automation to continuous delivery
  • Document API’s, code and designs
  • Monitor and support operation of production systems
  • Participate in knowledge sharing activities with colleagues

About You:

  • 5 years of experience working with distributed software at scale
  • Solid experience with agile development methodologies
  • Solid experience with multi-threaded programming
  • Solid understanding of design patterns and their benefit
  • Experience with network protocols such as HTTP, TLS, TCP
  • Experience with service-oriented architecture
  • Experience with web services technology such as REST, JSON etc.
  • Experience with continuous integration systems
  • Experience with dependency injection and mocking techniques

How to Apply