Manuel Marquez

Principal Software Developer

Principal software developer with a strong background in developing Windows desktop applications using C#, WPF, ASP.NET Core, and multiple database management systems. Skilled in implementing 3D graphics applications, physics simulators, web applications, and client-server systems. Managed software developers and the entire software development life cycle. Contributed to open source projects, including Vortice (C# 3D graphics API wrappers).

Experience

Principal Software Developer
Mapromar Inc.
Kingston, ON

As the sole business owner and software developer, developed and maintained custom software solutions for clients and for sale in C#, WPF, ASP.NET Core, WinForms, Access, Excel, VBA, and VB6.

  • Designed and implemented a game engine coded in C#.NET including Visual Studio extensions for a custom project type, game content pipeline with NuGet support, user interface framework, physics engine, PBR graphics pipeline, and multiple game development tools with WPF and a 3D rendering control. Graphics support for Direct3D 11, Direct3D 12, Vulkan, OpenGL, rasterisation and ray tracing.
  • Engineered a user interface framework from scratch similar to WPF with controls, control styles, data binding, and rendering with 3D graphics APIs.
  • Created a high performance programming language with LLVM backend, MSBuild project system, Visual Studio integration, and editor tools.
  • Generated a control library containing dozens of controls, charting controls, WPF based reporting engine, MVVM framework, and control style themes.
  • Constructed a data layer API to convert LINQ to multiple database providers, including MS SQL, Oracle, PostgreSQL, SQLite, and support for synchronizing databases across a network both online and offline.
  • Built multiple C# ASP.NET Core web applications including a software bug and task tracking system, forum, and wiki using EntityFramework and Bootstrap.
  • Produced multiple reliability engineering software tools in WPF including a product for Reliability Centered Maintenance (RCM) and Failure Modes, Effects, and Criticality Analysis (FMECA).
  • Managed a continuous delivery build system with GoCD to manage build numbers, automated testing, code signing, and uploading to a web server for distribution.
  • Devised a VB to C# and C# to C++ code converter to migrate and update millions of lines of code across various company projects.
  • Developed various internal software support systems including Roslyn code analyzers, automated email marketing, and serial number generator.
  • Managed domain names, web hosting in IIS, and performed all corporation related tasks.
  • Collaborated with clients to develop customized reliability engineering tools utilizing Access and Excel, implementing VBA automation for enhanced efficiency.
Senior Software Developer and Offshore Manager
L&T Technology Services/SCIEX
Vaughan, ON

Collaborated in the creation of software for a mass spectrometer framework using C# and WPF at SCIEX. Led and coordinated an offshore team of developers from L&T in India, ensuring seamless collaboration and the timely achievement of project deliverables.

  • Played a key role in developing software following the Agile development process utilizing JIRA and GIT.
  • Successfully managed a team of seven offshore developers in India, exceeding performance targets by effectively coordinating meetings, providing mentorship to developers, and monitoring progress.
  • Conducted comprehensive code reviews and proactively resolved issues, ensuring smooth collaboration with the offshore team.
  • Demonstrated expertise in building installers using Wix and a custom .NET bootstrapper, contributing as an in-house expert.
  • Spearheaded UI enhancements utilizing WPF, Syncfusion, and custom controls, while significantly increasing test coverage using NUnit, FIT, and WhiteFIT.
  • Led offshore team in designing and developing an integrated audit log component, incorporating requirements from multiple subsystems.

Education

Bachelor of Science, Computer Engineering
Queen's University Kingston, ON
  • Designed and implemented a CPU chip using an Altera FPGA.
  • Successfully programmed a robot, equipped with a 68HC11 microcontroller, to navigate a complex maze. Recognized by the professor and awarded bonus marks for eliminating jitter caused by the base code by executing productive work equal to a required delay call for an infrared sensor.
  • Hacked the user accounts of a server using a stack overflow attack on Linux for a lab project.

