We provide IT Staff Augmentation Services!

Software Engineer Resume

0/5 (Submit Your Rating)

TECHNICAL SKILLS:

Languages: C/C++ (GCC, Microsoft Visual Studio 2008/2010), C#, Embedded Visual C++, Assembly (various)

SDK/Frameworks: MFC (WinCE), .NET 4, gStreamer, DirectShow/DirectX

Tools: Visual Studio 2008/2015, Keil ARM MDK, TI CCS 6, IAR Embedded WorkbenchMPLAB IDE, Team Foundation Server, Subversion, Jira, Confluence, Doxygen

Operating Systems: WinCE 5/6, TI SYS/BIOS, TI RTOS, Embedded Linux, Windows 7, Confidential custom RTOS

Microcontrollers: STM32F407 (ARM Cortex - M4), TI MSP430F28069, TI MSP430F5638, PIC12F519

PROFESSIONAL EXPERIENCE:

Contract Software Engineer

Confidential

Responsibilities:

  • Reverse engineering current product code-base to produce use-case/flow diagrams and algorithm breakdowns that would allow re-implementation of the product on a non-Windows CE platform. Developed a firmware update application that read firmware data from a user-selected firmware update file in C++ and MFC for Windows CE 5/6. Developed ZIP file I/O and basic XML parsing in C++, as the vendor-supplied version of Windows CE did not support ZIP I/O or the minimal XML parsing support normally delivered with Windows CE.

Contract Firmware Engineer

Confidential

Responsibilities:

  • Developed firmware in C for an embedded distributed power control and energy monitoring system.
  • Utilized Keil ARM MDK and microVision IDE. Programmed DMA, ADC, USB, and EEPROM routines. Added error checking, hardware block failure detection, internal error logging, and various internal failure-fallback modes.. Developed a firmware/hardware tester in C#/.NET 4.5 for use by QA. Worked with hardware designer on board bring-up and testing.

Software Engineer

Confidential

Responsibilities:

  • Updated and enhanced TI TMS320F28069 C code to perform vehicle detection via wire loops, designed to interface with the Ameristar-developed main gate operator control board. Sole software engineer, developed a gate operator application for a TI MSP430F5639-based mainboard in C involving driver development, porting TI SYS/BIOS and TI-RTOS to the MCU (not supported by default), implementing mailbox-based IPC, boot diagnostics, motor control via a DRV0301, SPI communication to the DRV chip, an Ethernet MAC/PHY combo chip (Microchip ENC28J60), and an LCD display (New Haven Display NHD-C12864A1Z-FSW-FBW-HTT); I2C I/O to a GPIO expansion chip; ported the TI grlib graphics display library, developed a smart LCD display update library that provided dirty-rectangle handing to reduce SPI bus traffic as well as implement 4-way scrolling with screen wrap, and implemented UL-mandated safety monitoring functionality. Ported the TI USB stack to the MSP430F5638, removing unused code and optimizing the CDC interface for gate operator functionality.
  • Developed prototype hardware by breadboarding an I2C device (BlinkM RGB LED carrying an Atmel AVR) and breadboarded together a TI 100-pin LQFP prototyping board and a TI Boost DRV8301 eval board. Breadboarded pull-up resistor/voltage divider circuits to enable Hall sensor functionality. Implemented UL safety features, such as using an ADC to monitor motor voltage and current to implement over-current shutdown in case something became entrapped in the moving gate.Wrote documentation and assisted hardware engineer in chip selection (GPIO, Ethernet PHY/MAC combo) for the main board. Ported Microchip HTTP/TCP-IP stack for their ENC28J60 Ethernet MAC/PHY to allow HTTP access to the gate operator for user monitoring and control. Implemented version control (TortoiseSVN) and issue tracking (Roundup).

Software Engineer

Confidential

