About

I’m a software engineer and a TF for CS50 and a few other classes at Harvard. I graduated from Helwan University with a degree in Accounting, but I have always been passionate about computers. I started self-studying computer science and programming in 2014, made my first contribution to an open source project in 2015, and joined the CS50 team at Harvard in 2017.

Experience

Harvard University / Software Engineer 2017–PRESENT
I help teach and support 3+ introductory-level CS and programming classes, including CS50, Harvard’s largest CS class with 700+ students on campus and 1M+ registrants online, where I build and maintain tools used by hundreds of students on campus and tens of thousands of students online, mentor 2+ undergrads as they are working on dev projects over the summer, and mentor groups of students as they are working on their final projects during the semester.

HST / Software Engineer 2015–2016
Developed websites for different company product lines and worked with a team of 3 developers on Android apps that integrated with the company’s hardware products (e.g., security cameras, electronic gates, etc) and APIs and implemented custom solutions for other companies and organizations.

Projects

CS50 IDE / A cloud-based IDE based on AWS Cloud9
Designed and built the infrastructure backend and the orchestration of compute and storage on top of Docker, Kubernetes, Portworx, and other tools and services, optimizing for cost and resources and speeding up the IDE’s loading time by at least 6x. Developed a set of JavaScript plugins that simplify and customize the look and feel of the IDE, making it more accessible to students with no prior programming experience.

Links:
ide.cs50.io

publish50 / An electron app for facilitating video production workflows
Designed and built an electron app with a ReactJS frontend that helps CS50’s production team by streamlining the transcoding of terabytes of videos, using FFMPEG, and publishing the generated assets to YouTube and the course’s CDN, backed by S3 and CloudFront, speeding up the production time of a single video by at least 5x.

Links:
github.com/cs50/publish50-electron

debug50 / A wrapper script/plugin around Cloud9’s debugger
Contributed improvements and bug fixes to the underlying gdb interface and added support for debugging Python 3 scripts by integrating ikp3db.

Links:
github.com/cs50/harvard.cs50.debug
github.com/c9/core/blob/master/plugins/c9.ide.run.debug/debuggers/gdb/

Other work
Helped develop, dockerize, and configure CI/CD pipelines for many teacher- and student-facing apps (e.g., auto-testing/grading, submission tools, etc) to different services (e.g., EB, ECS, EKS, Heroku, etc). Supported teachers and students with different technical issues.

Education

Audited many CS and programming classes online and at Harvard Extension School.

Helwan University ‘17 / Bachelor’s degree in accounting