RF&ESS Engineering Manager @ NASA Armstrong Flight Research Center (with Arcata Associates)
Software Quality Assurance and System Safety @
Senior Systems Engineer III @ NASA Armstrong Flight Research Center (with Arcata Associates)
I am a software engineer specializing in developing software and firmware for electronic devices such as cell phones, blood pressure cuffs, sensors, device drivers for computer operating system kernels, and military, medical and commercial products. These electronic devices are designed to work with desktop computers running Linux, Windows, or MacOSX. My varied background enables me to be
I am a software engineer specializing in developing software and firmware for electronic devices such as cell phones, blood pressure cuffs, sensors, device drivers for computer operating system kernels, and military, medical and commercial products. These electronic devices are designed to work with desktop computers running Linux, Windows, or MacOSX. My varied background enables me to be a quick study in diverse fields such as commercial aviation, defense systems, health care, commercial product development, and the Software Development Life Cycle (SDLC). My experience in reverse engineering, problem solving, and improvement of software through techniques such as dead-code identification and elimination, interrupt and timing analysis, and schematic-level analysis of input/output functions provides a cost savings in development.
Software Engineer @ Provided staff support for embedded systems, flight testing, and support software for the Long Endurance Air Platform (LEAP) program for the Air Force Research Lab. Reverse engineered .NET software used to track aircraft from the ground using Line-of-Sight data from an autopilot. Software required improvements in graphics, antenna motion in azimuth and elevation, conversion of coordinate systems, and changes in configuration data staging and implementation. Integrated a third-party software map-overlay package. Also started a project to improve the configuration and ATP of PIC processor boards, using CAN-bus communication and control. Understand for C/C++, Reverse Engineering, H/W & S/W integration, TCP/IP, RS485, Phytec/PEAK CAN bus, Atlassian BitBucket/Git, Microsoft Visual Studio 2008, Nokia Qt 4.8, Piccolo Command Center. From June 2015 to September 2015 (4 months) Irvine, CASoftware and Firmware Testing @ Testing and FAA Verification for Gulfstream VII cursor controls. Microchip PIC32 processor and IAR Workbench, DOORS. Traced requirements from customer documents through system requirements, software requirements, and design requirements. Prepared reviews on these documents, and will be executing test procedures for customer review in February.
Testing software controlling the Collective lever for the Sikorsky S-97 Helicopter. I was added to the project to advance the delivery deadline, by doing software reviews and conducting unit tests and Verification tests for FAA-based requirements. I created templates which had not been available, to use as a framework to preform requirements based Testing (RBT). Microchip PIC32 processor and IAR Workbench
Microchip XC16, MPLAB IDE, Star Team, Understand for C/C++, hardware/software integration. From October 2014 to April 2015 (7 months) Sylmar, CAInventor of Ergonomic Music Instrument Performance Devices @ Manufacture and sales of the LegHook, a device to balance a bassoon, and reduce neck and shoulder pain and fatigue. Also invented devices for oboes and contrabassoons, instrument stands, tuner and reed cup holders, and the Low A Tube, which extends the low range of the bassoon. Sales are in the thousands. From October 1996 to 2015 (19 years) Greater Los Angeles AreaSenior Software Developer @ Took over firmware development for motion and calorie measuring devices, including long-term history of measurements. Saved time and money by correcting memory diagnostics for new hardware, and correcting errors in the USB serial communication between the device and a desktop computer used for device configuration.
On a second project, saved money by taking responsibility for device driver software and adapting the code for Windows, Mac, and Linux operating systems, eliminating the cost for drivers for proprietary devices. I used the standard USB/HID/etc. interfaces to communicate with the devices.
Saved money for Stayhealthy by developing drivers for Linux, in order to port kiosk software from a Windows based web environment product to LAMP implementation--this saved money that would be spent on Windows licenses, and licenses for devices on the kiosk. Development also involved SSL and certificate work.
Took responsibility for a MS-SQL – Postgres data migration for the new LAMP implementation, including migration of 132,000+ active users to the new Postgres database..
Windows, Debian and Ubuntu Linux, MacOSX, Mavericks, Reverse Engineering, Conversion, Microprocessors, SDLC, Agile, JIRA, Git, Subversion, Microprocessors, MS-SQL, Postgres, PHP, HTML, ORM, USB protocols, VMWare From October 2013 to August 2014 (11 months) Monrovia, CATechnical Director/Co-Owner @ Glass Crematory Memorials for pets and people
Process Control and Monitoring
Material Preparation From January 2013 to 2014 (1 year) Lake View Terrace, CASoftware Test Engineer @ Savings for Boston Scientific included improvement of an existing PHP testing scripts system for verification of the Spectra Spinal Cord Stimulation implant. The savings especially were for the development of similar future products under FDA standards, without developing a set for each device. The device electrically modulates the spinal cord area, or deep brain areas to relieve pain.
Windows, Reverse Engineering, Conversion, Microprocessors, SDLC, Agile, TFS, Code Collaborator, Test Equipment From April 2013 to October 2013 (7 months) Valencia, CASoftware Engineer @ H2 Scan had a client using one of their senors in utility power transformers, and the oil in the transformers affected the response of the sensor to hydrogen levels. The device eventually reported the correct level, but it was slow in reaching the correct level. Researched and implemented an algorithm that accumulated intelligence about the sensor response time, and corrected the reading for output.
Windows, ARM7, Keil RTOS and development tools, gnu c++, Visual Studio, Excel, Serial and Modbus protocols used for data acquisition by customers. From July 2012 to February 2013 (8 months) Valencia, CASoftware Engineer @ Velocity project to replace aging system for Hirsch security/access in use at facilities such as the Sacramento Airport, the Getty Center, and the NSA. It is a distributed computer system involving microprocessors communicating with several protocol options using encrypted messages.
Saved money and development cost by uncovering and fixing communication problems between the ARM9 central distribution processor and many ARM7 processors monitoring and controlling biometric sensors, doors, keypads.
Also corrected errors in outsourced code to control doors, sense door and alarm points, generally verify code operation. From July 2011 to May 2012 (11 months) Tustin, CAExpert Witness @ Provided analysis and prepared for testimony regarding the CMI Intoxilyzer 5000 alcohol breath testing device. Analyzed code only from a heavily redacted static assembly language listing.
Intel Z-80 processor and assembly language From January 2009 to May 2012 (3 years 5 months) Greater Minneapolis-St. Paul AreaSoftware Engineer @ Sun tracking controller for solar power generation. A very large (77' x 55') panel of solar cells mounted on a large pedestal, tracking, moving and pointing on a direct line with the sun to achieve maximum efficiency. Saved huge reconstruction costs by reading the wind speed and time of day, and stowing the panel to a safe position. The firmware also had an error in stowing the panel overnight in the wrong position, costing energy to move the panel from the sunset position to the sunrise position.
Also improved the firmware's performance and logic to monitor weather and power for safety during high winds, storms, over voltage conditions, and problems with the hydraulic systems used to move the panel.
Freescale DSP and MSP; Visual Studio, Visual Basic, Excel From May 2011 to June 2011 (2 months) Seal Beach, CASoftware Developer @ Designed and developed software in C running in MS-DOS to input and output data to a color touchscreen, control an ultrasound probe, cauterizing device, vacuum pump and foot pedal to allow ultrasound surgery to remove the lens of the eye for cataract treatment.
Design included managing presets for a limited number of surgeons and procedures. From August 2000 to March 2011 (10 years 8 months) Irvine, CASoftware Engineer @ Projects: a stealth anti-mine system for an advanced naval missile destroyer; an upgrade project to a power system used on US Navy submarines; a power system for aircraft carrier based fighter jets used during repair and maintenance; Designed and implemented a transaction-based multi-threaded software package using custom TCP and UDP sockets, RS232 and RS485 serial custom Modbus protocols, and Windows .NET framework, also merging managed and unmanaged code systems. From April 2008 to October 2010 (2 years 7 months) Anaheim, CAExpert Witness @ Produced report and testified (4 full days) on software quality in State vs. Chun, a New Jersey State Supreme Court hearing on the software quality of the Drager Safety Diagnostic’s Alcotest 7110 Mk III breath alcohol testing machine. Analyzed/reverse engineered ninety-five source modules in C and 68HC11 assembly language; over 45,000 lines of code. Rebuilt object code from candidate source code, and through analysis tools such as lint and Understand for C++, found 19,465 minor defects in the source, and nine serious proven errors, and described another eleven potential errors. Report is attached here. From April 2007 to December 2007 (9 months) Milford, NJSystem Architect and Manufacturer @ Cradle to Grave design, development, manufacturing, and field support for a device that monitors up to 112 laundry machines, and interfaces with a resident by telephone or internet site.
Residents can call a telephone number assigned to an apartment or dormitory room, and recorded voice phrases provide laundry machine availability. Residents can be called back when machines become available, or when the laundry finishes.
Newer LaundriMate versions provide the same information on a web page, and interfacing with the system is done by emails.
The internet version involved designing a server and a protocol to identify laundry room location, using TCP/IP sockets.
No unit manufactured by me has failed in the field after installation.
Units installed in 1996 are still functioning and active. From July 1995 to December 2007 (12 years 6 months) Lake View Terrace, CASoftware Engineer @ USMC Signal Intelligence Common Sensor Module (SCSM) Reverse engineered the message format, protocols, and operation of the SCSM system. Designed and implemented a (hostile) method of inserting messages into the SCSM system.
USMC SS-2 Surveillance System A Windows PC-104 system in a very portable chassis, interfaced, recorded, and controlled broadband receivers to collect intelligence behind enemy lines. I was the integration manager for the assembled systems, and I merged many software packages into the onboard storage and OS. Solved major problem with EMI generated by the devices.
USMC Tactical Terminals/TERPES Took over responsibility of a C++/Java based program to receive, decode, and distribute tactical data to an undefined number of military users. The terminals received the classified data from satellites.
Before I left, I was migrating this program from C++ to Java, but there was not time to finish the migration. From April 1998 to June 2007 (9 years 3 months) Woodland Hills, CA, Pt. Mugu Naval Air Station, CA, and Woodbridge, VAPrincipal Engineer/Program Manager @ Developed a telephony system to record voice and DTMF data to add viewer membership to a loyalty/rewards/membership card for the TV Station. Processed over 300,000 calls in a two year period. Added to database that verified viewership to advertisers.
Designed and developed "prize machines" for remote events to randomly pick prizes from a list and distribute them evenly over an event. From April 1996 to February 2003 (6 years 11 months) Oak Park, CA and Hollywood, CASoftware Developer @ Designed, coded and implemented a telephony and database system to search, assign, and connect freelance interpreters and clients. The system automatically timed the call and produced records to bill the client and pay the freelance interpreters. Written in C and MS Access. From February 1998 to August 1998 (7 months) Glendale, CAFirmware Engineer @ Wrote Z-80 code for access control/attendance system, also code to interface with early versions of Windows. Product supported 30,000 employees, remote access, printing, and multiple Z-80 nodes controlled by Windows desktop. From May 1997 to October 1997 (6 months) Simi Valley, CASoftware Engineer @ Wrote a graphics language optimization program for x/y plotting tables.
Wrote a printer spooler program for interfacing the plotters with desktops. From March 1997 to April 1997 (2 months) Simi Valley, CASoftware Engineer @ Military Aircraft:
US Navy F-14 Cockpit monitoring software
US Air Force C-17 Dislay
US Navy CH-46 helicopter Health and Usage Monitoring System (HUMS)
737, 757, 767 Programmable Digital Flight Data Acquisition Unit (DFDAU)
Scandinavian Airlines FLITEST data processing system From February 1990 to December 1996 (6 years 11 months) West Los Angeles, CA; Copenhagen, DenmarkFirmware Developer @ COMCO produces tools for micro-sandblasting. Implemented robotic encoder processing for Lexmark print-head drilling, and de-burring operations for Sandvik and Caterpillar.
Provided field support and troubleshooting of early release software on assembly line at Caterpillar. From 1996 to 1996 (less than a year) Burbank, CA and Rockford, ILSoftware Engineer @ Implemented voice recognition functions in several toys and commercial products including PhoneMate and VoiceBot From 1994 to 1996 (2 years) Lake View Terrace, CA and Monterey, CASoftware Engineer @ Programmed voice recognition algorithms in 8-bit Assembler.
Wrote modeling software for UI interface in C.
Products included Voice Reminder and Voice Controlled VCR remote control. From June 1991 to August 1993 (2 years 3 months) Canoga Park, CASoftware Engineer @ Troubleshooting loss of NBC programming due to errors in orbital prediction and monitoring software. Problem was traced to ignoring the addition of a leap-second value from 1988. FORTRAN programming. From November 1989 to January 1990 (3 months) Santa Monica, CACognizant Design Engineer (Software) @ Designed, programmed and tested the tracking station Complex Monitoring Controller, and Link Monitor Controller computer systems that send commands and predicted navigation data to deep space probes such as Voyager and Galileo. This was part of the Mark IV upgrade project.
Team member for the Telemetry subsystem upgrade for the above project.
Cognizant Design Engineer for the Radio Science subsystem upgrade, including new features used at the Voyager 2 encounters at Uranus and Neptune. Recorded 5 hours of continuous data (no loss) for occultation experiments at each encounter. From September 1981 to November 1989 (8 years 3 months) Pasadena, CA; Barstow, CA; Canberra, AustraliaSoftware Engineer; Field Engineer @ Electronic countermeasures programming for AF B-1 bomber prototypes. Flight Testing of system, software, and firmware.
Designed and implemented in-flight mission recording function. From October 1976 to September 1981 (5 years) Deer Park, NY and Edwards AFB, CA
Bachelor of Arts (B.A.), Computer Science @ State University of New York College at Potsdam From 1972 to 1976 John Wisniewski is skilled in: C++, Embedded Software, Software Design, Integration, Program Management, Java, C#, Engineering, Systems Engineering, Software Engineering, Process Improvement, Product Development, Project Management, LAMP, PHP, PostgreSQL, SQL, USB, HID, CDC, USB Serial, Serial Communications, SPI, Code Blocks / MinGW, Xcode, Visual Studio, Borland C++, Code Composer Studio, Reverse Engineering, Software Forensics, C, Software Development, Consulting, Public Speaking, Requirements Analysis, Testing, Embedded Systems, Assembly Language, Databases, Agile Methodologies
Looking for a different
Get an email address for anyone on LinkedIn with the ContactOut Chrome extension