Responsibilities:

  • Developed a complex simulator to improve repeatable testing and accelerate business logic prototyping in C# using WPF, multithreading, dynamic DLL loading, .NET 4.5, named pipes, and SQLite for C#. Debugged/maintained factory floor device tester Perl/C# code on Windows 7. Debugged, maintained and enhanced C# code for HBA Tracker commercial lighting savings estimator product.. Developed lighting control software for various microcontroller-based products utilizing PIC, TI and ST processors, coding in C, C++ and PIC assembly language. Implemented firmware for Lighthawk 2-LT product on
  • PIC16LF1508. Implemented aggressive power management for WASP2 product on STM32F and STM32L MCUs. Tested/debugging software and hardware with ICD/ICE devices, Fluke and Tektronix oscilloscopes. Developed dimming, occupancy detection, and debug software for Dimming WASP2 product, which won an Innovation at Light Fair 2013. Developed C# GUI tool to allow real-time data acquisition from devices using digital pyrometers and photodiodes. Developed zero-crossing relay control code, improving relay life in the field, this software is deployed on 3 shipping hardware platforms. Took over firmware maintenance, update, and debugging for HBA Tracker hardware product using TI MSP430. Used Jira to track bugs and feature requests, Subversion for source code control, Confluence as our Wiki.

Contract Software Engineer

Confidential

Responsibilities:

  • Responsible for taking board bring-up and verification code and converting this software into both power-on self-test modules and field diagnostics on Linux/Android. Interfaced with all shareholders (hardware, bring-up/validation, QA,support) to insure customer and business requirements were met. Developed Linux drivers and kernel modules to implement tests. Developed API to allow diagnostic modules to be invoked from different languages and browsers.

Contract Software Engineer

Confidential

Responsibilities:

  • Debugged various driver installation issues under Windows PE. Implemented initial HD Audio driver for hardware test implementation under WinPE using Windows KMDF. Debugged and resolved many driver signing issues under Win7 64-bit. Implemented new functionality in USB built-in self-test driver to improve factory diagnostics Performed initial research on implementing VESA calls under Windows PE.

Software Engineer

Confidential

Responsibilities:

  • Set up initial pass at an automated Windows CE build system using CruiseControl.NET. Implemented nightly build procedure with email notifications. Implemented a camera capture Directshow filter forWinCE. Debugged and modified a Windows CE camera driver for RMI custom hardware to use alternate I2C bus. Performed unit testing of WinCE modules on RMI hardware.

Senior Software Engineer

Confidential

Responsibilities:

  • Ported audio and video codecs and muxer/demuxers from PalmOS and Windows Mobile/DirectShow to a gStreamer-based Linux streaming media system including AAC (MPEG-2/ADTS/ADIF), and 3G2/3GP/MP4. Updated and improved gStreamer HTTP source element. Debugged TCP/IP issues on WebOS. Ported Microsoft WMA/WMV parser/decoder to WebOS. Implemented gStreamer elements to wrap the low-level ported codecs. Debugged various issues with machine architecture differences. Software developed using the GNU toolchain and Wind River Workbench, as well as OpenEmbedded. Shipped Confidential Pre and Confidential Pixi devices.

Senior Software Engineer

Confidential

Responsibilities:

  • Ported device drivers (keyboard, LCD, SPI) from Confidential custom OS to NetBSD on an OMAP 331. Debugged and distributed custom Windows 2000/Windows XP USB driver for device debugging using CompuWare DriverStudio. Implemented USB driver for OMAP 331 processor for the Sidekick 3 product. Implemented USB mass storage device functionality and USB debug functionality. Implemented power management strategies and hardware work-around for USB power management and cable detection. Debugged WinXP USB stack issues with factory programmer being used to gang-program devices in Japan.
  • Developed software using the Gnu toolset on Linux and Cygwin under Windows XP for the Sidekick 3. Used SourceInsight editor and Perforce source code control system. All USB software developed in C for the Confidential custom real-time OS. Debugged and maintained embedded FAT file system code ported to custom OS. Debugged and maintained Java native interfaces to embedded FAT file system.

Contract Software Engineer

Confidential

