Senior Software Engineer(Montreal)




Senior Software Engineer(Montreal)

Montreal, Quebec  - Permanent


Job Description

Our client is a division of one of the worlds largest mobile commerce platforms which produces over 2 billion transactions a year, the majority of which occur on mobile apps. They pioneered and are the leader of QR based mobile payments in India, with over 300 million customers, they started out by offering mobile recharge and utility bill payments, and today they offer a marketplace to consumers on their mobile apps.

Their scale offers a very unique set of challenges and they are innovation around data/capabilities essential to scale even higher. They work with much longer horizons and accept trial and failure as part of building the right solution. They are about solving problems that have little or no precedent. These challenges require lots of creative thinking based upon a very deep understanding of how software works. You should have a very high degree of comfort in a programming language of your choice.

We offer a flexible work schedule and you get your choice of tools(both hardware and software) and most importantly the opportunity to work on tough problems with the brightest minds around you!

Responsibilities:

• Design large scale systems with high complexity to support our high throughput applications.
• Understand how to leverage infrastructure for solving such large scale problems.
• Work with our machine learning engineers to put cutting edge deep learning algorithms in production.
• Develop tools and contribute to open source wherever possible.
• Adopt problem solving as a way of life – always go to root cause! Support the code you write in production.


Must Have Skills:

• Strong fundamentals in data structures, algorithms and object oriented programming.
• In-depth understanding of concurrency and distributed computing.
• Software development experience in one or more general purpose programming languages, preferably Scala.
• Experience writing concurrent, distributed applications using frameworks like Akka.
• Experience with NoSQL databases and distributed cache.
• Interest and ability to learn other coding languages as needed.
• Degree in Computer Engineering or Computer Science or 5+ years equivalent experience in SaaS platform development.
•Experience with one or more general purpose programming languages, including but not limited to Scala, Java.
• Experience with implementing platform components such as RESTful APIs, Pub/Sub Systems, Database Clients.
• Experience with AWS services.
• Contribution to open source projects.


Details:

Starting: ASAP
Travel: 0%
Dress Code: Casual