Post Job Free
Sign in

Driver Customer Service

Location:
Sammamish, WA
Posted:
June 30, 2017

Contact this candidate

Resume:

ANDREW SHAJENKO

Principal Software Engineer with over twenty years of experience in system-level product development of embedded software, device drivers and GUI applications for networking, communications and consumer platforms. Project leadership experience consists of planning, architecting, designing, implementation and managing development cycles to delivery of consistently successful, robust high quality products.

Languages

C, C++, Qt/QMP, JavaScript, Visual Basic, SQL

Platforms

Windows, Linux, WinCE, Mac OS X, UNIX, Real-time OS, Bare Metal

Tools

Visual Studio, QtCreator, IAR, Eclipse, MPLAB X, Office, Visio, Project

Frameworks/API

QT/QML, STL, Win32, WinRT, WDM, NDIS, IOKit, COM/DCOM, .NET, DirectX, XML, JSON

Processors

x86/x64, ARM7/9/M0/M3, AVR8/32, PIC18/24/32, MSP430, MIPS32, PowerPC, TI DSP

Interfaces

USB, I2C, SPI, Serial: RS232, I2C., PCIe/PCI, 1394, SCSI,

Protocols

WLAN 802.11, Ethernet, Bluetooth HCI/L2CAP/RFCOMM, TCP/IP, SIP, RTP, ISDN BRI/PRI, Token Ring, PPP, HDLC, T1/E1, T3/E3/HSSI, ATM, NetBIOS, TLI, X.25, SPX/IPX

PROFESSIONAL EXPERIENCE

Independent Consultant 2012 – Present

Design & development of embedded firmware, device driver and GUI app development services

Human, Seattle, WA (2017)

Developed firmware for a wireless wearable product.

Implemented a UART-based debugging interface, debugged I2C master and slave interfaces to peripheral modules, implemented interface to an inertia sensor.

Verathon, Bothell, WA (2015)

Developed GUI and system software for Bladderscan Prime, a medical ultrasound instrument.

Implemented UI screens in QML/JavaScript and internal logic in C++ using the QT/QML C++ framework on a TI ARM/ DaVinci platform running embedded Linux. Implement language translation and user training/help system, Improved reliability by synchronizing file I/O, threads and communication with multiple MCU’s: UART, I2C, SPI. Modified the file system driver to improved stability and performance.

Microchip/Cisco Systems, Chandler, AZ (2014)

Developed EnergyWise client & endpoint interface API.

Specified, designed and implemented EnergyWise interface API library for embedded smart light switches and LED bulbs. The library is designed for bare-metal application running on PIC32/24 platforms. Enables Cisco POE network switches to power and configure the light switches and bulbs via the EnergyWise protocol. Stored persistent data in SPI serial EEPROM. Used MPLAB X/C and IDC3 for development and debug.

Spectrum Controls, Bellevue, WA (2014)

Developed EtherNet/IP protocol driver.

Designed and implemented NDIS 5.1 protocol driver for Rockwell industrial safety controller running Windows CE. The driver implements EtherNet/IP ring topology for out-of-band control, security and dual interfaces for redundancy.

Trulife, Poulsbo, WA (2013)

Developed firmware for robotic prosthetic.

Designed and implemented in OOP C++ an interrupt-driven state-machine, running on bare-metal on ARM Cortex-M3/M4 (Atmel SAM3, SAM4S, Freescale K20). Interfaced to digital and analog sensors, DC motor control and I2C, SPI for control of external peripherals (accelerometer, EEPROM), UART, USB communication channels for external control and data collection. Implemented data smoothening, filtering and analysis for improved stability and safety of limb. Used GNU GCC/G++ and JTAG for development.

Developed Windows, Linux GUI app (QT/C++) for adjusting runtime parameters and plotting sensor data and state transitions.

Impinj, Seattle, WA (2013)

Developed RFID reader API.

