Unifonic is a customer engagement platform that enables organizations to delight customers with remarkable omnichannel experiences. By unifying communication channels, messaging apps, and chatbots, Unifonic streamlines conversations at every touchpoint throughout the customer journey. Engineering principle
: We ship robust, high-quality code, written for humans to read and maintain!
The Engineering team at Unifonic is looking for a proactive and dynamic Machine Learning Engineering Lead, to join our diverse team of developers. In this role, you'll be playing an active part in the hands-on process of building Machine Learning models and putting them into production, managing a team, and contributing to production-facing code on a regular basis.
The successful candidate should have a strong technical background in order to be a good counsel and advocate for engineering. They should also have excellent team management and leadership skills. The responsibilities of the Machine Learning Engineering Lead, include, but are not limited to:
Design and lead the implementation of AI/ML/NLP pipelines from ideation to production
Apply best practices for ML datasets selection, processing, and model training and testing.
Ensure the delivery of high-performance ML models in production by applying best practices of system design and backend APIs implementation.
Support with recruitment & hiring of team talents and facilitate their onboarding.
Work with product managers, designers, and engineers to prioritize, plan, and schedule work.
Communicate status, risks, and requirements to other groups.
Provide technical and non-technical guidance to the team, both individually and as a group.
Facilitate continuous learning and improvement for the team and its members.
Hands-on 10+ years of relevant engineering work experience and 4+ years of hands-on technical management experience in shipping Machine Learning Models and large-scale projects with multiple dependencies across teams.
Bachelor's degree in a related field. (e.g. Computer Science, Computer Engineering, etc)
Expert in Python with experience in common data science toolkits, such as NumPy, Pandas, PySpark, Scikit-Learn, Tensorflow, PyTorch, Keras, rasa, BERT, spaCy.
Hands-on experience in NLP is mandatory e.g. Text representation (n-grams, a bag of words, TF-IDF, etc), feature extraction, part of speech tagging and recognition, text classification, Named Entity Recognition (NER), semantic extraction techniques, Machine Translation, slot filling, Sentiment analysis, etc.
Familiarity with MLOps best practices, e.g. Model deployment and reproducible research
Mastering data science needed skills like SQL, hypothesis testing, Data cleansing, data augmentation, data pre-processing techniques, dimensionality reduction, mathematics, probability, and statistics (e.g. conditional probability, likelihood, Bayes rule, and Bayes nets, Hidden Markov Models, etc.).
Excellent understanding of Machine learning techniques like Naive Bayes classifiers, SVM, Decision Tree, KNN, K-means, Random Forest, modeling and optimization, evaluation metrics, classification, and clustering.
Experience with distributed data/computing tools: Map/Reduce, Hadoop, Hive, Spark, etc.
Experience with data visualization tools, such as Grafana, Tableau, matplotlib, and seaborn.
Proficiency in using query engines and languages such as SQL, Hive, and Pig.
Experience with NoSQL databases, such as MongoDB, Cassandra, and Hbase.
Solid understanding of fundamental design patterns and principles required for building scalable applications composed of reusable components using Python.
Solid experience with full Software Development Lifecycle, Distributed Architectures (REST, SOAP, Queue-based), and Microservices Architecture.
Nice to have
Familiarity with famous Python ORM (Object Relational Mapper) libraries
Ability to design systems that integrate with multiple data storage solutions including relational databases, key-value stores, and different cloud-based services.
Solid understanding and hands-on experience in concurrency patterns, and event-driven architecture.
Understanding of fundamental design principles behind a scalable cloud-based application, using containerization and Kubernetes.
Strong unit test and debugging skills.
Proficient understanding of code versioning tools such as GIT, CI/CD concepts, and toolchains.
Experience with the Agile Framework and Project Management tools such as Jira
Experience building large scale data-driven systems in Java
Experience analyzing data from 3rd party providers: Google Analytics, Site Catalyst, Coremetrics, Adwords, Crimson Hexagon, Facebook Insights, etc.
Good knowledge of Deep Learning needed skills like Neural network architectures, fully connected networks, CNNs, LSTMs, and RNNs.
- Worked on other ML use cases like:
Speech Recognition algorithms.
Computer Vision (Face Recognition, OCR, )
Understanding of accessibility and security compliance
Knowledge of user authentication and authorization between multiple systems, servers, and environments. (e.g. Basic Auth, SAML, Keys, OAuth, JWT, and Tokens)
Practical experience in queuing systems/message brokers like ActiveMQ, RabbitMQ, Kafka, Beanstalk, SQS, etc
Able to create database schemas that represent and support business processes.
Practical experience with cache technologies such as Memcached, and Redis.
Familiar with managing Linux servers and applications (Nginx, apache2, etc...).
Familiar with SaaS and PaaS integration architecture and applications.
Experienced with using cloud hosting technologies such as AWS.
General knowledge in telecommunications (SMSC, VOIP, SMPP, etc...).