Post Job Free

Resume

Sign in

C++ Software Consultant

Location:
Elmhurst, IL
Posted:
December 15, 2023

Contact this candidate

Resume:

Joseph M. Pangallo

***** ******* ******

Huntley, IL 60142

M: 847-***-****

Email: ad1zux@r.postjobfree.com

PROFESSIONAL EXPERIENCE

Zoll Medical, Rolling Meadows, IL

Software Consultant 05/2018 – present

Responsible for implementing a custom logger, text manager and parameter manager in an embedded QNX C++ environment.

● Designed and created a logger manager that provides debug logging, system error logging and console-based logging for all processes.

● Designed and created a text manager that allows the system to dynamically load a one of several possible shared libraries based on the local language.

● Designed and created a parameter manager that is used by all processes to read,write and update parameters.

● Created a more efficient methodology of reading and writing to FRAM by reading and writing directly to the fram chip. All of the parameter configuration values are stored in FRAM.

● Created a shared library that contains API’s for processes to obtain parameter information.

● Used Jansson json library to handle the import and export of parameters.

● Worked on and maintained the protocol for CO2

Zebra Technologies, Lincolnshire, IL

Software Consultant 08/2017 – 3/30/2018

Responsible for implementing authentication for a printing system in an embedded QNX C++ environment.

● Updated the code base to work with a new printer. This involved porting and redesigning existing code to work within the QNX environment.

● Assisted in the debugging of a Perl script that was preventing the ability to download new software to the printer.

● Responsible for the authentication between the software and two Crypto Authentication chips. My responsibilities involve porting an existing implementation from a proprietary OS into the QNX environment and architecting the code to work within this new environment. Life Fitness, Franklin Park, IL

Software Consultant 12/2016 – 7/01/2017

Responsible for using C++ and QT in a Linux environment to improve existing functionality and to implement new functionality.

● Fixed database issues that were causing the target hardware to crash.

● Implemented the API to allow software testing to be completed.

● Implemented new functionality that allowed new software upgrades to be stored on the target so that when the target was power cycled, the updates would continue.

● Made the software update logic into a Linux dynamic library.

● Implemented new functionality that allows the client and Life Fitness to run tests on demand.

● Added a new USB dynamic library to detect when a usb stick is inserted to the target.

● Added a common logging functionality that could easily be used for new projects. Abs Global, Madison, WI

Software Consultant 06/2016 – 12/2016

Responsible for using QT in an embedded Linux environment to modify and design the user interface.

● Upgraded and redesigned the current gui application using QT and C++. My main responsibility initially was to modify the existing design using QT and C++.

● Initiated the idea to reorganize the code structure. The idea was to organize the code base into a directory structure rather than having all of the files in one directory.

● Initiated the idea to use the QT designer to facilitate the gui redesign. This involved moving the gui logic into the QT designer rather than in the code.

● Led the requirements gathering for a complete redesign of the gui. This involved creating the requirements in PowerPoint and having multiple design review sessions.

● Initiated the upgrade of compiler and QT to new versions. The compiler is enabled for C++14 and QT is the latest version available. Boost is now part of the code also.

● Using C++11 and C++14 features. This includes the following: auto, ranged-based for loop, initialize lists, lambdas, nullptr, = default, = delete, override, static_assert, unique_ptr, function and multiple stl algorithms.

WMS Gaming, Chicago, IL

Senior Principal Engineer 08/2007 –8/2015

Software Operations and Protocols Group

Responsible for writing new C++ code that implements gaming protocols, implements client requirements and enhances existing software.

● Designed and wrote new software to implement a new protocol that allows the machines to be used with Class Two servers.

● Implemented parts of the G2S (Game to System) protocol, which contributed to sales of four hundred machines and over five million in revenue. The G2S protocol is designed to communicate information between an electronic gaming machine and one or more host systems using TCP/IP and XML. My primary responsibility was to create new C++ code that allowed our machines to send and receive the necessary information to satisfy the requirements of the G2S protocol.