Achievements

  • Engaged with the worldwide IT manager of a top 10 privately held company to discuss my Reliability Centered Maintenance (RCM) project before completing my first year of university.
  • Developed custom reliability engineering tools after obtaining my first contract with a US reliability consultant while still in high school.
  • Achieved a grade of 100% and 99% in grades 11 and 12 computer engineering.

Projects

Blazar
Mapromar Inc.

Designed a programming language similar to C# that compiles source code into LLVM IR with high performance being the main goal. Incorporated an MSBuild project system with Visual Studio integration and editor tools.

  • Compiler support for primitive numeric types, arithmetic operations, data structures, fields, properties, arrays, conditional logic, loops, functions, and more.
  • Classes and interfaces with support for polymorphic types, inheritance, upcasting, downcasting, virtual methods, method overriding, constructors, and allocation in heap memory.
  • Pointers for types and low level memory operations.
  • Function pointers and delegates for event systems.
  • Implementation for UTF8 strings with basic functions including concatenation.
  • Ability to declare and reference native C libraries and call operating system functions.
  • Debugger support with breakpoints in Visual Studio.
  • Core libraries for writing to the console, data collections, file system, performance measurements, and more.
  • MSBuild project system with support for project references and NuGet packages.
  • Visual Studio integration with editor tools including syntax highlighting, code formatting, code completion, code outlining, signature helper, code refactoring extensions, and more.
  • Unit testing framework with Visual Studio Test Explorer integration.
  • Compiler support for Windows and Linux.
Vegabot
Cybernetic Games

Developed a 3D video game in C#.NET with a custom game engine, CyberEngine. Engineered an orbital mechanics simulator, game world, user interfaces, and designed 3D models and texture assets.

  • Orbital mechanics simulator for planets and space ships supporting gravity assist maneuvers and Hohmann orbital transfers.
  • Graphic effects including atmospheric scattering, shadow mapping, parallax mapping, deferred lighting, real time clouds, glass, post processed blurring, glow and crepuscular rays.
  • Extensive performance optimisations through multithreading, algorithm optimisation and occlusion rendering.
  • Multiplayer support synchronizing worlds across a network.
  • Custom game editor tools developed in C#.NET and WPF with hosted 3D rendering control.
  • Modelling and animation in Blender and graphics design software.
CyberEngine
Cybernetic Games

Engineered a game engine in C#.NET including custom Visual Studio project type, game content pipeline with NuGet support, user interface framework, and physics engine. Graphics support for Direct3D 11, Direct3D 12, Vulkan, OpenGL, rasterisation, and ray tracing.

  • Custom Visual Studio project type with NuGet support to compile game and content files using a build task and MSBuild.
  • Extendable game content pipeline to compile content files including vertex and pixel shaders, fonts, textures, audio files, 3D models, and animations.
  • Code generator to automate a C# wrapper from the OpenGL specification file and contributed to open source project Vortice which uses SharpGen to generate C# wrappers for C libraries.
  • Engineered a cross-compiler capable of generating SPIR-V and GLSL code from a unified HLSL shader, including a code generator that automated the creation of descriptor tables for various graphics APIs.
  • PBR deferred shading rendering pipeline with BRDF materials and image based lighting environment maps.
  • Constraint based physics engine with collision detection and response using a. Support for joints between objects enabling ragdoll physics and friction.
  • Created a user interface framework from scratch similar to WPF with controls, control styles, data binding and rendering with 3D graphics APIs.
  • Implemented dozens of controls including windows, panels, buttons, text boxes, sliders, list boxes, and popups.
  • WPF game control to host 3D rendering in WPF applications.
  • Performance testing using ETW event sources and analysis in Windows Performance Analyzer with custom regions to visualize performance.
  • Implemented unit tests with xUnit to ensure comprehensive coverage of core components and validate GPU rendering outputs.
Controls Library
Mapromar Inc.

