Post Job Free
Sign in

Engineer Software

Location:
Cleveland, OH
Posted:
June 08, 2018

Contact this candidate

Resume:

SENIOR SOFTWARE ENGINEER

SUMMARY

PC and Embedded Software Development Windows Kernel Mode Drivers Product Testing

Innovative and passionate software development leader brings embedded, real-time expertise architecting mobile, hand-held and Windows-based applications. Supportive and motivating mentor builds productive development teams that employ object-oriented design concepts throughout the development lifecycle. Accountable team player facilitates architecture decisions, collaborates with development teams and delivers on-time solutions that solve business problems and improve end user experiences.

C, C++, C# and .NET Languages Object Oriented Design and Development: UML and Design Patterns

UEFI and WinDbg Test Plan Design User Interface Design Software/Hardware Interfaces TCP/IP Sockets

Requirements Analysis Code Review Detailed Documentation Agile and Waterfall Methodologies

PROFESSIONAL EXPERIENCE

Rockwell Automation, Mayfield Heights, Ohio

Embeded Firmware Engineer, Senior (08/2015 – Present)

Designed, coded, and tested a diagnostic scheduler template class for Rockwell Automation’s Analog I/O product line real-time diagnostics. The scheduler was implemented on a bare metal ARM and Blackfin DSP MCU based systems. The scheduler was written in C++ and integrated successfully with current existing ARM diagnostics.

Designed, coded, and tested real-time diagnostics for the Blackfin DSP MCUs. The diagnostic tests included:

An instruction RAM diagnostic implemented by reading instruction RAM data via DMA. Due to the Harvard Architecture MCU, instruction RAM data was not directly addressable. The insturciton RAM diagnostic was written in C++.

An instruction set diagnostic written in assembly language.

RAM diagnostics written in assembly language.

Register diagnostics written in assembly language.

Watchdog timer diagnostics

Designed, coded and tested Python scripts to do fault insertion testing for the real-time diagnostics. The scripts modified source files in order to guarantee code coverage for testing error paths that are taken when a test failure occurs. The scripts automatically checked out source files from source control (ClearCase), modified the files, created a product build for testing, and then unchecked out the source files.

Designed, coded and test a low pass filter set of class for filtering analog to digital converted data. The classes are implemented on a variety of functional MCUs. The filter classes can be instantiated using floating point or fixed point numeric formats. The classes provided the flexibility to instantiate objects for a range of corner frequencies and sampling periods. Also implemented an accurate and fast algorithm for implementing the Tustin approximation for Z in fixed point calculations.

Designed, coded, and tested a watchdog timer interface for an ARM MCU based system.

Designed, coded and tested a driver for the Analog Devices AD7124 Analog to Digital Converter.

Designed, coded and tested various diagnostics for Rockwell Automation’s Analog I/O Functional Safety Product Line

Wrote detailed documents for the code I implemented and actively used version control (ClearCase).

Agile development process was extensively used for project management and project tracking.

Microsoft (via iSoftStone), Bellevue, Washington

Senior Software Engineer, MS Auto (10/2013 – 7/2015)

Sucessfully resolved defects with the Microsoft’s real-time operating system, Windows CE, kernel mode Bluetooth stack that is implemented on Microsoft’s Auto Infotainment Product Software. Acknowledged as the leader among the project software development engineers in reliabily diagnosing and resolving defects including fixing kernel mode software written in C and C++.

Tackled learning new processes and technology in an expedited manner. Included with these are Microsoft’s development processes, Microsoft development tools, Microsoft project maintenance tools, Bluetooth design and functionality, as well as Windows CE design and functionality.

Developed a command line application to filter debug spew messages in C++. The purpose was to examine messages pertaining only to Bluetooth stack issues. Developed automated unit tests for the application.

Prepared Code Reviews for my fixes to C/C++ source code, ported bug fixes for one product build to other product builds periodically, and helped in diagnosing product build issues.

Intel Corporation (via Randstad Technologies), Bellevue, Washington

Software Engineer, Platform Software and Solutions (4/2012 – 10/2013)

Diagnose and fix issues with Windows kernel mode drivers and OS interfaces using C, Python and C#

Built tests and tested functionality of ePAC tablet’s kernel driver validation feature

Tested the stability of the BayTrail system-on-chip (SoC) with Windows 8.1

Ran tests and reported results to obtain Microsoft certification of kernel mode driver operation for Wi-Fi, audio, graphics, I2C bus, camera and GPIO

