Software Engineer C++

  • Full-time

Company Description

Location: Islington and Bloor, Toronto

Term: full time

Industry: Software Engineering (Trading Platform)

 

Company Introduction

 

Our client, a trading algorithm software company, provides an integrated quantitative research and trading platform. The business strives for excellence in technology and analytics. Rational approach to problem solving, attention to details and constant self-improvement is expected. By joining, you will part of the team of the best technologists and quants in the industry.

Job Description

We are looking for a C++ developer responsible for developing products that may range from Linux libraries to high performance trading systems. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure.

-       Design, build, and maintain efficient, reusable, and reliable C++ code

-       Implement performance and quality modules

-       Identify bottlenecks and bugs, and devise solutions to these problems

-       Help maintain code quality, organization, and automatization

-       Optimize code for low latency, high-performance applications

 

Qualifications

-       Strong proficiency in C++, with fair knowledge of the language specification

-       Thorough knowledge of the standard library, STL containers, and algorithms

-       Knowledge of Linux system programing and POSIX programming interface

-       Good understanding of memory management in non-garbage collected environments

-       Understanding of dynamic polymorphism and C++ specific notions, such as friend classes

-       Familiarity with templating in C++

-       Knowledge of the latest C++17 standard is appreciated

-       Knowledge of low-level threading primitives and real-time environments

-       Knowledge of writing native modules for high-level languages such as Node.js and Python is a plus

-       Familiarity with language tools, such as Valgrind

-       Implementation of automated testing platforms and unit tests

-       Proficient understanding of Git code versioning tool

-       Familiarity with continuous integration

-       Undergraduate degree in Computer Science, Engineering or Mathematics