Library containing dozens of controls, charting controls, WPF based reporting engine and MVVM framework.

  • Custom controls including a calendar, colour picker, gray scale shader effect, numeric textbox and paged data grid.
  • Charting controls including line, point, column, pie and Pareto charts with data popup adorners.
  • Reporting engine to convert WPF controls into XPS/PDF reports supporting headers, footers and paging.
  • MVVM framework with support for custom sorting and filtering of data sets using lambda expressions.
Control Styles Library
Mapromar Inc.

Library of WPF control styles containing animations and various colour themes for dozens of different controls.

  • Developed XAML control styles, incorporating various color themes, and designed custom icons for enhanced control aesthetics.
  • Compiler to combine all colours, brushes, animations, and control styles in separate files into one single file for each theme.
Data Library
Mapromar Inc.

API coded in C# to managing databases tables through classes, LINQ conversion to multiple database providers, synchronizing databases across a network both online and offline, and compressing and encrypting data over WCF channels.

  • Custom WCF channel to compress and encrypt data by exchanging private AES encryption keys over a network using RSA similar to SSL. Verified encryption by intercepting network traffic with Wireshark and examining data.
  • Base database class for manipulating XML based data files including compressing and encrypting data files with password salting and validating and upgrading data file versions.
  • Normalized database class for interfacing with MS SQL, Oracle, PostgreSQL, and SQLite, by leveraging the ability to model databases in code and creating tables using reflection to convert classes into SQL database structures. Also supported the ability execute LINQ by converting expression trees into SQL queries for each particular DBMS.
  • Database synchronization framework to synchronize databases across a network, supporting client to server, server to server, adding, updating, and deleting records while offline and replication actions to a server.
Tools Library
Mapromar Inc.

Tools developed in C# to facilitate the development of Mapromar products.

  • Generated multiple Roslyn code analyzers to enforce coding standards and optimizations.
  • Set up servers including Bonobo for Git, custom issue tracking web application, GoCD for continuous integration builds, NuGet for package management, and secured access with SSL certificates.
  • Code signing assemblies as part of the automated build for products.
  • Email marketing tool to send bulk emails with tracking info to determine which recipients responses.
  • Serial key generator for products.
Mapromar Website
Mapromar Inc.

C# ASP.NET web application to market and deliver products to customers backed by database with Entity Framework.

  • Web page layouts and CSS styling.
  • User account and product serial key management.
  • Telemetry from deployed desktop software and logging in database.
  • PayPal and Stride integration for payment processing.
Personal Website
Manuel Marquez

C# ASP.NET web application to highlight my resume, work portfolio, and provide downloadable code samples.

Issue Tracker, Forum, Wiki
Mapromar Inc.

C# ASP.NET web applications for tracking software bugs and tasks, forum, and wiki.

  • Create and edit posts backed by database with Entity Framework.
  • Markdown editor for posts and comments.
  • Automatic and custom job boards with manual sorting and triggers.
  • User account management with roles for each project.
  • Support for uploading and displaying files.
  • IdentityServer4 to link accounts from all web applications.
  • Full text search with Lucene.
  • Front end designed with Bootstrap.
C# to C++ Code Converter
Mapromar Inc.

Automated code converter based on Roslyn to convert C# projects to C++. Successfully converted programs demonstrating performance improvements.

  • Converter support for primitive types, arithmetic operations, data structures, fields, properties, arrays, conditional logic, loops, functions, and more.
  • Core libraries in C++ for writing to the console, data collections, performance measurements, and more.
  • C++ unit testing framework with Visual Studio Test Explorer integration.
VB to C# Code Converter
Mapromar Inc.

Automated code converter based on Roslyn to convert VB projects to C#. Successfully converted all projects from VB to C# aggregating over 500K lines of code.

  • Converter support for source code files retaining all formatting and comments, project files and solution files.
  • Fully automated solution to convert entire solutions including library, console and WPF assemblies.
