Professional Focus
Creating high-performance applications and rapid problem resolution with a focus on clear, user-friendly interfaces and easy to integrate solutions.
Computer Skills
Programming Languages and Frameworks
· Expert in C, C++ and C# across multiple platforms.
· Strongly skilled with .Net/WPF, experienced with WCF for webservices.
· Experienced in JavaScript, jquery, HTML and CSS. Comfortable with node.js.
· Experienced in iOS development using C#/MonoTouch.
· Experienced in OpenGL, SDL. Familiar with Qt.
· Some experience in Python, Perl, Java, Shell scripting.
Databases
· Experienced in SQL databases, including MSSQL (and SQL Server), MySql, and SQLite.
· Some experience with NoSQL databases such as MongoDB, Google App Engine Data Store.
Tools
· IDEs: Experience in Visual Studio, Eclipse, MonoDevelop, WebStorm, any text editor.
· Source Control: Experienced in Perforce, TFS, SVN. Familiar with git.
Further Expertise
· Extensive experience in animation and physics simulations on the PC and consoles.
· Experience in 3D and 2D graphics, network programming and databases.
· Keen user of Scrum methodology, agile development and usability-focused rapid iteration.
· Proficient in Windows, OS X and Linux environments.
Education
MSc in Games Programming (2003 – 2004)
University of Hull, UK
Master Thesis: Implemented 3D cloth simulator with partial tearing support using Verlet integration. Developed in C++ and OpenGL.
Areas of Specialization:
· Real-time physics simulations, kinematics and collisions.
· C++ software development, object-oriented design, multi-threading, distributed systems.
· Real-time 3D-graphics and animation, mathematics for graphics, lighting, shading, graphical algorithms.
Honours BSc in Software Engineering (1998 – 2002)
University of Toronto, Canada
· Primarily developed skills in C, C++ and Java. Some Perl, JavaScript and Lisp.
· Internship writing Linux kernel drivers and adding features to large Qt-based application.
· Wrote a 3D software renderer with z-buffer support and Gouraud shading for final thesis.
Work Experience
Independent Software Specialist (August 2011 – Present)
Freelancer, Munich, Germany (http://ysalmi.com)
· Developing powerful software for industrial clients primarily operating in the fields of electronics, lasers, photonics, banking and investment.
· Expertise in high-performance applications and rapid problem resolution.
· Ability to quickly dive into a codebase and produce results.
· Projects range from multiple-month commitments to focused short-term solutions.
Languages and frameworks: C#, WPF/.Net, SQL and WCF/Webservices with C++ for performance critical areas; JavaScript, HTML and CSS; iOS app using C# and MonoTouch.
Technical Director & Managing Director (August 2008 – August 2011)
Piece of Pie Studios, Munich, Germany (http://youtu.be/4Rd1Hr3IzNE)
· Developed a full 2D game engine with fluid simulation physics on PC, PS3 and Xbox360.
· Managed a team of developers and artists to create the game Swimming Under Clouds.
· Developed advanced prototypes of Swimming Under Clouds on PC, PS3 and Xbox 360.
· Implemented in-game object and level editors for rapid prototyping.
· Created painting-like rendering system using OpenGL, parallax layers and transparent artwork.
Languages and frameworks: C++, STL, Boost and OpenGL
Physics Programmer (June 2007 – August 2008)
Havok, Munich, Germany (http://www.havok.com)
· Worked in the physics R&D team for the industry leading middleware physics company.
· Designed and implemented new features and optimizations to the Havok physics engine.
· Helped develop the core technology for the Havok Destruction product.
Languages: C/C++ with some SIMD and assembly optimizations.
Lead Animation Programmer (October 2005 – May 2007)
Evolution Studios, Runcorn, Cheshire, UK (http://www.evos.net)
· Designed and implemented the full character animation system for the PS3 title MotorStorm.
· Implemented a next-gen keyframed animation system and ragdoll simulation.
· Was responsible for the entire pipeline from exporters to simulation and 3D-rendering.
· Implemented flexible ragdoll solution, creating one of the most realistic simulation of driving characters.
Languages: C++ with Python scripting and Cg for shaders.
Programmer (March 2005 – October 2005)
Criterion Games, An EA Studio, Guildford, Surrey, UK
· Working on game play and front end for Burnout Revenge.
· Wrote modules to communicate with the flash API used to create the front end interface.
· Implemented complete memory card system for Burnout Revenge on the PS2 and Xbox.
· Put together the Burnout Revenge demo under tight time constraints, of which over 9 million units were shipped.
Languages: C/C++ and some ActionScript.
Programmer (September 2004 – March 2005)
Evolution Studios, Runcorn, Cheshire, UK
· Working on the technology for a next-generation title.
· Worked on a two-month proof-of-concept demo for Sony, which was very well received.
· Implemented several features to the WRC engine to be used in a future title.
Languages: C/C++.
Project Experience
Aircraft Finance Project (August 2011 – Present)
UniCredit – Banking, Munich
· Maintained existing risk analysis application written in C#/WPF and MSSQL.
· Fixed numerous bugs, improved performance and overall usability.
· Maintained and implemented new stored procedures.
· Defined specifications and implemented new client feature requests and prepared releases.
· Defined and implemented full web service interface to application data and provided integration support for 3rd-party team.
· Overall improved startup time, processing speed, flow and usability.
Technologies: C#, .Net, WPF, WCF for webservices, MSSQL. Light ASP.net work. MS TFS.
SharePoint Site Development and Integration (January 2013 – Present)
Onsult – IT, Munich
· Implemented under tight time constraints extensions to SharePoint 2013 site using web-based technologies.
· Implemented Windows 8 UI, integrating smooth slide outs and visualization features to SharePoint technology.
· Improved usability, designed and implemented new features for SharePoint and fixed bugs.
· Improved performance.
Technologies: JavaScript, jquery, HTML, CSS, SharePoint 2013, ISS.
Large Data Analysis Tool (November 2011 – September 2012)
Major Laser Manufacturer – Laser, Munich
· Working in a team of two, implemented complete solution to process and visualize in real-time large amounts of laser diagnostics data.
· Created a fluid, simple to use and extremely powerful real-time data graphing system.
· Tool allowed engineers to visualize up to a month’s of data down to millisecond resolution, in real-time.
Technologies: C#, .Net, WPF, C++. Scrum/Agile for planning and tracking. Perforce for source control.
Light Capture and Analysis (September 2012 – October 2012)
US-based Photonics Company – Photonics, Munich
· Implemented simple light capture and analysis system.
· Integrated HDR imaging library to capture higher-quality pictures.
· Defined and implemented easy-to-use interface.
Technologies: C#, .Net, WPF, Camera hardware. Scrum/Agile processes for planning and estimation. Perforce for source control.
Investor Diary App (June 2012 – Present)
Self-developed – Investment, Munich
§ Implemented iOS app to present large amounts of key investor data and provide easy to use reminders.
§ Developed completely using C# and MonoTouch.
§ Worked with designer to define interface and integrate final artwork.
§ Focus on clean and simple interface and user productivity.
Technologies: C#, MonoTouch, SQLlite. Webservices implemented in C#. Scrum/Agile processes for planning and estimation. Perforce for source control.
Volunteer Experience
24 Hour Munich Game Jam (2010), 48 Hour Global Game Jam (2011, 2013)
· Developed three 2D action games in C#/XNA/Unity under severe time constraints in teams of 3 - 5.
· Developed a framework for rapid prototyping of game ideas, including resource management, basic rendering and simulation.
Public Speaking Experience
· Public Funding for Indies (GDC Europe, Cologne 2011)
· Indie Games on PSN: The Process (IGDA Munich, Nov 2010)
· The Evolution of Swimming Under Clouds (EIGA 2010 in Frankfurt)
· Roundtable: The Start-up Challenges of Indie Studios (GameCamp Munich 2010)
Languages: Bilingual in French and English, conversational in German.
References available upon request.
