Howdy there! I’m glad you’re taking the time to get to know me a little better. I will make this is as brief as possible. Thank you for your interest.
My name is Mohamed Elshahawi, pronounced MOH-HAH-med EL-SHAH-hah-wee. I was born and raised in Egypt, and I moved to the United States at the end of 2013 to pursue higher education. I enjoyed taking things apart and trying to fix them as a kid. I got my first computer around the age of 10 which pushed my curiosity about technology to the limit. I was fascinated by the computer working parts, and computers have accelerated my learning of its only writing language back then, English. Through a combination of school work and side projects, I learned about computing in depth from building a basic logic gate to building a complex software and the layers of abstraction that lies between. Lately, I have been focused on advancing my knowledge and skills in the software arena, but I still like to tinker around with hardware from time to time. I started this blog in hope to help others by sharing what I learn along the way. If you’re interested in learning about my experience and skills, please keep reading. Otherwise, contact me with questions or just to say hi if you would like.
- Peer Tutor in math and computer science (Century College, 2015-2016)
- Tutor Linked to Class for classes such as Intro to Engineering and Digital Design (Century College, 2016-2017)
- Electronics Lab Assistance (Century College, 2016-2017)
- Awarded William J. Nielson Engineering Scholarship (Century College, 2016)
- Awarded Google and Udacity Scholarship for a nano degree in Android Development (Online, 2018)
- See LinkedIn profile for details on each job and my Projects section for details on software work.
Skills & Languages
- C: Professional level.
- Unix OS (Inter-process comm, sockets, FIFOs, FDs, Threads, Semaphores, etc..)
- Embedded programming with Microchip Microcontrollers.
- Java: Professional level (my first OOP language, generics, collections, Lambda expressions, etc..)
- Android: Professional level (Built multiple production apps using best practices; I use Java but Android is slow on catching up with Java updates, so learning Kotlin is work in progress)
- Cloud Computing: I used multiple providers, but I settled with AWS and I’m constantly working on expanding my knowledge of its services
- Professional level on these services: Route53, EC2, SES, CloudFront, S3, RDS, IAM, Certificate Manager, VPC, and security groups
- Moderate knowledge of API Gateway, DynamoDB, Lambda, SNS, CloudWatch, and CodePipeline.
- Firebase: All of the Android apps I built utilize Firebase for cloud messaging and other services. One of my projects utilized the full stack of Firebase(Admin SDK for backend, Firebase JS for frontend, and Android SDK for mobile). The services I used the most is RemoteConfig, Auth, and FCM.
- NodeJS: Professional level (Built couple backend servers, monolithic, but I used it mostly to build RESTful APIs)
- VueJS: Moderate level (Built a production app utilizing Vuex, Router, and other third-party libraries. Currently working on learning about VueJs 3.0 )
The term pre-history is often used to describe the era before humans knew writing; I use it here to describe experiences I can’t provide a written proof of. Though, some of this is not career-related, it does give insight of who I’m.
- Coordinated the construction of family owned seven-level building; basement and first level was coordinated by my father. (Egypt, 2008-2010)
- Installed, configured, and administered a network server. The server provided authentication interface to use the network along with means to block certain domains or sites. It was very intriguing and educational project for me (Egypt, 2009-2011)
- Managed, along with two others, VBulletin forum called Hpyland.com; the project was discontinued, but it was quite important for me. My first forum was an ad-supported forum with only custom dashboard access. This forum, through paid hosting, introduced me to in-depth subjects such as the CPanel with all its tools for managing SQl databases, server files, and introduced me to the PHP language. (Egypt, 2009-2011)
- High school diploma with focus on Math and Science (Egypt, 2013)
- Associate of Science in Engineering (Century College, MN, USA, 2017)
- Attended University of Minnesota-Twin Cities, MN for 3 semester; I left a semester-ish shy from graduation with BS in Computer Engineering due to finances. Feel free to contact me for more details on the subject.
- Currently taking Business Management classes at Century College, MN.