Name: Omar El Sayyed
Education: BSc of Computer Engineering – Cairo University (since 2008)
Phone: +2 01149011587
Email: omar@nomone.com
Known for
-
NOMone VR Browser. An Android browser based on Chromium that surfs the internet in virtual reality:
https://play.google.com/store/apps/details?id=com.nomone.vrbrowser -
NOMone Resolution Changer. An Android app to tweak phone settings for better performance and battery life:
https://play.google.com/store/apps/details?id=com.nomone.resolution_changer -
NONGL. A modern C++ cross platform game development library that exports to Android, iOS, HTML5, Mac and Linux:
https://bitbucket.org/NOMone/nongl/src -
WebGL tutorials on Tuts+:
https://tutsplus.com/authors/omar-el-sayyed -
Being the owner and/or moderator of several technical facebook groups concerned with C++, game development and computer graphics (although not very active lately):
Previous Positions
- Software Development Engineer @ Microsoft (2008) ⇨ Developing plugins for the ELS (Extended Linguistic Services) platform.
- Embedded Software Engineer @ SysDSoft (now acquired by Intel) (2010) ⇨ Implementing the LTE (Long Term Evolution) 4G mobile networks base station physical layer.
- Android Game Developer @ MIRPartners (2011) ⇨ Developing Android Games in Java.
- Team Lead @ Nile Design (2015) ⇨ Leading a team of web developers building websites for clients.
Currently self-employed at NOMone Software. Here’s my NOMone demoreel (though it’s several years old, so very outdated):
http://nomone.com/About/NOMoneDemoreel2015.mp4
Strengths
Having worked on several areas, my experience spans a lot of technologies. It can be hard to pin-point my strengths. But I would say I’m most experienced in:
- Game Development.
- Graphics programming.
- Low-level programming.
The languages I typically use are:
- C++ (16+ years).
- Java (8+ years).
- Javascript (5+ years).
- Rust (New).
I did some development in C, Objective-C, C#, Assembly, PHP, Python and other languages, but nothing as long term as the above ones. I just mentioned these to show my inclination to use the right tool for the job every time. I’m not afraid of having to pickup new skills as necessary. In fact, I would count this as one of my strengths.
I’m very comfortable working on:
- Mobile and cross platform apps.
- Low-level apps (like the Chromium browser, embedded software, system abstraction layers and other stuff that interact directly with systems/hardware).
- Web technologies, spanning both front-end and backend.
Teaching Experience
My knack for teaching goes a long way back:
- I used to give weekly programming sessions when I was in the preparatory stage at school (school approved). Several of my colleagues actually took it seriously and became computer engineers, which I’m quite proud of.
- I’m one of the founders of the CCEL (Cairo Computer Engineering Labs), a student activity in the Faculty of Engineering of Cairo University. We basically gave students extracurricular courses to help identify where in the wide spectrum of computer engineering do they belong. I hear the CCEL is still running till today.
- I’ve worked as an instructor for Tuts+, teaching HTML5 hardware accelerated graphics.
- I write technical articles and how-to(s) on my blog “nomone.com” from time to time. I used to have much more articles, but several hosting disasters have trimmed them down to a few (lessons learned: backup your website regularly!).
Epilogue
So, here I am looking for a job to add to my long journeys in the universe of technical learning. Please pick me up! I can easily teach:
- C.
- C++ (classic and modern C++).
- Java.
- Android.
- Game development.
- Web development essentials: HTML, CSS, Javascript and Node.js.
- Advanced Javascript (ES6).
- Algorithms and data structures.
- Logic design and computer architecture.
- Microprocessing and interfacing.
- Probably many other things that just don’t happen to cross my mind a the moment.
Thanks for your interest in employing me. Regards!