Print ++ PDF version ++ Last Updated: 2016-10-12

Curriculum Vitae - Ghassan Al-Mashareqa

Personal Information

Nationality Languages Personality Type Website E-Mail Phone Number
Polish Polish (native), English (fluent), Russian (minimal) INTP ghassan.plghassan@ghassan.pl+48 889 870 691

Professional Experience

2009-2014Programmer at Teyon
Game design and development
Multiple games utilizing several different game and graphics engines, both provided in-house as well as custom-made; Games for resource-constrained devices like the Nintendo DS/3DS, iPhone/iPad; Games for the browser (Flash/ActionScript); Some technologies for said games (e.g. GUI and animation libraries, localization libraries); Development primarily with C/C++, with some scripting languages (Lua and Python)
Engine design and development
Developing and improving numerous aspects of the in-house game engine (software/hardware rendering, asset loading, OS/API integration) for different platforms (DS/3DS, iPad/iPhone, PC with OpenGL); Working under tight resource and hardware constraints; Designing and developing a custom game engine for multiple platforms (PC, Mac, Linux, iOS), both the frontend (asset loading/parsing, game structure, scripting) as well as the backend (rendering, filesystem, debugging/logging, threading, memory management, sound playback, platform/locale interoperability, social APIs)
Tool design and development
Design and creation of both tools for personal use as well as tools for internal company game design and creation, e.g. a game creation and build tool for a specific genre, built in C#
Network administration
Simple network and server configuration management, web and VCS server setup
Code maintenance and porting
Fixing and maintaining existing codebases; porting games from PC to the Nintendo DS/3DS and iPhone/iPad
Note: I was not involved in development of "Rambo, The Video Game"
2014Software Engineer at Mobica
Project design and development
Work on multi-platform software for dedicated embedded multimedia hardware; design of interfaces and module interoparibility layers
Embedded OpenGL profiling and optimization
Writing profiling code for rendering system for real-time data visualization on embedded hardware; creating proposals for, and implementing generic, as well as GLES3-specific optimizations
Consulting with international clients
International travel to client sites for consulting purposes; integration with client team and workflow
Note: Most of the above deliberately vague on account of strict project security and non-disclosure agreements
2014Gameplay Programmer at IntoXicate Studios
Game and engine programming
Work on Afterfall: Reconquest; work in Unreal Engine 3, both with UnrealScript as well as C++ engine source code; adding gameplay and UI features; creating and modifying tools; refactoring legacy code; Unreal build system work; external module integration (Bink, Steam)
Bug fixing and optimization
Bug fixing and simplification of legacy code (AI, gameplay, UI); work with existing developers to improve overall code quality; rendering and resource management optimization (Unreal Engine, C++, UnrealScript)
Game and level element design
Improvements to existing gameplay and level elements; design of new gameplay elements; work with level designers and artists on implementation details; across-the-board work in Unreal Editor and associated tools
VCS setup
Setup of, and transitioning to, Mercurial-based source code versioning system; developer training
Website re-write
Porting of Afterfall: Reconquest website from unnecessarily complex and static CMS version, to a simple, personal CMS solution (PHP, MySQL, HTML+CSS+JS, UX)
2015-2016Programmer at QLOC S.A.
Game porting and internationalization
Porting games from PlayStation 4 to PC with Steamworks; input handling and translation between keyboard and gamepad; handling of multiple different input devices
Bug fixing
Code cleanup and refactoring; bug and porting issues fixes; investigation into PC compatibility issues, eg. FPU/vector processing issues
Tool development
Writing a custom binary archive/resource reader/viewer for baked and precompiled game data

Skills and Knowledge

Legend: 90% - idiomatic knowledge and writing skill; 70% - comprehensive knowledge and ability to write correct programs; 50% - ability to write correct programs; 30% - able to read and reason about most constructs; 10% - able to understand the basic idea behind a language/technology and recognize some constructs

Programming Languages

C/C++ (C++98, C++11, C++14, C++17)
Lua
JavaScript, HTML+CSS
C#, UnrealScript
Java, PHP
Pascal variants
Python, ActionScript, SQL variants
Basic variants
Objective-C, Assembly variants, Erlang, D, Go, Ruby, Perl, Lisp variants

Programming Paradigms & Domains

Imperative/Procedural
Object Oriented
Event Driven, Declarative, Network
Concurrent/Parallel, Resource Constrained, Functional
Data Driven, Security
Database

Platform Development

Win32
Linux
Nintendo DS & 3DS
Mac OS X
iOS
Android

Technologies & Frameworks

OpenGL
OpenGL ES
WebGL
GLSL
DirectX
HLSL
SDL/SDL2
Allegro 4/5, WinAPI, .NET
Windows Forms
Flash, Unreal Engine 3
Steamworks API
iOS & Android Store API
Unreal Engine 3
Unreal Engine 4, Unity

Tools

Visual Studio
Eclipse, RSA RTE
SVN, git, Mercurial
Perforce
GNU toolset

Education

2004-2008
Stanislaw Wyspianski High School, Lodz, Matura Exam
2008-2009
University of Lodz, Faculty of Physics and Applied Informatics, field of study: Informatics/Computer Science
2009
Lodz University of Technology, Faculty of Technical Physics, Information Technology and Applied Mathematics, field of study: Computer Science

Interests & Hobbies

• Game design, development and analysis • Tabletop games • Information technology and programming • Speculative fiction • Philosophy •