Print ++ PDF version ++ Last Updated: 2017-07-18

Curriculum Vitae - Ghassan Al-Mashareqa

Personal Information

Nationality Languages Personality Type Website E-Mail
Polish Polish (native), English (fluent), Russian (minimal) INTP ghassan.plghassan@ghassan.pl

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 interoperability 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

Professional Experience, cont.

2017Senior Software Engineer at Harman Connected Services
Tool development
Maintenance and improvement of C#/XAML audio tools built using the MVVM and IoC patterns; both front-end and back-end work; communication with external audio framework via different generic as well as automotive-specific protocols; bug fixing
Communication protocol development
Helping improve communication protocols for the full stack of user <-> vehicle technologies; improving tools for simulating/debugging said stack
Documentation
Collating and compiling the knowledge base on a large, multi-team project; creating hyperlinked diagrams of the various levels of the project, from the most general to the most specific; collaborating with other teams and team members to share and expand the knowledge and fill missing gaps
Consultations
Advising clients and product owners on best hardware and software solutions; rapidly acquiring new technical knowledge to improve the accuracy of the advice

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)
C++98
C++11
C++14
C++17 and beyond
C89
C99
C11
C++ Standard Library
Boost
Lua
JavaScript, HTML+CSS
C#
Java, PHP
Smalltalk
Linux Shell Script
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
Resource Constrained
Functional
Data Driven, Security
Database

Technologies & Frameworks

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

Tools & Software

Visual Studio
gcc
gdb
CMake
Rational Software Architect: Real-Time Edition
Unix/gnu utilities
Mercurial
git
Perforce
Jira
Trello
Confluence

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 •