Senior Software Engineer (Frontend)

About you…

  • You have incredible coding skills. Your programming abilities are way above average and you can engage in the meaningful conversation about

HTML5, CSS, TypeScript, SQL, REST Web Services, MongoDB, Node.js, Angular 2+.

  • You have made innovative Web apps.
  • You possess a deep knowledge of Web services and applications infrastructure.
  • You obsess over user experience and your apps reflect that.
  • You make Web apps because that’s what you love to do, not because that’s all you can do.
  • You are constantly investigating new technologies and introducing them into existing products.

About the project…

Building on SOTI’s 20+ years’ experience managing mobile devices, a small team of highly talented engineers is working on a next generation, IOT device management system in which device definitions are captured in a semantic model based on the OneM2M ontology for connected devices so that support for new types of devices can be added to the system without adding new code.  The first release of the new system has just started Beta testing and we are currently expanding the team to keep pace with the demand for new features and functionality.

About us…

SOTI Research and Innovations Lab was established to explore new technologies and innovative solutions. We strive to go where nobody has gone before. We are located in Waterloo, Ontario, the hearth of technology innovation.

We hire smart people and give them the autonomy to do great work. We put the power to make decisions in the hands of the people closest to that decision.

SOTI is the world's most trusted provider of enterprise mobility management (EMM) solutions, with over 14,000 enterprise customers and millions of devices managed worldwide. We are passionate about producing innovative solutions that deliver results and solve real customer needs.

How to apply…

Write code solving the following challenge (language of your choice). 

Given two words of equal length that are in a dictionary, write a method to transform one word into another word by changing only one letter at a time. The new word you get in each step must be in the dictionary (assume English wordlist).



Output: DAMP -> LAMP -> LIMP -> LIME -> LIKE

Please reply via email to and include your resume and your solution to the coding challenge as attachments. If you have a website or GitHub account, please attach links to those also.