Machine Learning Engineer
Egypt, Al Qāhirah, CairoEngineering
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.
The Engineering team at Unifonic is looking for a proactive and dynamic Senior Machine Learning Engineer, to join our diverse team of developers. In this role, you’ll be responsible for delivering ML models to serve use cases like NLP, speech tagging and recognition, text classification, Named Entity Recognition, and semantic extraction. The successful candidate should have a strong technical background in Machine Learning with proven hands-on experience delivering similar projects. The responsibilities of the Senior Software Engineer, include, but are not limited to:
Ability to fully understand technical requirements, challenge them and produce the most appropriate implementation.
Discuss with product managers about product features.
Design and implement ML pipelines from ideation to production
Analyze, process, and interpret data.
Build and train ML models along with tools to update/retrain those models which become a part of customer-facing products.
Work with other software developers to guarantee Models implementation in production
Be a role model in agile practices.
Produce technical documentation for encountered problems and maintain team technical decisions.
Hands-on 5 years of relevant work experience in shipping ML models for NLP, CV, classifiers, and recommenders for large-scale customer-facing projects.
Experienced 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.
Bachelor’s degree in a relevant field. (e.g. Computer Science, Computer Engineering, Software, 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.
Familiar with code versioning tools such as GIT, CI/CD concepts, and toolchains.
Acquainted with agile methodologies like Scrum, and agile tools like Jira.
Nice to have
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, etc).
Familiar with managing Linux servers and applications.
Familiar with SaaS and PaaS integration architecture and applications.