Backend Software Developer

Engineering Vancouver, British Columbia


Position at j2 Cloud Services

Reporting to the Manager of Software Development, you are a skilled software developer building and maintaining back-end systems and network services in a Unix environment. You have a good grasp of service oriented design and development, and a track record of building software using the best practice of clean code.

As a self-motivated developer, you will be involved in developing and maintaining products that are used daily by millions of users, that include anti-spam, anti-virus, advanced thread protection, mail delivery, encryption and large archived storage. You are passionate about producing quality software and have excellent communication skills. Both spoken and written are a must as you will be involved in frequent technical discussions, and participate in software design and code reviews.

Knowledge and experience in several of the following areas are desirable:

  • Java, C and/or Golang
  • RESTful APIs, Web Services, microservices
  • MySQL, Redis, NSQ
  • Full-text search engines (Sphinx, Lucene, Solr)
  • Distributed and high availability systems
  • Container orchestration platforms (Docker, Nomad, Consul)

Job Duties

  • Participate in an Agile development environment / Scrum team
  • Develop microservices in Java and/or Golang to support email and storage platforms
  • Participate in product development meetings and design reviews
  • Participate in planning and estimation meetings
  • Perform peer code reviews
  • Work to project schedules and commitments; track activities and progress using Jira
  • Engage in maintenance and support activities; debug and resolve defects, and deliver fixes
  • Collaborate closely with System Operations to troubleshoot production issues, and address scalability and performance concerns

Job Requirements and Experience

  • BSc or MSc in Computer Science, Computer Engineering or equivalent
  • A minimum of 1 years of professional software development experience
  • Experience in Agile development, application design, and general software development best practices
  • Proficient in Java, Golang and/or C
  • Proficient in Git and Unix systems
  • Proficient in SQL and relational databases such as MySQL
  • Experience in Python and Unix shell scripting is a plus
  • Experience with full-text search engines (Sphinx, Lucene) is a plus
  • Experience with the Docker ecosystem (Engine, Compose, etc) is a plus
  • Experience with CI/CD tooling (Jenkins, Bamboo, Nomad, Consul) is a plus
  • Experience with time series database systems (Prometheus, InfluxDB) for dashboard monitoring is a plus
  • Self-starter with the ability to work independently or as part of a team
  • Attention to detail and a passion for quality
  • Excellent communications skills (oral, written, and presentation) in English