FMEA Inspector
Mapromar Inc.

Product programmed in C# and WPF for Failure Modes, Effects, and Criticality Analysis (FMECA) and utilizing Mapromar libraries.

  • Created WPF application including splash screen, all XAML views, view models, database design, reports, database file encryption, and custom controls built on top of all Mapromar libraries.
  • Installer created using Wix and a custom .NET bootstrapper for consistent user experience.
  • Code obfuscation using ConfuserEx.
  • Quality assurance testing, bug fixes, support and maintenance.
RCM Tuner
Mapromar Inc.

Product programmed in C# and WPF for Reliability Centered Maintenance (RCM) and utilizing Mapromar libraries.

  • Created WPF application including splash screen, all XAML views, view models, database design, reports, database file encryption, and custom controls built on top of all Mapromar libraries.
  • Installer created using Wix and a custom .NET bootstrapper for consistent user experience.
  • Code obfuscation using ConfuserEx.
  • Quality assurance testing, bug fixes, support and maintenance.
Asset Risk Ranking
Reliable Process Solutions, LLC

Access and VBA tool for reliability consultant at Reliable Process Solutions for ranking the risk of equipment primarily targeted at the manufacturing industry.

  • Created design requirements document to outline the scope of the project.
  • Designed and coded entire application including all tasks described below for Reliability Centered Maintenance (RCM).
Math Expression Evaluator
Mapromar Inc.

VB.NET and C#.NET console application to parse an input mathematical expression string and output the evaluation adhering to order of operations. This project would later be incorporated in a numeric textbox control within the Mapromar control library.

  • Parse infix notation string (2+3) and convert to postfix notation (23+) in a stack for evaluation.
  • Support for math operators, constants, and trigonometric functions.
Improved Jumble Word Solver
Mapromar Inc.

Coded enhancements to earlier Jumble Word Solver project for performance increases enabling the solving of multi word puzzles.

  • Downloaded open source books and parsed words into a dictionary file along with frequency counts.
  • Restructured in-memory dictionary into an N-ary tree and improved algorithm efficiency for a significant performance increase.
Fourier Analysis
Mapromar Inc.

Application coded in VB.NET and WPF to perform a Discrete Fourier Transform (DFT) on a sampled signal and determine its power spectrum. Possible future development is to use wavelets which are time-frequency analysis methods instead due to the limitation of a Fourier transform which does not include location information. This project was to learn signal processing techniques through a practical example.

  • Graphing the original signal, sample data points, power spectrum and reconstructed signal using the charting control library I developed for Mapromar.
  • Successfully determined the power spectrum of a cosine wave signal with added random noise.
Feedback Loop Controller
Mapromar Inc.

Application coded in VB.NET and WPF to study feedback loop controllers for use in my video game Vegabot.

  • Custom WPF graphing control to display position, velocity and acceleration data in real time.
  • Derived equations using computer algebra system (CAS) software wxMaxima.
  • Controller to follow a randomly moving target linearly and angularly in 1D.
  • Auto pilot system to land a spacecraft on the surface of a planet.
Reliability Centered Maintenance (RCM)
Reliable Process Solutions, LLC

Access and VBA tool for reliability consultant at Reliable Process Solutions for Reliability Centered Maintenance (RCM).

  • Designed user interface, database tables, queries, reports and graphs for RCM analysis.
  • Implemented serial key validation and created Excel file for client to manage serial key distribution to his clients.
  • Provided support and maintenance to my clients’ end users.
PIC Microcontroller Oscilloscope and Accelerometer
Mapromar Inc.

