Post Job Free

Resume

Sign in

Senior Software Engineer

Location:
Ottawa, ON, Canada
Salary:
80,000$
Posted:
October 29, 2014

Contact this candidate

Resume:

Logan Fraser

*** ***** ***, ******, ** acgjon@r.postjobfree.com

TECHNICAL SKILLS

Programming Languages: C++, C#, Java, Objective C, MIPS Assembly, Real Time Systems, Embedded Systems

Code Optimizations: Multi-threading Techniques, Low level improvement, Profiling tools, Compiler optimizations,

Algorithmic Improvement.

Web Development: HTML, PHP, Perl, JavaScript, XML, ASP, TCL

Databases: MySQL, SQLite, PostgreSQL, MS-SQL Server

Operating Systems: Windows, Linux, QNX, iOS, Android, PlayStation 3, PlayStation 2,

Xbox 360, Nintendo Wii, LeapFrog

Networking: Implementing custom UDP or TCP protocols, socket coding, VPN technologies, network

configuration, security auditing.

APIs: Standard Template Library, UNIX toolkit, MFC, .NET, OpenGL, OpenAL, Photon, SDL,

DirectX, PhyreEngine, UnrealEngine3, UnrealEngine4, Box2D

Computer Hardware: Building PCs, debugging hardware failures.

Version Control and Jenkins, Mercurial Hg, SVN, CVS, Git

Continuous Integration:

Teamwork: Agile software development, Scrum framework

CAREER HISTORY

Plastic Wax (http://plasticwax.com/) June 2014 – Present

Contract work

I modified C++ code to add features and fix bugs in Unreal Engine 4 for Plastic Wax team’s specific needs.

I added new options and screen capture functionality to Matinee sequence recording.

Virtuos Ltd. ( http://www.virtuosgames.com/ ) September 2011 - Dec 2013

Senior Software Engineer – Game and Tool Developer

I worked in a Scrum team on Final Fantasy X/X-2 HD remaster. This project involved porting the game code from

PlayStation 2 to work on PlayStation 3 and PlayStation Vita. The game was written in C and MIPS Assembly and

had to be converted to work on Phyre Engine which is a C++ game engine written by Sony.

My team was tasked with converting all specialized PlayStation 2 C and MIPS Assembly to standard C. To do this I

decided to develop a C# inline assembly converter tool along with a C assembly emulation library which could

automatically convert inline assembly code to standard C code. For a few weeks I also managed a team that solved

any remaining issues that appeared after the code conversion process. This tool was eventually expanded to fully

decompile any MIPS Assembly code.

My second task on FFX/X-2 was to write code to endian swap rendering and UI data as well as re-write PlayStation 2

rendering code to be compatible with PhyreEngine, for example to replace PlayStation 2 DMA buffer rendering with

PhyreEngine render calls and shaders.

I worked on Fable Anniversary, which was a project to port the original Fable game from the original C++ code

written for the Xbox to the Xbox 360, and to merge it with Unreal Engine 3 so the artists could improve visual quality.

My task was to reduce the game loading time and reduce memory usage. I did this by creating a C# tool with a C++

Unreal 3 back end, as well as modifying the Unreal asset loading code to logically group and organize assets into

packages by character and by area, as well as compressing assets in memory where possible. I also solved some

rendering and physics bugs toward the end of the project.

I worked in a Scrum team on a LeapFrog Next Gen. Benchmark and Tech demo. My task was to create an

Augmented Reality test on the LeapFrog, so I had to evaluate several augmented reality libraries and I selected

ARToolkitPlus as the most efficient, and then ported it to LeapFrog. I also had to write a few OpenGL ES 2

benchmarks.

I worked in a Scrum team on optimizing the C++ code in our in-house game engine. I achieved this by reducing

allocations, rewriting slow code and reducing the amount of time threads spent blocking each other.

I worked on creating a cross platform library for all major video game consoles at the time (Xbox360, PS3, Wii) with

basic functionality such as file I/O, multi-threading and optimized math.

NDT Technologies (http://www.ndt.ca/) Feb 2008 - Aug 2010

Software Engineer – Real Time Developer

At NDT I wrote software to automate and configure rail and pipe non-destructive testing machines using both QNX

and Windows OS.

I developed the laser profiling station for QNX together with a contractor. I handled all UI development with Photon,

Graphical displays of raw laser data in OpenGL ES, configuration and database work with SQLite, TCP

communications with the scheduler (system control software and data server), UDP communications with the Riftek

laser devices (http://www.riftek.com/) as well as multi-threaded task processing to efficiently calculate the profile

statistics from the data returned by the lasers. I was also on site debugging any client issues in China.

I worked with one other team member to develop an automated serial code reader station for Windows, which could

use a camera and OCR technology to record the serial numbers of passing rails and associate their number with the

current test session for each rail through network communication.

I developed several in house cross platform libraries for QNX 6.4 and Windows such as OpenGL ES graph rendering

and font rendering, thread safe objects and improved on existing TCP communication library, in order to facilitate in

house development across multiple projects.

I fixed bugs and added new functionality to old legacy Scheduler programs written in C++/MFC in Visual Studio 6 as

required by clients. I integrated new communication tools to make them forward compatible with newer software,

such as the laser profile station. I worked on site to debug client issues in Czech Republic and China.

I fixed bugs with legacy QNX6.3 and QNX4 measurement stations, usually written in old-style plain C code. I went

on site to debug issues in USA and China.

Fuel Industries (http://www.fuelindustries.com/) Fall 2007

Software Engineer – Game Developer

I worked in a Scrum Team on Microsoft Tinker, which was a special bonus game included in Windows Vista Ultimate.

I used C++ with the basic Win32 API, STL, DirectX and XML lite.

Standards Council of Canada (https://www.scc.ca/) Summer 2006

Software Engineer – Web Developer

I wrote web apps using TCL and PostgreSQL on a Unix Platform for internal use.

Justice Canada (http://www.justice.gc.ca/eng/) Summer 2005

Software Engineer – Web Developer

I developed a web database directory application for Family Justice Services, designed to be reusable for other

service directories. I developed the application with Microsoft SQL Server and ASP.

Imatics Web Solutions (http://www.imatics.com) Winter 2003

Intern – Web Developer

I was employed through a high school co-op program and worked on Government of Canada (Common, Look and

Feel) and retail websites. There I developed a Visual Basic program to automatically format PDF files into web

pages.

OTHER EXPERIENCE

I am currently working on a 2D snowboarding game for iOS and Android. This game improves on my previous

engine and adds many features such as realistic physics, procedural terrain, inverse kinematics and texture

animation, asynchronous file I/O and music streaming. (2011 - Present)

I developed a mobile phone game called Warp Block Battle for iPhone and Android OS. The game uses OpenGL

ES for graphics and has multi player over the internet using TCP sockets. (2009-2011)

During high school, I developed an experimental 3D game engine using OpenGL, OpenAL, and Quake3 data

formats written in C++. It has working low-latency online play, using a custom made protocol using both TCP and

UDP sockets.

I also Developed various web based applications and game modifications during high school.

EDUCATION

University of Ottawa, BSc. in Computer Science (2007).

Glebe Collegiate Institute (2004).

INTERESTS

IT, game design, VPN, cryptography, skiing, hockey, swimming, history and Chinese language.

AVAILABILITY

Available for work in 2014.

REFERENCES

Available on request.

CITIZENSHIP

Canadian Citizenship, Looking for work in Toronto



Contact this candidate