Software Engineer - Distributed Systems



Software Engineer - Distributed Systems

Toronto, Ontario,Ontario -Permanent


Job Description

Our client are looking for a Software Engineer - Distributed Systems to work on our various systems which need high scalability, reliability and availability!

These challenges require creative thinking and a deep understanding of how software and how a platform works.

Our ideal candidate is an ace problem solver and a learner at heart and should have a very high degree of comfort in pretty much any programming language. We offer a flexible work schedule and you will get your choice of tools(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 root cause!


Must Have Skills:

-Strong fundamentals in data structure, algorithm, operating system and object oriented programming
-Deep understanding in 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 stack as needed
-Degree in Computer Engineering or Computer Science or 3+ years equivalent experience in software development

Preferred Qualifications:

-Experience with one or more general purpose programming languages including but not limited to: Java, Scala or Go
-Implement platform components such as RESTful APIs, Pub/Sub Systems, Database Clients
-NoSQL experience
-Experience with AWS services
-Contribute to open source projects


Details:

Starting: ASAP
Travel: 0%
Dress Code: Casual