Overview:
We are looking for a highly competent lead engineer who can work on developing solutions in the UCaaS (Unified Communications As A Service) domain. The candidate must have in-depth experience in designing and implementing complex Cloud systems and have excellent performance optimization and troubleshooting skills.
Responsibilities:
Individual Contributor responsible for design and development of Mitel UCaaS Platform and Applications
Specific Responsibilities include
Internal architecture and design
API and interface design
3rd party or internal technology integrations
Technology tooling and stack
Interface with Product Owner and key stakeholders for delivery of software projects on time and budget
Collaborate with business partners to translate requirements into technical specifications
Hands-On Engineer responsible for delivering great quality software
Work as part of a highly technical team interacting closely with the System Architects on architecture/design decisions
Build quick prototypes for technology validations
Act as the code police to help ensure that code is well designed, secure, and follows standard best practices
Mentor 3 to 5 member team
Requirements:
10+ years of development experience with at least 3 years in design and development of scalable server-side applications.
Thorough understanding of Web & Microservice architecture, distributed computing, cloud computing concepts, SOA, information security, fault tolerance, networks and tooling.
Strong problem-solving skills, data structures and algorithms.
Expertise in programming languages: C++, C, Node.js, GoLang
Expertise in concurrent/multi-thread programming
Expertise with Event/Messaging infrastructure
Exposure to Relational and NoSQL Database technologies
Experience with following is a plus
Application development on GCP / AWS / Azure
Docker, Mesos, Marathon, Consul
High Availability and Clustering solutions
Defining and developing RESTFUL APIs
Expertise in designing / developing reusable software components
Excellent verbal and written communication skills required for composing and delivering technical presentations or other forms of documentation to various level of technical and non-technical management
Proficient managing multiple priorities in a dynamic, geographically dispersed environment
Good understanding of Agile software development methodologies. Iterative design and development paradigm are a must, as things move quickly, and requirements are sometimes fluid.
Additional Skills:
In depth experience in technologies / Applications used in UCaaS
Exposure to build pipelines and CI/CD
Keyskills: Cloud computing C++ Technical management NoSQL SOA Information security Agile Data structures Application development Troubleshooting