About Me
I have over 20+ years of experience in software development, design and maintenance.
Mainly I'm interested with:
- Backend Development (XML-Services, WCF, RESTful APIs)
- Client/Server Applications (TCP, UDP, HTTP, SignalR, WebSockets)
- Realtime Data Monitoring
- APIs Integration
- Serial Port Communications with Smart Devices (PLCs, RTUs, Inverters,...etc)
- Automation Scripts (Web-Scraping, Data-Processing)
- MS-Office Add-ins (VSTO, VBA, JS)
- Upgrading old VB6 projects to VB.Net/C# projects (Desktop or Web)
Skills
VisualBasic [VB6, VBA, VBS, VB.NET]
C#
JavaScript/NodeJS
Web-Services [XML-Services (SOAP), WCF, RESTful APIs]
Web-Backend [ASP-Classic, ASP.NET (WebForms, MVC), ASP.NetCore(MVC, Blazor), NodeJS, Flask]
Web-Frontend [HTML, CSS, JavaScript, Bootstrap, jQuery]
Python
PHP
C++
Mobile Development [Xamarin, MAUI, Kotlin]
Databases [MS-Access, MS-SQL, MySQL, SQLite]
MS-Office Add-ins [VSTO, VBA, JS]
Work Experience
Technical Architect at DevFactory
2013 - 2016
TA for Ignite CDS (Content Delivery Solution):
- Products acquisition
- Migrate to AWS
- Fixing old bugs
- Adding new features
IT and Service Manager at Multi Service Group
2011 - 2012
- IT Management
- Provide a full range of software development service (SCADA, CAD/CAM)
- Provide after sale service for CNC sheet metal machines (LVD, AMADA)
Senior Software Engineer at ATI Systems
2005 - 2010
- Design and develop a GIS application for acoustic routing alert areas
- Design and develop a mass alert notification system
- Upgrade the old alerting and notification system
- Integrate ATI system with Netpresenter system (emergency alerts and internal communications)
- Develop RS232, TCP, and UDP SDK for ATI third parity communication devices (FSK, GPRS, CDMA, Satellite, Iridium)
Software and IT Engineer at R&D Technology
2003 - 2004
- Develop a private SCADA Package, with two operation modes:
- Design: Create SCADA screens by drag and drop controls from toolbox and adjust its properties to do what you need (I/P, O/P, Static, Animated, etc…)
- Runtime: Establish active link with PLC and update SCADA screens with a realtime data
- Develop ActiveX controls (SCADA Toolbox)
- IT Management
Maintenance and Network Engineer at Unionaire
2002
Maintenance and Network engineer at Unionare factories, to support:
- Sheet metal CNC machines
- Panasonic D500 PBX
- PLC instruments
- Factories LAN/WAN
Education
Bachelor of Electronics and Communication from Faculty of Engineering, Cairo University
1995 - 2000
Department of Computers and Control
Courses
Microsoft Certified Systems Engineer (MCSE) at YAT
Microsoft Certified Database Administrator (MCDBA) at YAT
Microsoft Certified Solutions Developer (MCSD) at YAT
The NodeJS Master Class at {PIRPLE}
Object Oriented Programming with C# at {PIRPLE}
C++ For the Rest Of US at {PIRPLE}
Frontend Fundamentals at {PIRPLE}
Keeping Up With the Javascripts - ES6 at {PIRPLE}
Full Stack Web Development with Flask at {PIRPLE}
Android 101 (Kotlin) at {PIRPLE}