Omar Enayet, Software Developer in Cairo, Cairo Governorate, Egypt
Omar Enayet

Software Developer in Cairo, Cairo Governorate, Egypt

Member since April 26, 2015
Omar creates, develops, and maintains distributed applications using .NET, C++, and Java for medium-to-large enterprises including desktop and web as well as mobile applications using Flutter. He's also specialized in chatbots, where he worked on multiple projects using DialogFlow, MS Bot Framework, and FlowXO. He has a master's degree in computer science and has experience with text mining.
Omar is now available for hire

Portfolio

Experience

  • C++, 7 years
  • C#, 5 years
  • Microsoft SQL Server, 4 years
  • Azure, 2 years
  • ASP.NET, 2 years
  • Dialogflow, 1 year
  • Flutter, 1 year
  • Microsoft Bot Framework, 1 year

Location

Cairo, Cairo Governorate, Egypt

Availability

Part-time

Preferred Environment

Windows, VS, Eclipse, SVN, Git, Linux

The most amazing...

...project I've led and co-developed was a distributed enterprise application covering different web, desktop, cloud, and mobile technologies.

Employment

  • Software Development Lead

    2018 - PRESENT
    Peer Software
    • Developed applications for managing file storage across NAS devices and handling real-time file system changes and synchronization among different office branches.
    Technologies: C++, Java, Spring, STL, .NET
  • Flutter Developer

    2019 - 2019
    Second Half Picks (via Toptal)
    • Developed multiple parts of a Flutter application that displays sports news feed and statistics.
    Technologies: Flutter, Firebase
  • Flutter & Chatbot Developer

    2018 - 2019
    VoiceNation (via Toptal)
    • Developed two Flutter mobile applications.
    • Developed a chatbot using DialogFlow with a client on Flutter and with a CakePHP on server-side.
    • Developed an FAQ chatbot via DialogFlow.
    Technologies: DialogFlow, CakePHP, Flutter, Dart
  • Freelance Software Developer

    2018 - 2018
    Toptal Clients
    • Created an application that interfaces with a uEye Camera, parses an Excel sheet, and uploads images taken to SharePoint.
    • Wrote a PowerShell script to upload Excel data to SharePoint.
    • Wrote a LUA script on FlashAir to automatically upload files (mainly photos taken by a camera) to SharePoint.
    Technologies: .NET, PowerShell, LUA, FlashAir
  • Software Developer

    2015 - 2018
    C&C Computer Solutions
    • Created a component for connecting NetApp Filers with a file event-handling component.
    • Created a component for connecting EMC, VNX, and Isilon with a file event-handling component.
    • Created a component for distilling file system events used by file collaboration and synchronization software.
    • Created a component for backing up and synchronizing files on-premises with object storage on the cloud. Supported Azure Blob storage and Amazon S3 storage.
    Technologies: C++, RPC, Java, C#, Delphi, REST, XML, SSH
  • Software Engineer and Co-founder

    2017 - 2017
    Mandoubi
    • Developed two chatbots on the Facebook Messenger channel for restaurant table reservations and for food delivery services. Integrated with many cloud services for NLP-AI, payment, image processing, fleet management, SMS, and email.
    • Developed and tested chatbots via Facebook Messenger channel.
    • Developed a web portal for order data entry.
    • Integrated chatbots with cloud services for NLP-AI, payment, image processing, fleet management, SMS and email.
    • Evaluated the chatbots in production on Azure.
    Technologies: ASP.NET, MS Bot Framework, Azure, MongoDB, FB Bot API, API.AI, Cloudinary, Onfleet, Twilio, Gmail, Azure
  • Software Engineer

    2016 - 2016
    Crossover for Work – TX, USA – GFI Software
    • Developed enhancements and bug fixes for GFI Mail Essentials software for email security.
    Technologies: Visual Studio, Active Directory, ASP.NET MVC, DNS, HTTP, SMTP, POP, IMAP, LDAP, C#, C++, JavaScript, Git, Jira, CircleCI
  • Development Team Lead

    2013 - 2015
    NTP Software
    • Supported a Linux file server project for an existing commercial application that automatically archives files on a file server (Linux) to other storage platforms which exist on-site or on the cloud.
    • Developed a licensing enforcement project for an existing commercial application that automatically archives files from a file server or NAS device to another storage platform.
    • Created a Windows add-on COM object used by Windows Explorer that shows sizing information about a directory and communicates with a Windows service.
    • Programmed an application for data collection on a customer enterprise environment to be used by support.
    • Supervised a project for an existing reporting tool for a commercial enterprise software that involved modifying a existing Windows service to send reported information to a web service and creating a website to preview and manage the reports.
    • Built a distributed enterprise application that provides remote access to thousands of mobile clients with their files which are stored on-premises. The project involved many components, including two back-end Windows services, a web server, and a desktop client, Android client, iPhone client, and WP8 client.
    • Built an application that automatically compresses files in enterprise storage hosts according to pre-specified policies and un-compresses them on user demand.
    Technologies: C++, .NET, InstallShield, ASP.NET, Android, Linux
  • Data/ML Engineer (Part-time)

    2012 - 2013
    Freelance
    • Provided pre-processing, RFM analysis, and statistical reports on Egyptian charity organizations donors’ data.
    • Applied reinforcement learning to robotics simulations.
    • Developed machine learning applications used to enhance research conducted by PhD students on breast cancer patients’ data. Work included the use of neural networks, supervised learning, and other algorithms.
    Technologies: R Studio, R Markdown, Excel, Eclipse, Weka Library, Webots Framework, Java, R
  • Software Developer

    2010 - 2013
    NTP Software
    • Created a project with client-server architecture used by enterprises to guarantee the security of any client computers connecting to their storage hosts.
    • Developed a product for automatically archiving files to secondary servers with a website for administration.
    • Contributed to the development of a Windows enterprise application on a distributed environment responsible for managing of SharePoint files externally on external storage including publishing, exporting, and importing files as well as managing them in an online manner. Included a GUI. I worked on most parts of the project including internal logic, GUI, multi-user testing, and publishing.
    Technologies: C++, .NET, InstallShield, ASP.NET, LINQ, WCF
  • Research Assistant

    2010 - 2011
    Nile University
    • Conducted research in software engineering, test automation, software size estimation, cloud computing, and machine learning for real-time strategy games.
    Technologies: Azure

