Senior Software Engineer - Distributed Systems

Senior Software Engineer - Distributed Systems

Toronto, Ontario, Canada -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.

They are looking for a Senior Software Engineer - Distributed Systems to work on various systems which need high scalability, reliability and availability. These challenges require creative thinking and a deep understanding of how software and platform work.

Our ideal candidate is an ace problem solver and a learner at heart. You should have a very high degree of comfort in a programming language of your choice. They 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, develop, test, deploy, maintain and improve software and core platform
Build common platforms to support different business vertical application systems
Develop tools and contribute to open source wherever possible
Adopt problem-solving as a way of life always go to the root cause!


Must Have Skills:

Degree in Computer Engineering or Computer Science or 5+ years equivalent experience in software development
Strong fundamentals in data structure, algorithm, operating system and object-oriented programming
Deep understanding of concurrency, distributed computing, large-scale system, messaging and algorithm
Software development experience in one or more general-purpose programming languages
Interest and ability to learn new technology stacks as needed

Experience with at least ONE of the following:

Solid foundation in designing, implementing, and maintaining a large-scale distributed system (e.g. with microservice architecture).
Experience in developing distributed platform systems such as Messaging Platforms, Pub/Sub Systems, Databases, Distributed Computing Frameworks, and Schedulers.


Nice to Have Skills:

Experience with one or more general-purpose programming languages including but not limited to: Java, Scala or Go
NoSQL experience
Experience with AWS services
Contribute to open-source projects


Details:

Starting: ASAP







Similar jobs in Toronto:

Similar jobs in other locations: