GUILLERMO GARCIA
•Email address: **************@*******.***
Summary
Experienced senior software architect, principal software engineer, full stack software developer and technical lead with more than twenty-five years of professional experience designing, developing, testing, and deploying software-based solutions for desktop computers, mobile devices, servers, embedded systems, real time operating systems, industrial machines, and the World Wide Web. In my professional career as a software engineer and an architect, I have worked on different types of projects including line of business applications, business to consumer applications, business to business applications, electronic payment systems, interactive kiosks, security suits, medical devices’ software, industrial machines, and video games. My professional experience also includes problem solving, planning, leading, and managing software development projects and teams.
Professional Skills
Software Development Life Cycle and Project Management Methodologies:
•Scrum •Agile (Extreme programming)•Waterfall •Hybrid.
Software Development Process Methodologies:
•DDD •BDD •TDD.
Software Design Principles:
•SOLID (13 years) •Design patterns (17 years) •OOAD, OOD and OOP (25 years) •SOA (4 years).
Project Types:
•Desktop Applications (23 years) • Full Stack Web Applications (10 years) • Full Stack Mobile Applications (10 years) • Full Stack Mobile Games and Applications with Unity3d (6 years) •Client/Server, Distributed (Multi-tiered) and Proxy Applications (9 years) •Embedded System Applications (6 years) •Security Applications (7 years) •Multiplatform Applications (10 years) •3D Graphic Libraries (2 years) •3D Animation (6 years) •Graphic Design (10 years).
Programming Languages:
•C# (23 years) •C++ and C (18 years) •Java (12 years) •JavaScript and TypeScript (6 years) •SQL and TSQL (13 years) •XAML (13 years) •HTML and CSS (10 years) •XML, XSD and XSLT (6 years) •Visual Basic (4 years) •Turbo Pascal (4 years) •Assembly Language of Intel ‘s 80x86 family and Zilog’sZ80(4 years).
Libraries, APIs, Application Frameworks, Server Applications, and tools:
•.NET and .Net Core (4 years) •.NET Standard (4 years) •.NET Framework (23 years) •WPF and Silverlight (13 years) •MAUI (3 years) •Xamarin and Xamarin Forms (10 years) •Windows Forms (11 years) •.Net Compact Framework (4 years) •PRISM (9 years) •Unity DI (11 years) •Microsoft DI (4 years) • Blazor (4 years) •ASP.Net Core Web API and Signal R (4 years) •ASP.Net Core MVC (1 years) •ASP.Net MVC (3 years) •ASP.Net Web API and Signal R (10 years) •ASP and ASP.Net Web Forms (4 years) • Spring Framework and Spring Boot (5 years) •NodeJs (1 year) • Angular, React, NestJs (4 years) •Durandal, Knockout and Require(4 years) •JQuery and AJAX •Entity Framework Core (3 years)•Entity Framework (7 years) •SQL Server (16 years) •SQLite (7 years) •LINQ (12 years) •WCF (5 years) •Moq •CSLA •MS IIS (7 years) •Win32, MFC, STL, ATL, WTL, COM and ActiveX (12 years) •DirectX and OpenGL (2 years) •SSIS and SSRS (1 year) •ESRI ArcGIS (2 years) •Bing Maps (2 years)•Google Maps (2 years).
Advanced Programming:
•UI Development (23 years) •MVVM (15 years) •Web API, Signal R, WCF and Web services (10 years) •Distributed (Multi-tiered) applications (8 years) •Relational databases and stored procedures (16 years) •Dependency Injection and IOC (11 years) •TDD (8 years) •BDD and TDD (4 years) •Parallel Programming (6 years) •Multithreading and Exception handling (21 years) •Sockets (TCP/IP and UDP) (5 years) •RF communication and Bluetooth/BLE (4 years) •Cryptography (5 years) •SaaS (5 years).
Communication Protocols and Industry Standards:
•REST and JSON (7 years) •OData, SOAP and WSDL (3 years) •OAuth (4 years) •HTTP and HTTPS (10 tears) •TCP/IP and UDP (6 years) •Proprietary RF communication protocol (1 year) •ISO-8583, ISO-7816, X9.24 and EMV 3.1.1 specifications (5 years) • PKI, SSL and Network Security (4 years) •3DES (2 years).
Cloud Platforms:
•Microsoft Azure (6 years) •Microsoft Office 365 •Microsoft SharePoint
Professional Experience
BINARY NATURE, INC. (Los Angeles, California) 10/2010 – Present
Titles: CEO/CTO/Development Manager/Project Manager /Software Architect/Principal Software Engineer.
Skills applied: C#, XAML, .NET and .Net Core, .NET Standard, .Net Framework, Mono, Xamarin, Xamarin Forms, WPF, Windows Forms, Blazor WebAssembly/Server, Silverlight, Unity3d, PRISM, Unity DI, •Microsoft DI, ASP.Net and ASP.Net core MVC, HTML 5, CSS 3, JavaScript, JQuery, AJAX, SPA with Angular, Durandal, Knockout and Require, MVVM, MVC, ASP.Net Web API, GraphQL, WCF, Entity Framework, LINQ, SQL Server, SQLite, MySQL, IIS, Multithreading, Parallel Programming, Exception handling, OOA, OOP, OOD, TDD, Design Patterns, Software Development for Desktop, Web and Mobile environments.
Responsibilities: 1) Software development team management. 2) Project management and supervision of the full software development life cycle (SDLC) of all company’s projects. 3) Chief software architect.
Relevant projects: Multiple projects including mobile, desktop, web applications and video games.
BOSTON SCIENTIFIC CORPORATION. (Valencia, California) 7/2021 – 08/2023
Titles/Roles: Principal Software Engineer/ Software Architect/ Technical Software Team Lead.
Skills applied: C#, .Net Framework, WPF, XAML, MVVM, LINQ, SQL Server, Web API, Signal R, Dependency Injection, Prism, Unity DI container, OOA, OOP, OOD and Design Patterns.
Responsibilities: Architectural design and implementation of the NOS Platform and creation/refactoring of most of its framework & modules. Architectural design and implementation of the ORBA desktop application. Illumina™ module refactoring. Architectural design and implementation of the BSNXTS integration test application.
Relevant projects: 1) NOS Platform: Neuromodulation Open Software Platform to support Neuromodulation vertical clinical applications and pre-clinical trials. 2) NOS Platform’s Modules/Frameworks creation/refactoring: BLE 5 Communication and Neuromodulation Programming frameworks refactoring/implementation. 3) ORBA app: (Operating Room Box and App) neuromodulation application used for implant surgeries. 4) BSNXTS: Integration test application to create and run custom integration test based on test steps sequences.
ADVANCED BIONICS, LLC. / SONOVA (Valencia, California) 08/2018 – 05/2020
Titles/Roles: Consultant/ Principal Software Engineer/ Software Architect.
Skills applied: C#, .Net Framework, WPF, XAML, MVVM, LINQ, MySQL, SQLite, Dependency Injection, Prism, Multithreading, Exception handling, OOA, OOP, OOD and Design Patterns.
Responsibilities: Design and implementation of the Target-CI fitting software’s cochlear implant emulation. 2) Design and implementation of the Target-CI fitting software’s Data Migration feature. 3) Implementation and maintenance of other Target-CI fitting software features.
Relevant projects: 1) Target-CI Implant Emulation: The implant emulation allows developers and customers to emulate communication with the patient’s cochlear implants and is an essential part of the Target-CI application. 2) Target-CI Data Migration: This feature allows to migrate most fitting cochlear implant data from AB’s legacy fitting software.
VEECO INSTRUMENTS, INC. (Plainview, New York) 09/2015 –01/2018
Titles/Roles: Consultant/Senior Software Architect.
Skills applied: C#, C++, C, .Net Framework, LINQ, Windows Forms, WPF, MVVM, PRISM with Unity (Dependency Injection Container), Entity Framework, SQL Server, Multithreading, Exception handling, Security and Cryptography, RF Tags and Tags Readers, Motion Controllers, I/O Digital, and Analog Devices (Sensors, Actuators, etc.) Network Communication, Vision Processing, Process Automation, Programming Language Interpreter, and debugger implementation, OOA, OOP, OOD and Design Patterns.
Responsibilities: Design, development, refactoring, and maintenance of the following Windows desktop applications: 1) HMI software for the ADS 800 dicing system. These machines are used on high precision dicing processes for thin film magnetic head (TFMH) wafers. 2) HMI software for the ASL 400 lapper system. These machines are used for high precision lapping processes in the manufacturing of hard disk heads.
Relevant projects: 1) ADS 800 HMI for dicing system. 2) ASL 400 HMI application for lapper system.
eSOLAR, INC. (Burbank, California) 02/2015 –04/2016
Titles/Roles: Consultant/ Senior Software Engineer/ Software Architect.
Skills applied: C#, .Net Framework 4.5.2, WPF, PRISM, Dependency Injection (using Unity), Entity Framework, LINQ (to entities and to SQL), SQL Server, PLC (Allen-Bradley) API, TFS, OOA, OOP, OOD, Design Patterns, Unit tests and Integration tests (using MS Test and Moq).
Responsibilities: Design, development, testing and deployment of the following Windows desktop applications: 1) RMQS (Reflector Module Quality System). 2) RMQS Diagnostic. 3) RMQS Data Replication.
Relevant projects: 1) RMQS Application: eSolar developed the Reflector Module Assembly System (RMAS) which is an assembly line for creating reflector modules (RMs) The RMAS had many parts including several robots, conveyor belts, safety equipment and more. One of the key parts of the RMAS is the Reflector Module Quality System (RMQS), which main function is to measure both RM frames and built RMs and ensure quality by identifying bad frames or bad RMs during construction. The RMQS application has 3 modes: Configuration, Calibration and Operation. In Operation mode the RMQS application records data from an RM Frame Inspection Station, communicates to cameras mounted in the RMQS target screen, communicates to the PLC running the RMAS, commits all recorded data to a database, commits computed values for slow computation to the database. This application also provides a user interface allowing the RMAS operator to see the data and spot trends in the quality. The RMAS is run by an Allen-Bradley PLC as its main control system and the RMQS Application interfaces with that PLC and captures the data the PLC has in memory. 2) RMQS Diagnostic Tool: This application allows analysis of data previously collected from the RMQS Application. The RMQS Diagnostic tool connects to a remote database and presents the user with a view of that data collected by the RMAS. The RMQS Diagnostic tool allows for viewing of the RM frame measurements, the RefMet calculations, and the slope maps. 3) RMQS Data Replication Tool: This application allows for production data to be replicated back to eSolar's headquarters and consumed by tools like the RMQS Diagnostic Tool.
OUTLOOK AMUSEMENTS, INC. (Burbank, California) 05/2014 –10/2014
Titles/Roles: Consultant/ Senior Software Engineer.
Skills applied: C#, VB, .Net Framework 4.0 and 4.5, ASP.Net Web Forms, ASP.Net MVC 4, HTML 5, CSS 3, Bootstrap, JavaScript, JQuery, AJAX, SPA with Durandal, Knockout, Require, MVVM, MVC, ASP.Net Web API, Entity Framework, LINQ (to entities and to SQL), SQL Server, IIS, TFS, OOA, OOP, OOD, TDD, Design Patterns, Responsive UI, Dependency Injection (using Unity), TDD (using MS Test and Moq), Google analytics, Application Development targeting Web and Mobile environments.
Responsibilities: Maintenance and enhancement of existing web applications including the company’s customer facing web site www.californiapsychics.com . Design and development of new web applications, intranet, and desktop tools.
Relevant projects: 1) Addition of new features and enhancements to the company’s customer facing web site 2) Design and development of the ‘Feature Configuration’ intranet SPA application. 3) Design and development of the ‘GoogleStats’ desktop tool to bring all the company’s web sites google analytics data to their internal databases to feed the reporting applications. 4) Enhancement and maintenance for the ‘CS’ application (CRM web application) used by the customer services department. 5) Enhancement and maintenance of the ‘PRTool’ and the ‘PMTool’ web applications.
VEECO INSTRUMENTS, INC. (Camarillo, California) 03/2012 – 09/2013
Titles/Roles: Consultant/Software Architect and Team Leader.
Skills applied: C#, LINQ, Windows Forms, WPF, MVVM, .Net Framework, SQLite, Multithreading, Exception handling, OOA, OOP, OOD and Design Patterns.
Responsibilities: 1) Design and development of all new features, and maintenance of all existing features of the ADS 800 system’s software (Windows desktop application). 2) Technical leadership of a small software development team. 3) Training and mentoring of other developers.
Relevant projects: 1) Refactoring of the following ADS 800 system’s software features: Vision, Event logger, Event Viewer, User Interface, Database and System Configuration and support for new hardware components. The ADS 800 software is an HMI (Human Machine Interface) role-based application with a customizable GUI. This HMI allows users to command and control the system’s hardware operations interactively. It also has several integrated scripting tools (editors, interpreter, debugger, etc.) to support full process automation.
FOX ENTERTAINMENT GROUP, INC. (Century City, California) 01/2011 – 02/2012
Titles/Roles: Consultant/ Senior Software Engineer.
Skills applied: C#, LINQ, .Net Framework, WPF, Silverlight 4 and 5, CSLA, PRISM, XAML, WCF services, Ria services, Domain services, Entity Framework, LINQ, SQL Server 2008 R2, MVVM, ASP.Net, IIS, TFS, Multithreading, Exception handling, OOA, OOP, OOD and Design Patterns, Globalization.
Responsibilities: 1) Development of an ‘Asset Management Portal’ to distribute Fox media digital assets to FOX customers around the world. This web application allows FOX customers (companies, not consumers) to search, preview and download digital media assets like movies previews, still images, advertising material, etc This application was fully developed from scratch in Silverlight 5. 2) Maintenance and enhancement of the ‘Fox’s Crewing and Advanced Timecard System’ (FACTS) line of business application, including the addition of new functionality.
Relevant projects: 1) FOXFAST (Silverlight application): The FOXFAST web application was developed with Silverlight 5 and .Net Framework 4.0 using XAML and C#. The architecture of this application was based on the MVVM design pattern. 2) FACTCS (Silverlight application): FACTS is a web-based application for the Regional Fox Sports Networks to manage production and post-production operations. This application provides the capability to manage the assignment of technical crew to the television production of a sports event. The FACTS application was developed with Silverlight 4 and .Net Framework 4.0 using XAML, C# and the MVVM design pattern.
ADVANCED BIONICS, LLC. (Valencia, California) 03/2010 – 11/2010
Titles/Roles: Software Architect, Consultant.
Skills applied: C#, LINQ, .Net Framework, Silverlight 4, Ria services, WPF, XAML, WCF services, Domain services, Entity Framework, LINQ, SQL Server 2008, ASP.Net, IIS, TFS, MVVM, Multithreading, Exception handling, OOA, OOP, OOD and Design Patterns.
Responsibilities: 1) Design and implementation of the entire ‘CI-SMART’ web application, including the development of all the application layers end to end (UI, Business Logic, Data Access, and Databases).
Relevant projects: 1) CI-SMART (Silverlight application): Time management and analysis application that allows doctors and physicians to log their appointments and service’s information to optimize their performance and time usage. This is a role-based application that allows different types of users (Directors, Professionals, Staff, etc.) to share a common UI. CI-SMART’s main features are: role-based UI, custom login, center registration, professional registration, centers management, professional management, log period management, appointments, and services log entry (a scheduler like user control was created from scratch where the users can drag, drop, and resize appointments and services in the selected view), interactive dashboard with drilldowns and several categorized reports. The CI-SMART application was developed with Silverlight 4 and .Net Framework 4.0 using XAML and C# and heavily applying the MVVM design pattern.
BiTKOO, LLC. (North Hollywood, California) 10/2009 – 06/2010
Titles/Roles: UI Architect, Principal Software Engineer.
Skills applied: C#, LINQ, .Net Framework, Silverlight 3 and 4, WPF, XAML, WCF services, Entity Framework, LINQ, ASP.Net, IIS, Multithreading, Exception handling, OOA, OOP, OOD and Design Patterns.
Responsibilities: 1) Design and implementation of the ‘DBAdmin’ application’s UI, the WCF services and the database access layer.
Relevant projects: 1) DBAdmin (Web based enterprise application): Database access control administration tool to manage the access control rules defined for a company’s intranet databases. The DBAdmin application was developed with Silverlight 4.0 and the .Net Framework 4.0 using XAML and C#.
MEDTRONIC MINIMED, INC. (Northridge, California) 05/2008 – 09/2009
Titles/Roles: Team Leader/Manager, Architect, Principal Software Engineer.
Skills applied: C#, .Net Compact Framework, .Net Framework, Windows Forms, ADO.NET, Win32 API, TFS, Multithreading, Exception handling, OOA, OOP, OOD, TDD and Design Patterns.
Responsibilities: 1) Team Leader/Manager: Managed the PDS controller business logic team, a group of 9 senior software engineers. Interviewed new team’s candidates, mentored new team’s members, created project plans, set up task’s priorities, provided team weekly status reports, leaded most of the team’s R&D activities, and coordinated the full cycle of the team’s software development process. 2) Architect: Designed the PDS controller application’s UI navigation framework, business logic, databases, and communication tiers. Also designed other shared components and tools (Communication protocol libraries, Trace tools, Deployment tools, etc.). 3) Principal Software Engineer: Design, developed, unit-tested and re-factored main components of the PDS controller application (UI framework, BL, communication, and database). Also developed other shared components and tools.
Relevant projects: 1) Patch Delivery System (PDS): Insulin delivery system for diabetic patients. The initial version of the system consisted of the following devices: A controller with a fully customized Windows Forms UI and most of the core functionality, an insulin delivery patch pump responsible for the controlled delivery of insulin to the patient, a blood glucose sensor to monitor the BG levels in the patient’s blood and a PC to manage the PDS patient’s data. All these devices communicate wirelessly via RF, but some of them also supported USB and Bluetooth communication. I fundamentally worked on the PDS controller device, which is based on the Windows CE 6.0 OS. The controller application was developed for the .Net Compact Framework and the .Net Framework using the C# language.
CONNEXUS CORPORATION. (El Segundo, California) 06/2007 – 03/2008
Titles/Roles: Senior/Principal Software Engineer.
Skills applied: C#, ASP.Net, IIS, TFS, Web Forms, ADO.NET, SQL Server 2005, HTTP, C++, Win32 API, COM, STL, Multithreading, Exception handling, OOP, OOD, Design Patterns, VMware, Test Complete, SSIS and SSRS.
Responsibilities: 1) Senior/Principal Software Engineer: Developed, re-factored and maintained existing applications. Deployed the ‘Client Software’ application periodically, as required based on the new releases or versions of the application. Created and maintained several SSIS and SSIS packages. Setup an automated QA environment and created test scripts to test the ‘Client’ Application using ‘VMware’ and ‘Test Complete’ combined.
Relevant projects: 1) Upgrade Server: ASP .Net C# web application to support the ‘Client Software’ auto-update functionality and to log all the ‘Client Software’ activity. This application ran in a high traffic web farm hosted in IIS 6.0. 2) Upgrade Server log parser: C# .Net managed windows service application used to update a SQL server 2005 database with the log activity generated by the Upgrade server. 3) Client Software: C++ windows service and tool bar used to capture direct search traffic from Internet Explorer and Firefox web browsers and extend its normal search functionality. 4) Client Integration Packages: SSIS packages to integrate and aggregate the client data into the analysis database. 5) Client Report Packages: SSRS packages to generate reports about the ‘Client Software’ activity. 6) Automated QA Environment: Hierarchic set of VMware guess operating systems (Windows 98, ME, 2000, XP and Vista) and ‘Test Complete’ test scripts to automatically test the ‘Client Software’ application in different OS versions and configurations.
SYMANTEC CORPORATION. (Santa Monica, California) 08/2005 – 05/2007
Titles/Roles: Senior Software Engineer.
Skills applied: GUI design and implementation, C++, HTML, CSS, DOM API (in C++), COM, Win32 API, WTL, ATL, STL, XML, DOM, Multithreading, Exception handling, OOP, OOD, Design Patterns, TI’s HTMLayout (HTML rendering engine) and VMware.
Responsibilities: 1) Senior Software Engineer: Researched ‘Terra Informatica’s’ HTML rendering engine. Also designed, developed, and integrated some UI components and the UI framework of the Norton 360 security suit, with the scanning engines. I was also the team leader of the backup UI component and the main developer of this feature. Norton 360 was developed to run on Windows XP and on Windows Vista.
Relevant projects: 1) Norton 360: This security suit provides all-in-one protection that keeps your PC and your personal information secure. This comprehensive solution combines Symantec's proven, industry-leading security and PC tune-up technologies with new automated backup and anti-phishing features, providing a full circle of protection. Norton 360 won the CNET and PC Magazine’s Editors' Choice Awards in 2007.
HYPERCOM, INC. (Phoenix, Arizona) 08/2003 – 08/2005
Titles/Roles: Senior Software Engineer.
Skills applied: GUI design and implementation, C++, C, .Net, C#, HTML, CSS, JavaScript, COM, ATL, Win32 API, MFC, ADO, ADO.Net, ASP, ASP.Net, Web Forms, STL, XML, DOM, TCP/IP, Sockets, Serial Interface API, Multithreading, Exception handling, OOA, OOD and OOP.
Responsibilities: 1) Senior Software Engineer: Planed, designed, developed, tested, documented and leaded the following software products: HKLM (Hypercom Key Loading and Management), CAPS (Certificate Authority Proxy Server), S9 PIN Pad Loader, Prompt table Manager and other utilities. These applications were developed to run under Windows XP and Windows 2000. My responsibilities also included consulting, system integration, and training customers on all these applications.
Relevant projects: 1) Term-Master Suit: ASP.Net C# web application to create, modify and manage terminal (POS) configuration and initialization data. 2) HKLM (Hypercom Key Loading and Management): Windows forms C# .Net desktop and server application to manage and load symmetric keys locally (via RS232) and remotely (via TCP/IP), using PKI (Public Key Infrastructure) standards. This key management suit also allows creating and editing symmetric key XML databases. Some of the most important features included in this system are: User’s dual login (password based), system events logging and log viewer, access to the application functions based on user role and remote key loading server. The HKLM solution consists of two main subsystems: A Windows application and a KLD (Key Loading Device) embedded application. The KLD is a secure and tamper resistant device used to perform all the secure operations (i.e., Key encryption, key decryption, etc.). These two applications communicate via TCP/IP using a proprietary protocol based in XML. This application’s server capabilities are saving the company hundreds of thousands of dollars each year. 3) CAPS (Certificate Authority Proxy Server): C# .Net proxy application that allows Hypercom’s PEDs (PIN Entry Devices) to get its certificates signed by the RSA’s Keon CA server. This proxy server application is a key component in Hypercom’s PKI strategy. 4) Prompt table Manager: C# .Net application used to create and edit prompt tables formatted in XML and protected using SH1 and a secret key. These prompt tables are loaded into PEDs with HKLM and used by the PED embedded application for user interaction in electronic payment transactions. 5) S9 PIN Pad Loader: C++ desktop application to load embedded applications into Hypercom’s S9 PIN Pads firmware via RS232 using the CAT033 protocol. Boot mode loading and application mode loading were both implemented.
CITRIX SYSTEMS, INC. (Fort Lauderdale, Florida) 03/2003 – 08/2003
Titles: Senior Software Engineer/Consultant.
Skills applied: GUI design and implementation, C++, C, .Net, C#, Win32 API, MFC, STL, TCP/IP, Sockets, Multithreading, and Exception handling, OOP, OOD and Design Patterns.
Responsibilities: 1) Senior Software Engineer/Consultant: Designed, developed, tested, and documented a ‘Test Suit’ to automate different types of tests (integration tests, regression tests, stress tests, white box tests and black box tests) on a proprietary networking protocol SDK. This ‘Test Suit’ was developed using Visual Studio .NET 2003 and was used to test the protocol SDK in Windows XP and Windows 2000.
Relevant projects: 1) CGP Test Suit: C++ MFC windows desktop application used to perform integration tests, regression tests, stress tests, white box tests and black box tests of a proprietary networking protocol SDK (CGP SDK). This Test Suit was developed in C and C++ with a component-based design. 2) CGP configuration tool: C# .Net windows desktop application used to configure the CGP protocol component.
BLACKSTONE, INC. (Miami, Florida) 07/2002 – 11/2002
Titles/Roles: Team Leader/Software Architect.
Skills applied: GUI design and implementation, C++, C, Win32 API, MFC, ATL, COM, STL, ADO, SQL, TCP/IP, Sockets, Multithreading, Exception handling, OOP, OOD, OOA, Design Patterns, and GUI development.
Responsibilities: 1) Team Leader: Leaded a team of 4 developers and 2 UI designers to develop the ‘Touch-n-Buy’ interactive multimedia kiosk or vending machine application to sell prepaid phone calling cards. Researched different hardware components and negotiated their prices with different providers. Integrated hardware components and created necessary drivers. Planned and coordinated all development efforts of this application. Participated in multiple events (in New York and Orlando) where I had to demonstrate the main functionality of this vending machine to the public. Put in production the first prototypes of these vending machines. 2) Architect: Fully designed the ‘Touch-n-Buy’ kiosk application, including the UI, the business logic, the communication, and the database tiers. 3) Senior Software Engineer: Developed and tested the ‘Touch-n-Buy’ application and all its components. The application was developed for Windows XP and 2000.
Relevant Projects: 1) MFC C++ interactive kiosk application for a prepaid phone calling cards vending machine: The application was developed for Windows XP and Windows 2000. The mayor challenge in this project was to develop the entire application and all its software components (custom multimedia GUI, bill acceptor, card reader, pin pad, thermal printer, data bases, modem, Host communication protocol and core application framework) in just three months. This type of vending machine was new in the state of Florida at the time. These vending machines are touch screen based and have an easy-to-use customer facing GUI. They are still used in many PUBLIX grocery stores and several cellular communication centers located in Miami and Fort Lauderdale, Florida.
HYPERCOM, INC. (Phoenix, Arizona) 04/1999 – 06/2002
Titles/Roles: Senior Software Engineer.
Skills applied: GUI design and implementation, C, C++, Win32 API, MFC, ATL, COM, STL, ADO, TCP/IP, Sockets, Multithreading and Exception handling, Encryption Algorithms, OOP, OOD, OOA, Design Patterns, UML, and Assembly Language.
Responsibilities: 1) Senior Software Engineer: Planned, designed, developed, tested, and documented several C and C++ applications for RTOS devices, Windows CE based POS devices and for the Windows NT platform. In addition, my responsibilities included consulting, system integration, and training of customers.
Relevant projects: 1) Embedded C++ application framework, class libraries and electronic payment application for a Windows CE 3.0 based POS device and C++ windows desktop applications to support profile configuration, data management and initialization of POS devices. 2) Embedded C Smart Card reader device driver for a Windows CE based POS device. This development was based in the PC/SC implementation for the Microsoft’s Windows CE operating system. Development of the Hardware Abstraction Layer, development of Interrupt Service Routines and development of the OEM Adaptation Layer for this custom Windows CE OS image were the most important parts of the project. 3) Embedded C application Manager for a multi-application RTOS: I developed the GUI modules, most of the terminal configuration and administration functions and performed some modifications to the OS. 4) Embedded C Smart Card Application Framework for the software platform of POS device. 5) Embedded C EMV level-2 library to provide smart card electronic payment transactions functionality (debit and credit) to POS applications. 6) Embedded C Smart Card applications (Electronic Purse, Loyalty, and Acquirer Transport Card) for the SmartCity integrated solution from ICL and Smartix. These applications have been applied in universities campuses and sports stadiums and were based on a client’s application developed for