Experience

  • NTP Software VFM (Development)
    http://www.ntpsoftware.com/product/ntp-software-vfm/

    A distributed application for the automatic and scheduled tiering (archiving) of files. Supports multiple NAS storage systems and both Windows and Linux natively. Work involved Windows services, web services, and websites.

    Used Native C++.

  • My Blog: Omar's Brain (Other amazing things)
    http://omarsbrain.wordpress.com/

    My personal blog where I talk about algorithms and artificial intelligence.

  • Risha Laser Cutter: Control App (Development)
    http://reshalaser.org/

    This was an open source project. I participated in the development of an Android (Xamarin) and C# desktop application which controls the Risha Laser Cutter via Bluetooth.

  • SharePoint Instant Migration (Development)

    An application that works with SharePoint to externalize files outside the DB. Users can access/edit the files via SharePoint normally though the files may exist on remote NAS servers. Users can use the UI to import/export huge masses of files to NAS devices. Languages used: C# and C++.

  • Breast Cancer Classifier (Development)

    This was a freelance project which I wrote in Java for a Ph.D. student, and used the Weka machine learning library. It used several supervised learning algorithms and applied cross validation and testing.

  • File Event Detector & Connector with EMC VNX & Isilon Devices (Development)
    http://www.peersoftware.com/

    Developed from scratch a C++ component (Unmanaged DLL) to register with EMC VNX & Isilon devices to get real-time file system events and also able to execute API calls & CLI commands on these devices. Supported both RabbitMQ & direct RPC communication with EMC CEE service.

    This component is a major part of the peer software file management solutions.

  • File Event Detector & Connector with NetApp 7-mode Devices (Development)
    http://www.peersoftware.com/

    Developed from scratch a C++ component (Unmanaged DLL) to register with NetApp 7-mode devices to get real-time file system events and also able to execute API calls and detect connection problems.

    This component is a major part of the peer software file management solutions.

  • File System Events Distiller (Development)
    http://www.peersoftware.com/

    A core component of peer software file management solutions. I developed it from scratch using unmanaged C++. It interfaces with different components (called connectors) to get file system events from different NAS devices (EMC VNX and Isilon, NetApp 7-mode or c-dot) or Windows servers. It gets a constant stream of events and distills the events out putting into consideration different event patterns that needs to be handled. The stream of distilled events gives the file management application the abstract file operation being performed.

  • Universal File Access (Development)
    http://www.ntpsoftware.com

    Using Android and iOS mobile applications, users were able to access their files residing on their company's file servers or NAS devices, securely and remotely from anywhere in the world. A WCF service serves the requests, an administration website is provided, an additional security layer was added.

    Used C#, WCF, C++, Entity framework, LINQ, and ASP.NET.

  • Customer Donations Analysis for Charity Organization (Development)
    http://www.tatelecom.com/megakheir/

    Performed data pre-processing and analysis on a dozen of millions of records of SMS donations data. Analyzed the marketing campaigns, channels (such as TV, Radio, SMS, FB) and different causes (School Feeding, Feast Feeding ..etc.) that encouraged donators to donate. Performed RFM Analysis (customer value) using the donator data provided.

    I used R for the analysis and Excel for providing reports and conclusions.

  • Published Paper: Intelligent Online Case-based Planning Agent Model for Real-time Strategy Games (Other amazing things)
    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5687225&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5687225

    [Abstract] Research in learning and planning in real-time strategy (RTS) games is very interesting in several industries such as military industry, robotics, and most importantly game industry. A recent published work on online case-based planning in RTS Games does not include the capability of online learning from experience, so the knowledge certainty remains constant, which leads to inefficient decisions. In this paper, an intelligent agent model based on both online case-based planning (OLCBP) and reinforcement learning (RL) techniques is proposed. In addition, the proposed model has been evaluated using empirical simulation on Wargus (an open-source clone of the well known RTS game Warcraft 2). This evaluation shows that the proposed model increases the certainty of the case base by learning from experience, and hence the process of decision making for selecting more efficient, effective and successful plans.