Supported CloverTrail chip team to triage Windows Quality Online Services (Winqual) outstanding issues related to the Unified Extensible Firmware Interface (UEFI)

Developed a tool for the CloverTrail project that validated driver drops to Microsoft, modified Python scripts to fix initial defects and migrated scripts to C#; tool verified PDB files, checked for duplicate driver files and used common language runtime (CLR) to run BinScope binary analyzer and SymChk

TransCore LP, Albuquerque, New Mexico

Senior Software Engineer, Amtech Technology Center (2/2001 – 1/2012)

Served as Windows software development expert; created user and software interfaces to E5/E6 RFID toll tag readers with C and C++ within a VxWorks environment for a toll-collection system design firm

Developed tag reader user interface with Win32, enabling real-time collection of vehicle information by hardware engineers, testers, factory production teams, field service staff and customers; readers interfaced with host systems via TCP, UDP (sockets via Winsock) and RS-232 connections.

Designed firmware enhancements to tag reader systems with embedded, real-time requirements

Completed object-oriented design and development of an engineering host system to test the transportation tag product line

Supported legacy software that interfaced to tag reader hardware with a PCI bus interface; maintained tag reader’s Windows driver

Wrote an interface that used SQL queries to extract data from a Visual Basic database and connected to engineering host software

Managed and trained a junior software development engineer

Recognized at plant-wide meeting for implementing a fix for errors in toll tags issued to the Florida Department of Transportation and facilitating millions in sales revenue

ITQ Lata, LLC, Albuquerque, New Mexico

Software Engineer and Consultant (5/2000 – 2//2001)

Provided assembly language development of a Samsung 8475 8-bit microcontroller-based embedded application, a base unit for landline and cell phone docking that integrated cell phone operations for mobile phone manufacturers

Developed system’s control program, interrupt service routines and a bit banger; bit banger used timer event controllers to implement 4,800-baud RS-232 communications via I/O ports

Wrote control software for UART chip to communicate with the cell phone; software to service interrupts, manages on-chip resources, and provides timing and control

Designed and developed real-time embedded firmware to communicate with remote wireless-based systems, including email, data acquisition and credit card information processing programs

FlightSafety International Inc. (via ATSIM), Broken Arrow, Oklahoma

Software Development Engineer, Cockpit Simulations (6/1998 – 4/2000)

Designed and developed Honeywell’s Flight Management System software with Ada within VxWorks

Completed object-oriented design and development of a real-time aircraft simulation component for a military training system, including a rate monotonic scheduler, record and playback capabilities

Contributed to board support configuration for the VxWorks kernel and utilized Tornado tools, such as WindView, target server, and RTI StethoScope

Reviewed designs and evaluated systems issues, including real-time operating system feasibility; utilized UML including use cases

Honeywell Defense Avionics Facility (via TAD Resources and Manpower), Albuquerque, New Mexico

Software Development Engineer, Defense Avionics (10/1995 – 6/1998)

Employed object-oriented design to develop a mission-planning ground station using Windows, Win32, Object Windows Libraries (OWL) and C++ while mentoring software engineering team

Designed ballistic database for cargo plane parachute deployments with real-time navigational task functionality, in-flight performance watching and control capabilities, and drivers for 1553 devices

Resurrected languishing software development project, garnering $750,000 in contracted payments

Designed and developed portions of the Flight Management System software utilizing Ada

Redesigned a DOS application with Windows technology; coded and tested application, then served as software team consultant on design, coding, testing and functional issues

EDUCATION

Bachelor of Science, Computer Engineering – Case-Western Reserve University, Cleveland, Ohio

TECHNOLOGY

Programming Languages: C, C++, C#, Assembly Language, Ada and Python

Microcontrollers: ARM MCUs, Blackfin DSPs, Motorola 6903 and NEC 7503 Microprocessors: Intel 80386 series

Embedded Development Tools: In-circuit emulators, logic analyzers and oscilloscopes

Software Development Tools: Embarcadero C++ Builder, Visual Studio, G++, IAR, RealView, Analog Devices, GDB, Git, ClearCase and Visual Source Save, WinDbg and Object Teams

System on Chips (SoC): Intel Clover Trail and Bay Trail

Operating Systems: Windows, VxWorks, pSOS, OS-9, ThreadX, Linux and UNIX BIOS: UEFI and ACPI



Contact this candidate