Responsibilities:

  • Developed GUI front-ends for multiple Matlab LED binning programs that optimize the use of LEDs in various products for maximum profit, using MFC, custom controls, and the WIN32 API for interprocess communication and threading. Worked on BSP for set-top box hardware platform for TriMedia PNX1301-based system with hardware MPEG2 encoder. Implemented Micronas 4448 and Philips SAA7118 drivers under pSOS on Philips TriMedia-based hardware. Implemented middleware layer to provide wireless connection data to applications by wrappering NDISUIO and the Windows Zero-Configuration API (WZCAPI) for a Windows CE.NET device. Worked on firmware design and implementation for a wireless portable Internet appliance built around a National Semi SC3200 + Philips TriMedia mainboard running WinCE 4.0 with an external National COP8 microcontroller for IR handling/battery charging/thermal control. Developed APIs (IR, serial, GPIO, ADC) in COP8 assembly and IAR ANSI C for HLL programmers and application engineers. Performed board bring-up and debugging for COP8 board in conjunction with hardware engineer. Ported Windows CE 2.12 to a MIPS-based custom board used for developing USB 2.0 and IEEE-1394 software stacks for Philips silicon.
  • Assisted in design of a DVD/CD-RW consumer imaging device - performed hardware analysis, recommended hardware platform, and developed initial software architecture along with demonstrator software in DirectX-7 for GUI prototyping. Implemented various board bring-up and diagnostic software routines (UART, PCI bus, A/V I/I, I2C) for Philips DTV board (DTV99) using the TriMedia SDK and pSOS. Implemented DirectX-6 software for a prototype system that switched multiple incoming video and audio streams to a single output device. Implemented hardware modeling and control interface for the Philips DVX-8000 PC/TV Home Theater System using DirectShow and Visual C++. Implemented source, transform, and render filters for hardware control. Implemented DirectShow plug-in distributor for control of Philips filter set. Interfaced Philips filters with Toshiba DVD control filters. Wrote CD-Audio source filter that provided MCI-level control of PC audio CD.

Contract Engineer

Confidential

Responsibilities:

  • Brought up QNX/Neutrino (microkernel POSIX RTOS) on WSE embedded control hardware and re-engineering iRMX-based C and assembly-based application to C++ and QNX/Neutrino for WSE’s next generation of commercial security control systems. Implemented cross-platform (QNX and NT 4.0) hardware abstraction layer (HAL) that permitted less senior developers to implement application code under NT and Visual C++.

Contract Engineer

Confidential

Responsibilities:
  • Developed high-performance video and audio handling code for the implementation of commercial multimedia titles under the Compaq/Fisher-Price brand (Wonder Tools), used on a total of 5 commercially available titles. Developed software to real-time composite multiple video streams with backgrounds and video sprites. Developed digital audio mixing library. Backported the audio/video engine to Win16. Performed video compression testing and data throughput tests on content for CD-ROM. Researched the use of DirectX/Direct3D and Intel Video Interactive for the development of 3d+video interactive games and al software. Implemented alternate audio system using the Miles Sound System for Win3.x and Win32.

5Contract Media Engineer

Confidential

Responsibilities:

  • Ported CommonPoint media subsystem from AIX to Windows (Macintosh and Windows audio files, QuickTime and Video for Windows 2D/3D graphics, printing, and international fonts). Used MetaWare High-C and Visual C++ 2.x on Windows NT 3.51. Implemented QuickTime for CommonPoint without using QuickTime for Windows (ported the QuickTime 1.0 codec from AIX source to Win/NT). Debugged IPC problems in audio/video subsystem. Implemented low-level audio and video file I/O using mapped files under NT. Debugged DIB-based high-performance graphics subsystem and enhanced performance with the use of 32-bit assembly language and hand-optimized C++ code.

Contract Applications Developer

Confidential