Specified, designed and implemented interface API library for communicating with multiple RFID reader modules over RS-232, USB. Implemented on Windows 7, Linux, FreeRTOS and bare-metal on STM ARM Cortex-M0, Atmel ARM7.

Fluke Networks, Everett, WA (2012)

Developed GUI software for a fiber-optic test instrument.

Designed and implemented 2D animation using the QT C++ framework on a Freescale ARM platform running embedded Linux. Animation consisted of real-time data represented as multitude of graphical widgets with flexible connections and smooth transitions.

Synapse, Seattle, WA (2012)

Designed a factory-test framework for gang-testing of handheld power plant devices.

Implemented the framework in C++ and QT, consisting of a serial communications server with GUI front panel display, JSON-defined command/response messages, GPIO device control and virtual-instrument interface to LabView for gathering telemetry data on chemical processes in target device. This allowed simultaneous factory control of 30-50 device, each hot-pluggable into the framework. Hosted framework on Windows and Linux, interfacing with command message, SPI and GPIO handlers, in standalone C++, on STM32-based devices.

AMD, Bellevue, WA 2005 – 2012

Leading developer of x86, x64 processors

Technical Engineering Lead/Manager

Designed and developed software prototypes demonstrating processor hardware assists for virtualization and power management. Led a team of engineers and testers.

Designed kernel-level modules for virtual machines, second-level memory management, IO and interrupt virtualization. Code was incorporated into Microsoft Hyper-V, Virtual PC/Server and Azure Cloud OS.

Designed and developed a driver package, written in C/C++, to prove out AMD’s IOMMU feature in various chipsets along with a software verification suite using QT framework running on Windows 7. Ported the package to Linux 2.6 and Mac OS X 10.6.

Collaborated closely with AMD and Microsoft architects and product managers to define feature requirements, resolve design constraints and development issues which lead to many successful product releases.

Atheros Communications (acquired by Qualcomm), Santa Clara, CA 2004 – 2005

Leading developer of WiFi, Bluetooth chipsets

Senior Software Engineer

Established and managed technical relationship between Atheros and Microsoft teams.

Partnered on numerous joint WLAN, 802.11 projects: core networking, WLAN drivers, factory test firmware, written in C/C++, for Windows CE platforms (x86, ARM9, MIPS), Media Center Extender, reference designs on wireless devices.

Developed of new driver features for Windows, provided first line of technical support.

Flarion Technologies (acquired by Qualcomm), Bedminster, NJ 2002 – 2004

Startup, developer of 4G wireless chipsets and base-station equipment

Technical Software Lead/Manager

Led team of engineers in developing software for 4G broadband wireless devices.

Development of network device drivers for Windows, Linux and Mac OS X, SIP stack and VoIP applications.

Led team to develop the UI, firmware and drivers for 4G VoIP cellphone, start to finish in three months, a big hit at CTIA 2003.

Reviewed requirements with product management and produced project plans, determined schedules, designed middleware and kernel components, drafted test plans.

Instituted OOD methodology and cross-platform frameworks resulting in improved software quality, flexibility and team productivity.

Stratos Technology, Freehold, NJ 1995 – 2002

Contract firm providing device driver and firmware development services

Lead Developer

Full responsibility for full cycle development process of contract projects.

Drafted project proposals: evaluated customer requirements, determined feasibility, cost, schedule and preliminary design.

Managed negotiations, progress reviews and issue resolution with client management, technical and sales staff; participants at multiple geographic locations. Trained client staff on technology used thereby enabling each client company to ramp up quickly in their sector.

Designed and developed majority of the code, using the OOD methodologies and tools, making critical technical decisions in product specification and implementation that would lead to success. Leveraged broad experience in hardware, software and disparate markets to make the products successful technically, in performance and quality, and in the market.

Key Contracted Projects

Widcomm (acquired by Broadcom), Germantown, MD

Leading provider of Bluetooth software stacks

