Machine Learning Tech Lead2016 - 2020Affectiva
Technologies: Python, TensorFlow, TensorFlow Lite, Keras, Docker, AWS, C++, Qualcomm SNPE, Jenkins
- Migrated Affectiva's research from classical ML approaches to Deep NNs by building a concurrent data preparation and model training framework and setting up on-premise and cloud infrastructures to help researchers spend more time on research.
- Trained and productized substantially improved models for face detection, facial landmark tracking, head pose estimation, and object detection.
- Led the research and engineering efforts to port the entire face analysis pipeline to TFLite and Qualcomm SNPE run times.
- Led PoC for multiple features such as in-car body pose estimation, infant-seat, and mobile phone detection.
- Helped hire a number of Computer Vision researchers with emphasis on Deep Learning expertise.
- Translated customer requirements into data and research needs, including specifying the amount and specs of data, researcher time, and assessing overall risk and achievable KPIs.
- Organized a leading meetup in Cairo about Deep learning and Computer Vision in Automotive (Cairo AI Meetup). Presented Affectiva in multiple technical events and summer schools in Egypt and Germany.
Back-end Software Engineer2014 - 2016Cliqz
Technologies: Python, AWS, Elasticsearch, Redis, Flask
- Built a news articles indexing and keyword search pipeline.
- Developed an article search ranking system based on social media signals such as reactions, retweets, and shares.
- Optimized search response time in millions of news articles to below 10 milliseconds.
Software Engineer Intern2015 - 2015Microsoft
Technologies: C++, Visual Studio
- Added Microsoft Office support for the new virtual desktop feature of Windows 10. Word was the first MS Office app to support this feature.
- Initiated discussions with engineering managers of PowerPoint and Excel to roll out virtual desktop support across MS Office apps.
- Developed a set of reusable functionalities in C++ MS Office code base to provide Win10's virtual desktop capabilities to the rest of the Office product suite.
Back-end Software Engineer2013 - 2014Affectiva
- Developed substantial features in a video labeling tool (web) and made optimizations to allow increasing the number of concurrent labelers/users to scale up labeling operations.
- Reduced manual data labeling cost by 2-3x by implementing an ActiveLearning pipeline and using ML classifiers to select promising videos to label.
- Built an ETL pipeline to feed the largest repository of human facial expressions and improved database schema of the database for real-time data mining using a distributed columnar database (Vertica).
- Improved frequently-used query times by more than eight times by finding and removing long standing bottlenecks in the distributed database cluster.
Embedded Software Engineer2011 - 2012Valeo
Technologies: C, C++, Qt, DOORS, PowerPC, WindRiver
- Maintained a Hardware Abstraction Layer (drivers) for Park4U (auto-parking) on a multi-core PowerPC micro-controller including a driver for CAN Bus.
- Created GUI-configurable automated tests for several C modules in Park4U.
- Developed a static analysis tool to test the requirement compliance of executables based on compiler (windriver) output reports.