Responsibilities:

  • Modified and updated a large VC++/MFC application designed to configure ROLM CBX digital telephone switches. Updated technical documentation. Developed new code for future releases of the product. Tested code using the Windows debug kernel, Nu-Mega BOUNDS-CHECKER and MFC trace facilities.
  • Corrected MFC-based memory leaks, resource leaks, API parameter mistakes, and other problems in code during field trials. Assisted in migration from single-unit program to DLL-based modular implementation. Developed a package of programs to provide a GUI interface for a new process-control product under development. Prototyped in Visual Basic V3.0 with a DLL in Visual C++ 1.5 initially, the entire product was then ported to Visual C++ and MFC 2.5. Performed OO analysis and design, implementation, testing and modification based on user feedback as the sole party responsible for the development of the software associated with the new product. Interface directly with electrical design engineers and the R&D manager while developing the software. Authored on-line help for the package, as well as design documentation, and end-user documentation.

Contract Applications Developer

Confidential

Responsibilities:

  • Developed an IBM business support application integrating multiple off-the-shelf applications under both Windows and OS/2 driven by GUI code developed in C and C++ using the C Set++ compiler and IBM Class Libraries. Design was performed using the Booch method. The application (running under OS/2 2.1) interfaces between AmiPro for Windows, Lotus 1-2-3, a host mainframe containing boilerplate proposal text, and mainframe-based applications. Heavily utilized multithreading, interprocess communication via semaphores and named pipes, concurrent execution of Windows and OS/2 processes, and DDE between Windows and OS/2 processes.

Contract Quality Assurance Analyst

Confidential

Responsibilities:

  • Quality assurance testing, patch testing and regression testing on VISA QNX-based software prior to distribution. Tested using SNA, 2780, 3270 BISYNC communications protocols. Provided production support via beeper to VISA merchants across the United States. Used VENIX-based and DOS-based test systems. Developed automated test scripts and maintained SCCS test script control systems under VENIX. Provided pre- automated testing and automated merchant link testing prior to the installation of software at the merchant site.

Contract Software Engineer

Confidential

Responsibilities:

  • Provided programming and user/managerial support in C++, Visual BASIC and PAL for multi-user departmental database systems across a Banyan LAN, as well as Excel macro programming for gas analysis, short term planning and litigation support (general rate cases). Developed and implemented documentation and coding standards, developed application testing and development environments for in-house multi-user application development. Tested several development systems for client/server development (PAL, Visual BASIC). Prototyped using ProtoGen tool for C++ and OWL 1.0 for Borland C++.

Contract Principal Software Engineer

Confidential

Responsibilities:

  • Designed, and developed production real-time process/machine control systems in C and 80x86 assembly language for 80386-based computers handling barcode sorters and multi-position letter sorting machines (MPLSMs). Wrote a small-C compiler to develop a TI99000-based embedded system for MPLSMs - the target was a multiprocessor shared-bus machine control system developed specially for USPS use. Developed OCR assembler in C under Unix SVR3.2 for AMD2901-based OCR systems. Maintained and modified QNX, SCO Unix, and Interactive Unix vendor-supplied control system software and test scripts. Ported real-time control system to Windows 3.0 (developed device drivers) while migrating to C++ for concept validation. Developed HVAC control system in C and HD64180 assembly.

Contract Programmer/Analyst

Confidential

Responsibilities:

  • Designed, developed, implemented and tested an interpreter (in FORTRAN) to assist in the migration from COBOL; automated data conversion programs (TDMS and FORTRAN under VMS), and machine interface programs (C under NCR TMX and Unix). Worked on the Navy Integrated Automated Intelligence Processing System (IAIPS), developing network communications programs (C under BSD Unix and RSX-11M MACRO-11) to route AUTODIN messages from a PDP-11 to a VAXcluster. Developed MIL-STD-401 documentation and design packages, PDL, and MIL program specifications.

Programmer/Analyst

Confidential

Responsibilities:

  • Developed database software for various secure database systems. Developed VERSADos 68000-based software, PL/M device testing software for military devices. Developed HVAC control and graphics display routines in FORTRAN in FORTRAN. Handled Quality Assurance and Testing tasks for software development groups. Assisted in the development software in DIBOL and PDP-8 FORTRAN. Developed NASA office automation pilot project on PDP-8/PDP-11 systems. Modified RSX-11M device drivers to support special communications needs.

We'd love your feedback!