Developed WDM kernel-streaming audio drivers for the Widcomm Bluetooth stack.

The driver was implemented as a C++ class framework and hosted on Windows 98/ME/2000/XP. Implemented an audio switchboard for cross-connecting client applications with audio streaming devices. The driver supports Bluetooth audio headsets, microphones and speakers. Designed a C++ framework for implementing Bluetooth print providers and servers for Windows ME/2000/XP. Developed a C++ driver framework and a streaming audio driver for the Windows CE stack.

Compuware, Campbell, CA

Leading provider of network performance monitoring software

Designed and developed a set of NDIS drivers and embedded software for the Compuware EcoScope/NetworkVantage network analyzer products.

Developed an NDIS miniport driver for the SBS Technologies WANic 654 T1/E1 adapter, implements all embedded code internally and supports dynamic provisioning on each individual channel. Designed a high-performance C++ class framework for the onboard PMC-Sierra FREEDM32 DS1 framer and network interface controllers. Designed the driver to support very large frames and extensively to use the FREEDM32 PCI bus-mastering, scatter-gather DMA capabilities.

Developed an NDIS miniport driver for the SBS Technologies WANic 725 T3/HSSI adapter. Designed the driver to support a sustained, very-high packet throughput and reliability. The driver extensively used the adapter’s PCI bus-mastering, scatter-gather DMA capabilities to achieve the high performance required.

Dialogic, Parsippany, NJ

Leading provider of telecom line-card equipment

Designed and developed telephony and network driver.

Designed and developed an NDIS 4.0 WAN driver for a two BRI port ISDN PCI adapter to run under Windows NT. The driver internally implements a full TAPI 2.0 service provider and handles all Q.931 Layer 3 call processing. Implemented an ISDN configuration application based on ATL and STL. Managed a staff of three engineers and testers to develop and test the package under a tight schedule and budget.

Pivotech Systems, Piscataway, NJ

Startup, provider of last-mile residential network equipment

Developed a set of virtual Ethernet drivers for Windows and Linux, enabling transport of IP packets between TCP/IP stack and GUI router server applications. The router multiplexed the IP packets with PCM voice over a Brooktrout T1 adapter.

Lucent Technologies, Holmdel, NJ

Leading provider of telecom equipment

Developed a bit-synchronous HDLC and T1 framer driver for the Analog Devices SHARC DSP running pSOS. Developed a standalone driver for the AMD QSLAC SLIC controller running on an 8052.

Hughes Network Systems, Germantown, MD

Leading provider of satellite-based networking equipment and services

Designed and developed the NT kernel-mode driver for the HNS DirecPC adapter, which receives multi-cast packet streams from Galaxy IV satellite and relays the packets to numerous client applications. The driver implemented high-performance I/O and memory management schemes to provide maximum throughput.

Merrill Lynch (acquired by Bank of America), Somerset, NJ

Leading financial services firm

Designed and developed Windows kernel-mode driver for the Rockwell CallPower adapter, client interface to Rockwell Galaxy ACD/PBX. Developed the client application, configuration, interface and installation DLLs. The package allowed customer service representatives and brokers to receive and place calls from desktop PC without the need for a PBX phone set. The application includes a touch-pad dialer, contact management, speed dialing, call transfer, conferencing, and email interfaces to Microsoft Exchange.

United Engineering Industries, Watertown, MA

Leading provider of data acquisition equipment

Designed and developed Windows kernel-mode driver and interface middleware for the PowerDAQ PCI high-performance data acquisition adapter. The driver implements a fully multi-threaded model that allowing multiple user-mode applications to have simultaneous access to all of the adapter’s subsystems and individual circuits, designed for maximal throughput on SMP systems, using bus-mastering scatter/gather to achieve sustained high data rates.

EDUCATION

MS in Computer Science, Polytechnic Institute of New York

BS in Physics, University of Connecticut



Contact this candidate