Las Vegas, NV
Principal Level Software Engineer with extensive background in C/C++, Java, Visual Basic, C#, Network Protocols, Embedded Systems, Device Drivers, Real Time Systems and Applications development using MFC. Extensive background in Windows and POSIX platform developments with over 20+ years of professional consulting experience in a wide range of development technologies. Have provided project leadership for companies such as NASA, Jabil, Beckman Coulter, L-3 Communications, SimSci-Esscor, Rockwell Collins, Symbios Logic, AT&T, Siemens, Boeing, Fisher-Rosemount and Beckman Instruments. Full life cycle management of projects.
Device Drivers, MFC, RPC, CORBA OOD, OOP
Real Time Data Acquisition Microprocessors
SQL, MySQL, COM Embedded Systems
Distributed Processing Parallel-Processing Win32, MFC, STL, Boost
BIOS, SCSI/ASPI WPF, WCF, WinForms
RS232, RS485, SPI, I2C, ARINC SNMP, Sockets, (S)FTP
SOA, Entity, Unity ADO.net, ASP.net, LINQ
NDIS, MODBUS, VME Bus TCP/IP, UDP, CAN Bus,
QT, QM/QP, Test, Selenium XML, REST, JSON, HTTP
MVC, MVVM, SaaS Encryption/Decryption
Unit Test, Mocking SDLC, Waterfall, Agile
MS Windows NT, XP, 7, 8, 10 Linux (Ubuntu, Centos...)
QNX, OS/9, VxWorks Embedded RTOS (several)
FreeScale, TI, ARM, x86, x64, 8031/51 Fault Tolerance
DSP, SoC, Microcontrollers, MSP430 Oscilloscopes
DM3730/AM3703, Cortex-M4F, Cortex-M7..
Visual Studio (all versions), NET, NetBeans, Eclipse, CodeComposer, CodeWarrior, Keil, Momentics
TFS, Subversion, VSS, CVS, Synergy, GIT, ClearCase, AccuRev
DO-178B/C, IEC 62304, Virtual Machines (VM), Lab View, MatLab, Team Lead, Protocol Buffers, OOD Patterns, Enterprise Architect (EA)
Summary of Qualifications
Premier Image Corp – Las Vegas, NV
Software Engineer - 11/2019 – present
Redesign of exiting inventory, purchase order, sales and other business enterprise software using VS2019, DevExpress 19.4, C#8 and MS SQL Database (stored procedures, tables, etc.)
Design of new desktop and web-based applications to meet the business needs. Providing of technical solutions and design criteria.
Unit testing, Team Foundation, Azure services (cloud) for bug reporting, source control and team collaboration.
Highlights: C#, SDLC, SQL Database, WinForms, Entity, Azure Services, Team Foundation, VS2019
Kestra Medical – Kirkland, WA
Software Engineer - 07/2019 – 11/2019
New Class C (3) medical device development. Leading a team in the design and architecture of SOUP Items integration into system structure for release.
Requirement to have full knowledge of software life cycle development. Development and integration requirements on SoCs and Linux based system.
C++ language development using Eclipse IDE. Bootloader development on SoC and Linux for mitigation of risks.
Requirement generation and full SOUP (Software of Unknown Providence) FDA required documentation.
Highlights: C++, Linux, SDLC, Software of Unknown Provenance, SoC, Bootloaders
Merz Pharmaceuticals – Mesa, AZ
Software Engineer - 01/2019 – 05/2019
Execute and help draft software development plans for medical devices.
Develop and assist in creating, updating risk analysis
Code writing in C++ (required,) C#, python, scripting and related languages in support of project objects, assist with expert advice and guidance to more junior members of the team.
Message handling of image processing and patient data.
SQL database updates and transaction related to patient experience and process.
Highlights: C++, Windows, USB, SQL (Transactions and storage), Requirements, Security
Jacobs Engineering – Kennedy Space Center, FL
Software Engineer - 01/2018 – 01/2019
Common Services Software Engineer position contributes to the development of a large-scale Command & Control system needed for processing the SLS/Orion spacecraft as well as interfacing with the avionics stack onboard the launch/crew vehicles themselves.
Provided a universal interface on the Command and Control network that allows the various frameworks to interact with one another.
Provided common API for various services used by other software systems that process, monitor, and command the vehicles through assembly, testing, and launch. Linux based system development.
Simulation development and modeling of launch control system.
Highlights: C++, Linux, Networking, JAVA, C++, PLCs, Simulation, Windows, Test, Selenium, Modeling
Thales - Melbourne, FL
Software Engineer - 04/2016 – 10/2017
Designed, implemented and test of real-time connectivity platform interfacing with Thales In-Flight Entertainment systems.
Upgrade existing IFE components to provide integration of Ka-band connectivity to the in-flight system, using distributed VM technologies (KVM and Virtual Box) for versatile scalability, using C++ with Eclipse IDE.
Development of connectivity side web servers used in inter-process communications.
Jabil - St. Petersburg, FL
Software Engineer - 07/2015 – 6/2016
Designed, developed and testing of real-time QP event driven embedded application (S0C) using C and C++.
Object Oriented Design (OOD), using UML sequence diagrams and state charts.
Hemodialysis medical device developed around a structured process with Safety Critical implications.
Low level application with command and control of relays, valves, pumps, measurement (A/D, D/A, GPIO).
I provided support and development of all application level implementation at the chip level.
Development and implementation of Safety Critical requirements.
Development cycle followed IEC 62304 standards. Linux based system platform.
Highlights: Linux, Embedded, QP/QM, QT, C++, Protocol Buffers, IEC 62304, Windows
TradeStation - Plantation, FL
Software Engineer - 11/2014 – 07/2015
Design, implementation and test of automated test suite used in validation of order execution components of the online trading application.
C++ and C#, object-oriented implementation developed to provide dynamic test coverage of all trading messages issued to backend connection. XML entry of testing criteria, generating run-time message creation, transport and validation of expected results.
Facts Engineering - New Port Richey, FL
Software Engineer - 05/2013 – 3/2015
Lead in multi-development projects supporting company's primary production of PLC related products. Architect and developer for PC based applications providing connection (cloud), configuration, monitoring (real-time) and control using several languages developed through Visual Studio (2005/2010/2012).
Lead in multi-development projects supporting company's primary production of PLC related products. Provided development for embedded (SoC) projects to support PLC product release. SPI, DMA, high speed algorithms (pcm), GPIO, A/D, D/A, and message exchanges to increase communication speeds between slot mounted modules.
Architect the full change of very high-speed system (Servo motors) to provide needed bandwidth necessary to complete duty cycle (50 micros) without missing or errors.
Developed message requirements using by SPI ports and multi-processor communications.
Highlights: Linux, Microprocessor, DSP, SPI, C#, WPF, Win32, C++, C, Embedded, UI, .NET, Windows, ARM, TI
BIT Source - Irvine, CA
Software Engineer - Contract 09/2012 – 3/2013 (Second position during Facts Engineering)
Lead Architect, development and test of various components for medical device per customer specifications.
Lead in C# .Net design and development of device interface and API to external hospital connection implementing full requirements of the HL7 protocol. Provided application support for a run-time analytical system sample collection used in analysis of patients.
Windows 2013 based product using ADO.net Entity, C#, WCF and MVC design pattern.
Implemented and designed software using FDA, IEC 62304 development standards on Linux and Windows development platforms.
Highlights: Linux, HL7 Protocol, WCF, ADO.NET, Entity, C#, Interfaces, WCF, WPF, MVC, NET, IEC 62304, Windows, SQL Transactions
Beckman Coulter - Brea, CA
Software Engineer - Contract 05/2012 – 5/2013
Provided research, development and testing of various components for Beckman Coulter’s new lab automation system Toccata. Lead in C# .Net design and development of a tool used to take abstract visualization of a physical lab creating quantitative data used by various components of the system.
Distributed Windows based platform which includes UI (through WPF, MVVM design patterns), Interfaces and business processing requirements.
Provided support in microprocessor-based systems for CAN Bus message exchanges between intelligent connections.
Highlights: WCF, ADO.NET, Entity, C#, Interfaces, HL7 Protocol, WCF, WPF, . NET, SaaS, Windows, CAN Bus, Selenium
L3-Communications - Anaheim, CA
Software Engineer - Contract 03/2009 – 01/2012
Lead for midsize team (10+) in the full development cycle for network (UDP) distributed control power system providing power distribution and usage to end targets as defined by customer (Need to know information - military).
Provided embedded development, implementation and test using VxWorks based RTOS on FreeScale processor environment.
Driver development of RS-484 serial connection to MODBUS protocol connected devices (distributed embedded power modules).
High speed algorithms, ADC, DAC and GPIO implementation to provide power signature field as required per shipboard conditions.
Redundant power supply systems connected via ethernet distributed and engaged on demand during Aircraft Carrier shipboard conditions distributing power to aircraft (startup) as needed. Full design, implementation and test of all stated functionality.
Designed and implemented a high speed RTOS for FreeScale power processor used in power distribution network. Designed application around the RTOS.
Highlights: ARM, FreeScale, TI, DSP, SPI, MODBUS, VxWorks, Embedded, C++, C, NET, C#, WCF, WinForms, GUI, SOA, Lead, Windows
SpaceX - Hawthorne, CA
Software Engineer - Contract 10/2012 – 12/2012 (second job working at L3-Communications)
A short-term contract developing proof of concept for a propulsion. simulation Primarily responsible for the design, development and testing of a QT application rendering 3D contour mesh simulation of the SpaceX propulsion system hosted on a Windows platform connected to parallel Linux based data engines.
Developed Ethernet connection using Winsock resident on Linux systems used in communication with simulation hosting windows platform.
Very high-speed network and data gathering using CUDA invoking GPU side processing.
Highlights: C++, CUDA, Linux, NET, C.#, WCF, WPF, MVVM, QT, VTK, VisIt, POSIX, Windows
SimSci-Esscor - Lake Forest, CA
Software Engineer - Contract 08/2008 – 03/2011
Design and development of Java base UI component based on Linux platforms used in conjunction with configuration, runtime data and various application requirements used by the simulation for a network distributed system.
Design and implementation of process control simulation program designed to run large scale automation of plant operations. Large scale implementation of C++, C, C# and Java based programs on distributed Windows platform.
Development of utilities using .NET – C# 3.5 for the purpose of parsing and creation of ordered data (XML) from flat files to standardized real-time processing environment.
Highlights: Linux, Shell Scripts, C++, C, .NET, Unit Tests, JAVA, UI, Swing, Spring, Windows, Modeling, Simulation
Bally Technologies, Inc. – Las Vegas, NV
Software Engineer - Contract 07/2006 – 01/2008
Complete development of a SoC system using QNX operating system for the purpose of controlling gaming machine state information, status, play information and act as an exchange junction between multiple gaming devices and the backend data warehouse. Provided all design, development, implementation and test including a socket library for Ethernet connection, serial driver and multiple hardware level discrete control and monitoring functions.
Applications provided interface between the game (Linux based platform) and a centralized system, providing message handling for a statewide progressive jackpot network. Complete rewrite of network interfaces (TCP/IP/UDP) and API’s to kernel level functions. Implementation of SNMP framework within device to provide system support in monitoring health of device and overall system.
Design and development of middleware software using .NET C # 2.0 providing support for TCP/UDP network messages of gaming controller data updating of central database through SQL stored procedures.
Provided technical expertise in providing Bally software development for gaming connections to proprietary LAN connections and interacting with WAN gaming across the state of Nevada. MSMQ message implemented for transaction-based messages received from front end gaming machines in transport to backend data warehouse.
Highlights: DSP, SPI, C, QNX, Sockets, QNX Momentics IDE, Embedded, C#, .NET, SNMP, TCP/IP, UDP, HTTP, SQL, MSMQ, Windows
Rockwell Collins – Pomona/Tustin, CA / Innovative Media Solutions – Brea, CA
Software Engineer - Contract 5/1998 – 11/2006
Lead for software group assigned to In-Flight-Entertainment (IFE) system (75+ people) developed by Rockwell Collins. Various platforms of development from Linux (content media server), Windows (server), Embedded VxWorks (seat) and Controller (embedded).
Sequel Server (SQL) development for database repository of system level information collected during IFE execution.
Lead in the investigation, documentation and implementation of a narrow body IFE system (smaller version of wide body) using embedded NT, COM and ATL for application interface and design.
Design and development of Core Network Applications System (CNAS) providing airlines with a platform to host software applications for both airborne and ground components. Development environment uses JAVA running under both Linux Window based platforms. Includes full cycle development unit test using JUnit for functional test validation. Primary duties included a range of development tasks, ranging from full SNMP infrastructure (Manager and Agent), UI interface implementation and framework configuration (XML). Shell scripting for various system functions as necessary.
Java applet-based UI use in monitoring, configuration and data extraction locally.
Lead for team providing full cycle development on a Digital Media loader, a device primarily used with the delivery of content to an aircraft (IFE) for viewing and use by passengers. Primary tasks included design and implementation of API interfaces to IFE system, decryption and encryption of data from/to loader using PKCS11 library, UI interfaces used to load and store information and data from the loader to an IFE system and implementation of WEB pages to provide external viewing of status and information at the device. Implementation HTTP API’s required to interface to external device where digital media is stored.
Creation and use of PHP developed Web pages for data acquisition through external site.
Provided technical support for Rockwell Collins IFE (In-Flight-Entertainment) systems. Lead of design, development and integration of extended functionality to existing system. Primary focus on development of digital content delivery functionality to existing analog based architecture. Instrumental in providing knowledge and leadership in the extension of system capabilities relating to throughput, IFE features and overall implementation of requirements for all software. Worked on all aspects of the multi-platform system from server level (Windows O/S) to embedded systems (VxWorks – in-seat platform) using various communication pathways (ARCNET, Ethernet, Serial (RS-485/432) and message protocols. Extensive involvement in design, implementation and validation of test procedures. Provided support to the content loading of digital data through content loader, inclusive of encryption/decryption of digital media.
Design and development of data loader (digital content) for IFE based system. .NET 1.1 and C# development platform.
PHP development of Web page information related to system maintenance and various data configuration parameters and information.
Highlights: C++, C, C#, .NET, SQL, DBLIB, ADO, OLEDB, COM, Embedded NT, ATL, MFC, STL, RPC, Visual Basic, Windows, Network Protocols, OOD, Win32, Embedded, Device Drivers, VxWorks9, DOORS, ARINC 429, JAVA, XML, SNMP, CORBA, Linux, Swing, HTTP, PHP, HTML, MPEG, Linux, Lead, DO-178B
Fujitsu-JCL – La Jolla, CA
Software Engineer – Contract 01/1996 - 01/1998
Lead of 5-person team in the designed and developed SCSI device driver for use with their new image processing product, provided in their next generation Automated Teller Machine (ATM).
Designed and developed applications providing support for the image processing product, along with development of programs to support ATM standards 912 and NDC software emulation specifications.
Designed and developed an interface to an ATM weatherized DIP reader used in support of reading ATM cards.
Highlights: SCSI, Device Drivers, C, ASM, C++, WINDOWS, WIN32
Symbios Logic – Colorado Springs, Colorado
Software Engineer - Contract 1994 - 1995
Designed and developed SCSI/PCMCIA device drivers for in house chip sets for OS/2, Solaris, Windows 95, and NT 3.1.
Designed and developed PCI/SCSI device driver for in house chip sets.
Designed and developed low level SCSI script interface used by Solaris, NT, Windows 95, DOS and OS/2 device drivers.
Worked closely with SCSI inventor provide driver and SCSI board micro-code development to support all Windows O/S from Win98 to present.
Highlights: SCSI/PCMCIA, Device Drivers, SOLARIS, Windows, Lead
Beckman/Beckman Industrial/Fisher-Rosemount - Fullerton, CA
Software Engineer - Contract 1981 - 1994
Designed and developed several major components of Fisher Rosemount/Beckman Instruments products. Development was provided in five basic areas, VAX Host, PC Host, Micro based Digital Control System (DCS), embedded Micro based controllers, POSIX systems and networking.
Designed, development and implementation of process control system used for large plant management. Microprocessor based parallel-processing system (10CPU’s) with local area networking to VAX host and PC based systems.
Network and Serial device driver development under Windows 3.1, DOS, OS/2. PC based network driver written to the newly developed NDIS document.
Designed and development of distributed data acquisition controllers for analog and digital signal processing based on several microprocessors; Intel/Motorola.
Primary tasks were to design and develop several major components of Beckman/Beckman Instruments/ Fisher Rosemount Distributed Control System (DCS) product line. Worked alongside hardware engineers to design and develop, from the ground floor, ADC, DAC, Single Loop Controllers, Graphic Engines, parallel board computing, true hardware redundancy, high speed serial communications, Ethernet (some of the first used in PCs) and more. This included bread board (scratch build of board and software. Software written in Assembly and C languages. Hard real-time data acquisition and control. I personally developed and implemented a bare metal proprietary operating system which provided for multi-tasking, resource management (semaphore), round robin and priority scheduling and wait listing. A/D read and filtering of data, Digital to Analog (DAC) control for output to actuators, motors, etc.
Highlights: Embedded, Real-Time, Parallel Processing, GUI, Device Drivers, Linux, Ethernet Device Drivers, Windows, Analog/Digital I/O