Skills

  • Languages

    C#, C++, Java, Python 3, Python, Visual Basic 6 (VB6), R, CSS, Prolog, HTML, Assembly, Lua, C++/CLI, Delphi, Dart, PHP, XML
  • Libraries/APIs

    WinForms, Windows API, LINQ, Libcurl, Google Cloud API, Google APIs
  • Tools

    Dialogflow, InstallShield, Onfleet, Cloudina, Jira, RabbitMQ, Microsoft Access, MATLAB, Weka, Microsoft Visual Studio
  • Platforms

    Api.ai, Microsoft Bot Framework, Azure PaaS, Twilio, Apache Pig, Azure, Xamarin, SharePoint, Android, Visual Studio 2016
  • Storage

    Azure Blobs, Microsoft SQL Server, MongoDB, AWS S3, Apache Hive
  • Other

    Software Development, FlashAir, RPC, Cloudinary, Algorithms, Machine Learning, Data Structures, Multithreading
  • Frameworks

    Windows Communication Framework (WCF), ASP.NET, Flutter, CakePHP, ASP.NET Web API, Boost, Entity, Hadoop
  • Paradigms

    Data Science, Agile Software Development

Education

  • Master's degree in Computer Science - Informatics
    2016 - 2018
    Nile University - Giza - Egypt
  • Bachelor's degree in Computer Science
    2006 - 2010
    Ain-Shams University - Cairo
Certifications
  • Reinforcement Learning - Prediction and Control with Function Approximation
    OCTOBER 2019 - PRESENT
    University of Alberta | via Coursera
  • Reinforcement Learning - Sample-based Learning Methods
    SEPTEMBER 2019 - PRESENT
    University of Alberta | via Coursera
  • Fundamentals of Reinforcement Learning
    JULY 2019 - PRESENT
    University of Alberta | via Coursera

To view more profiles

Join Toptal
I really like this profile
Share it with others