Corporate Recruiters

View Original

Core R&D Engineer – 100% Remote in Canada ***Completed***

Our client develops advanced AI based software for scheduling complex operations. They offer a challenging and dynamic environment that puts a premium on delivering innovative and quality solutions, while having fun doing it.

 This is a 100% REMOTE job opportunity. Candidates must reside and be eligible to work in Canada. The physical office is located in Vancouver, Canada but the development team is located across Western Canada.

 Job Description

We are looking for a software R&D engineer who is motivated to work building a platform that other developers can use. You will be part of a “platform team” that is responsible for maintaining and developing new features for an innovative Java-based scheduling and optimization platform. Responsibilities will include research, development, and implementation of algorithms as well as writing high performance Java code to support highly interactive scheduling applications. You will coordinate with the rest of the team working on different layers of our development platform. A commitment to collaborative problem solving, sophisticated design, and quality product is expected. Experience working within existing software design constraints is a plus.

Responsibilities

To be successful, you will need to fit into a small team environment. You must also be a proactive and independent thinker, able to take ownership of tasks with little supervision, while collaborating with others. Your responsibilities include:

  • Maintaining and developing new features for existing Java based scheduling and optimization platform

  • Scheduling and optimization algorithm requirements definition, specification, and design

  • Implementation of algorithms and designs in Java in your areas of interest, such as:

    • Stochastic local search

    • Graph theory

    • Operations research

    • Language parsing and runtime compilation

    • Memory management heuristics

    • GIS and computational geometry

    • Visualization

  • ·         Software performance tuning, including knowledge of:

    • Big-O algorithmic complexity

    • Impacts of memory allocation

    • Methods for identifying and addressing bottlenecks

 Skills and Qualifications

  • Advanced Java or similar programming language skills

  • Strong background in mathematics, algorithms, and computation

  • Experience with mathematical modeling

  • Experience with low-level concurrency primitives

  • Practical experience developing high performance code

  • Knowledge of optimization techniques and algorithms (including Stochastic Local Search)

  • Java/Swing or other desktop UI (visualization) experience a bonus

  • Machine learning experience a bonus

  • Advanced (graduate) degree in Mathematics or Computing Science preferred

The company offers a long-term stable job in a highly collaborative, people-focused team, and fair comp with excellent benefits and vacation allowance. Opportunity to visit Vancouver for team meetings (if working remotely from another city in Canada).

Contact: Amanda@corporate.bc.ca