Mohamed Gadalla
Website • LinkedIn
Email: mohamedag202@outlook.com • Phone: +201097450184
Summary
An accomplished C++ Developer specializing in game technology, build systems, and automation. Extensive experience in engine development, tools programming, and optimizing graphics pipelines. Strong problem-solving skills with a deep understanding of CMake, cross-platform builds, and debugging tools like RenderDoc. Adept at modernizing legacy systems and enhancing development workflows.
Technical Skills
- Programming Languages: C++, C#, Python, Bash, PowerShell
- Game Development: OpenGL, DirectX11, Vulkan (basic), Unity (basic), Assimp
- Build Systems & Automation: CMake, MSBuild, Git, CI/CD pipelines
- Debugging & Optimization: RenderDoc, gdb, Valgrind, Visual Studio Debugger
- OS & Platforms: Windows, Linux, X11, Win32 API
- Scripting & Tools: Shell scripting, PowerShell, JSON, YAML
Work Experience
Freelance C++ Developer & Game Tools Engineer (06/2022 - Present)
- Assisted clients in upgrading legacy game SDKs and refactoring custom engines for modern platforms.
- Developed custom 3D model converters for proprietary formats, enabling compatibility with engines like Unity.
- Built automated testing tools for C++ game engines, improving stability and performance across platforms.
- Designed and implemented CMake-based build systems for complex C++ projects, modernizing legacy codebases.
- Wrote extensive CMake-based build systems, transitioning projects from MSBuild to CMake for cross-platform compatibility.
- Automated deployment pipelines using Bash, PowerShell, and shell scripting, reducing manual effort for developers.
Projects
Nikola Engine (Custom Game Engine)
- Designed a proprietary Nikola Binary Resource (NBR) format for optimized asset loading.
- Implemented OpenGL and DirectX11 render backends, focusing on performance and modularity.
- Integrated Assimp to support various 3D model formats (FBX, OBJ, GLTF).
Ymir (Game Development & Tools Project)
- Built a project generator for Linux, featuring both CLI and GUI applications using C++ and ImGui.
- Streamlined project setup processes, reducing development time by 50%.