● Used C++ to create a new extension, Account Based Wagering, to the G2S protocol. This extension allowed all money to be handled at the casino server and was added to the main process in the code that interacted with the casino server. I was responsible for designing and writing all of the C++ code for this extension.

● Dealt directly with sales to write new code for France requirements, which resulted in an initial sale of five hundred machines and revenue of seven million dollars. My main duty for this project was to take the requirements given to our sales associates by France and implement them. This involved extensive C++ changes to the code because France wanted functionality that was unique. WMS Gaming, Chicago, IL

Principal Engineer 04/2002 – 08/2007

International / Lottery Group

Responsible for managing multiple projects that involved implementing new protocols and completing new requirements.

● Led a team that implemented the Zonke protocol for South Africa. This resulted in the sale of five hundred machines with revenue of over six million dollars. Zonke is a point-to-point protocol where the data is transmitted via an RS232C specification serial interface. My main responsibility was to manage other developers and write new C++ code to assist in the implementation of the protocol, which was part of a new “Low Payout Market” in South Africa.

● Individually improved and updated the C++ software layer directly above Linux to allow our poker games to be configured for multiple games in South Africa. This resulted in additional sales of two hundred machines and two million in revenue.

● Created new C++ code that allowed our machines to utilize cashless play in South Africa. My primary responsibility was to update the C++ software layer directly above Linux and to update the C++ code to update the SAS protocol. The SAS protocol was used to send and receive data from the casino servers.

● Wrote new code for the initial France requirements. France purchased six hundred machines with the completion of these requirements. These machine sales generated over seven million in revenue. My main duty was to take all of the France requirements, estimate their feasibility and then determine how much time that this work would take. Then, all new C++ code was used to implement the requirements.

● Determined a solution that reduced memory consumption so that our newer games could be deployed in Delaware, increasing our participation percentage by two points and resulting in new machine sales. My primary responsibility was to find any C++ code that was using excessive memory.

WMS Gaming, Chicago, IL

Software Engineer 01/2000 – 04/2002

International / Lottery Group

Led multiple lottery projects that resulted in new machine sales and enhanced software capabilities.

● Fixed an accounting problem for the Delaware State Lottery which prevented the state from collecting the correct amount of tax revenue. My primary responsibility was finding and fixing the C++ code that was causing the problem.

● Wrote new C++ code that implemented new portions of the VLC protocol for Delaware which resulted in new machine sales. The VLC protocol was used to send and receive data from the casino servers.

● Completed the LVL protocol implementation and updates to the SAS protocol for West Virginia, resulting in our first deployment of machines with this protocol. West Virginia purchased four hundred machines to generate revenue of four million dollars. My main role in this project was to write new C++ code for two protocols instead of one protocol. The client used two protocols instead of one protocol with their servers.

Seiberling Associates, Inc., Rockford, IL 06/1998 –01/2000 Controls System Engineer

Controls Systems Group

Responsible for writing new PLC code for dairy and pharmaceutical industries.

● Implemented firmware code for user interfaces that connected to PLC based control systems. TECHNICAL SKILLS

Languages: C++ (proficient), C(proficient)

Certifications: AWS Certified Solutions Architect - Associate IBM Certified Associate Developer - Quantum Computation using Qiskit v0.2X Environment/Tools: Linux, Boost, STL, CVS, Git, SVN, Eclipse, MQTT, QT, Momentics, QNX,Agile, Unit Testing, ChatGPT, Claude, Amazon Bedrock, Bard, Perplexity EDUCATION

MS, Computer Science, DePaul University, Chicago, IL BS, Electrical Engineering, Purdue University at Indianapolis, Indianapolis, IN BS, Public Affairs with a concentration in Public Financial Administration, Indiana University at Indianapolis, Indianapolis, IN.



Contact this candidate