Application coded in C++, VB.NET and WPF to interface with a PIC18F4550 microcontroller through USB programmed in embedded C. The microcontroller was programmed into a simple oscilloscope sending voltage data and also programmed to send accelerometer data from a chip.

  • Programmed USB stack implementation.
  • Installed firmware and set up USB driver to communicate with device using WinUSB.
  • Console application coded in C++ to read button states and flash LEDs.
  • Interfaced with unmanaged WinUSB driver in .NET taking care to pin objects and prevent the garbage collector from moving managed objects in memory.
  • Used an ADC to measure voltage data and read accelerometer data from a chip over SPI which was sent to the PC where it was graphed in real time using a custom WPF control.
Path Finder
Mapromar Inc.

Application coded in VB.NET and WPF to search for a path between two points on a grid populated with obstructions. This project was to learn the A* (pronounced A star) path finding algorithm.

FMEA Prototype
Mapromar Inc.

Designed and coded a VB.NET WinForms application prototype for Failure Modes and Effects Analysis (FMEA) including a diagram building tool. Primarily targeted at companies in the manufacturing industry and gained interest of a previous client. Received input from an engineer working at a manufacturing plant and held meetings to demo and discuss the project to the plant managers.

  • Backend database in SQL Server Compact (SQL CE).
  • Built a diagram building tool and code to enable printing the final diagram.
  • Data grid for inputting FMEA and control plan data.
Music Organizer
Mapromar Inc.

Application coded in VB.NET to organize MP3 files by reading ID3 tags and renaming and moving files to artist, album and track folders. This project was a practical application of manipulating file headers using byte data arrays.

Shift Maintenance Decision Support System (DSS)
Mapromar Inc.

Web application developed in ASP.NET and AJAX for a client to keep track of maintenance in the manufacturing industry.

  • Met with client to obtain software requirements, created end user installation guides and helped IT set up and troubleshoot the system.
  • Designed entire web application including database tables, queries, and reports, web pages for data input, analysis, user account management and graphic design.
Reliability Centered Maintenance (RCM)
Reliability Solutions, Inc.

Access and VBA tool for reliability consultant at Reliability Solutions for Reliability Centered Maintenance (RCM) to assist in his RCM methodology.

  • Met with the client to obtain software requirements and an interested end user from one of the largest privately owned companies in the US, and one of the top 50 largest companies in the world by revenue. This company then flew me to their headquarters to meet with their worldwide IT manager and discuss the project.
  • Designed database tables for a split database in the back end and created queries, reports and graphs for RCM analysis in the front end.
  • Designed and coded the user interface including a tree view for easy navigation on the main data input page.
Root Cause Analysis (RCA)
Think Reliability

Excel and VBA tool for reliability consultant at Think Reliability for Root Cause Analysis (RCA). I obtained the contract while in high school and after teaching myself Excel and VBA in a single weekend. The client originally intended to give the tool away for free but upon delivery he commented that the product was almost too good and considered selling it instead.

  • Coded a toolbar and other enhancements to speed up the process of creating diagrams for Root Cause Analysis (RCA).
Jumble Word Solver
Mapromar Inc.

Application to solve Jumble word problems coded in VB.NET WinForms primarily for fun and a learning experience. Solution accomplished by using a recursive algorithm to iterate through all permutations of a given string and filtering those words that exist in a dictionary file. Further enhancements were made to increase performance by sorting words and splitting the dictionary file.

Stepper Motor
Mapromar Inc.

While in high school, designed and built an H-Bridge circuit to control a stepper motor from an old 5¼” floppy drive using a computers parallel port. A desktop application was written in both Turing and VB6. A separate board and application was also created for outputting data to LEDs and reading button states.

Volunteer Experience

Student Mentor
St. Thomas More Catholic School

Mentored grade 7-8 students in LEGO robotics at an elementary school.

Skills

C#.NET, VB.NET, WPF, DirectX, Vulkan, OpenGL, ASP.NET, xUnit, ETW, Wix, WinForms, Blender, IIS, GoCD, Access, Excel, VBA, MS SQL, PostgreSQL, Oracle, MySQL

C#
.NET
WPF
Visual Studio
C++
DirectX 11 & 12
Vulkan
OpenGL
Blender