We provide IT Staff Augmentation Services!

Software Contractor Resume

2.00/5 (Submit Your Rating)

Confidential

WORK EXPERIENCE:

Software Contractor

Confidential, San Jose. Ca

Responsibilities:

  • Collected requirements from users
  • Created Software Requirements Document
  • Commercial quality iPad/iPhone upgrade application
  • IPad app shared with Engineers through Apple Store Connect and TestFlight
  • Two - stage upgradeable BLE stack and peripheral app
  • Multiple selection of peripherals to upgrade
  • Automated upgrade with unencrypted authentication
  • Retry all failed units at end of upgrade cycle
  • Stack and peripheral app images selectable for default upgrade
  • Unique File extensions recognized by IOS programs File, Mail, iCloud, Gdrive etc.
  • Automatic transfer of known files into application directory
  • Compatible with WaterBit’s proprietary bootloader
  • Expandable to include reprogramming on-board Loran module
  • Created all graphics and icons
  • Created company logo application standard
  • Help system
  • Storyboard model
  • Application written entirely in Objective-C
  • MacBook Pro and xcode 10 compiler
  • Used personal Developer’s license
  • Wrote User’s manual with graphics walk-through
  • Wrote Programmer’s manual with graphics walk-through
  • Bit bucket and Git version control
  • Used immediately by engineers to save time programming hundreds of units
  • No known issues at, or following delivery

Custom Product Developer

Confidential, San Diego. Ca

Responsibilities:

  • Allows development of new or existing packet-oriented protocol.
  • Using arm STM32F091

Software Contractor

Confidential, San Diego. Ca

Responsibilities:

  • Allows development of new or existing packet-oriented protocol.
  • Outputs C++ or C# source and header files.
  • Simulation output through serial port or TCP/IP.
  • Simulation Packets saved in XML files.
  • Reception of real-time, binary network traffic converted to GUI descriptive text in several views.
  • Filter allows capture of bracketed conditions with full set of logical operands.
  • Used for initial test, debug, burn-in.
  • Decodes payload into primitive types, verifies CRC.
  • Grid depiction in rows and columns with drag and drop capability that formats and verifies correctness.
  • For instance, an enum type, once created can be opened in an editor, and a member selected, inserting it in the packet or payload description.
  • Allows complex types to be created by selecting previously created types and classes.
  • Created prototype Sniffer device on breadboard.
  • Used STM32Cube.
  • Captures bidirectional binary stream from operating device.
  • Copies all data to either serial or network destination.
  • Status displayed on LED or LCD module.
  • Used IAR and Visual GDB for development and testing on embedded device.
  • Inputs Intel Extended Hex.
  • Outputs proprietary Encrypted Image.
  • Stores multiple images in library for storage and distribution.
  • Input custom bit font through font editor.
  • Output proprietary C++ source tables and header files.
  • Compiled into existing embedded application.

Software Consultant

Confidential, Anaheim, CA

Responsibilities:

  • Multi-platform software architecture . Power PC Linux O/S.
  • Refactoring legacy embedded C and C++ legacy code into OO using C++11 .
  • Created a research tool to organize the code into classes.
  • Tools written in c# using cppdepend, some in C++.
  • Extracted a database of thousands of functions into groups of major responsibility.
  • Each responsibility named as a class.
  • The classes separated into application and framework.
  • To handle the complexity a framework was designed consisting of service providers.
  • Created: a multi-layered spooling protocol manager, device manager, application logger, Timing Services, and Utilities.
  • The applications were Intersection Cabinet, Controller Core, and User Interface.
  • Created several analysis tools and batch code refactoring tools to help reduce repetitive changes.
  • Code correcting tool to force consistent include file referencing, such as CamelCase to snake case, extraction of structs, globals, functions, from thousand line files into individual files etc.
  • Worked with the Principal Engineer and the Software Manager on the Product Development Plan.
  • My recommendations became the basis for development going forward.
  • SDLC Protocol, Serial and Hardware debug, C ++ 11, GCC 5.3, Gerrit, Git, Virtual Box, Visual Studio 15 Ultimate, Resharper, Visual Assist, and Debian Jessie.

Senior Software Engineer/Consultant

Confidential, Plano, TX

Responsibilities:

  • Primary Architect, successful Modular Embedded System Framework, Hardware Abstraction Layer for Radar Sensor using polymorphism in embedded C++.
  • Designed the foundation for multiple commercial Radar Sensor products based on the same ARM NXP 3250 processor, Proprietary radar and peripherals.
  • After bringing up the first article circuit boards, tested all hardware with prototype code.
  • The entire project was in C++ and assembly language, and everything was hand-rolled.
  • Each layer was compiled into its own library, and support files had their own separate libraries to isolate changes.
  • Configures hardware test, deploys all buildable products at the same time
  • Compiles products
  • Converts Intel Extended Hex output to binary
  • Converts binary to C# data for inclusion in Commercial Loader Interface
  • Compiles Commercial Loader into final product deliverable for each product
  • Deploys result for delivery

Product Support

Confidential

Responsibilities:

  • Allows C# desktop application to inject previously captured data.
  • Synchronizes captured data to a synthetic clock.
  • Gives the tester the ability to single step with .Net visibility.
  • Total real-time simulation using the actual embedded code.
  • Provides ability to edit, compile and test outside of embedded environment.
  • Commercial product used by OEM and Factory
  • Connects to command channel to set persistent program parameters
  • Used in factory initialization and user customization
  • Algorithm to calculate distance and speed of vehicles with conditional relay output.
  • Algorithm to count vehicles and classify them by speed and size.
  • Real time data output to a USB device, or save to EEPROM for later output
  • Algorithm to display time and speed of passing cars on a video display
  • Algorithm to detect ground speed of a moving trainAll products developed from the same base classes
  • Using the same Hardware Abstraction Layer.
  • Algorithm to control Traffic hardware.
  • Design and development Proprietary traffic control card software
  • Button/LED settings
  • PIC Processor code in C
  • Two-way communication protocol

Senior Software Engineer

Confidential, Richardson, Texas

Responsibilities:

  • Successfully Developed C++ framework for Confidential DSP high precision motor controller for 1 micron accuracy Laser scribing application for 533 Micron Laser. Wrote position error correction algorithms, beam shaping simulation and control. Team Lead.
  • Wrote successful embedded software for a TCP/IP addressable I/O controller for the ARM STR912FA. OO design for embedded framework.
  • Contributed matrix math library in C# and C++ to support precision error correction.

Consultant

Confidential, Corvallis, Oregon

Responsibilities:

  • Wrote successful application for smart RF sensor.
  • Interfaced with GPS to determine geographical areas to match with time zone information and to assess road use taxes.
  • Successful demonstration led to further development.

Senior Software Engineer

Confidential, Dallas, Texas

Responsibilities:

  • Wrote successful RF protocol stack for the ARM SAM7S512 built upon the 802.15.4 standard for a smart RF-sensor used in asset tracking and position determination with serial interface to GPS to augment tracking.
  • Wrote OBD2 protocol interface to extract vehicle speed.

Consultant

Confidential, Dallas, TX

Responsibilities:

  • Wrote a GPIB interface to TDS 3000 Oscilloscope to capture and analyze transients during surge suppressor protection device pass/fail tests. Legacy hardware was unreliably reporting break-over values. Software interface was legacy Microsoft Visual Basic 4.0, 16-bit, Windows 95.
  • Wrote a Test Script in C++ for a generic test bed fixture in Microsoft .NET. User interface consisted of Web Pages, accessed with Web Browser Active X control. Generic Test Script language allowed script writer to use generic power supply, oscilloscope, etc., by passing test equipment values and limits as arguments. Used IIS and XML Web Services.
  • Wrote OS enhancements and hardware diagnostics for a DSP micro-stepper motor driver in ‘C’ for the TI 2812 DSP including interrupt driven serial communications driver for optical link. Used Code Composer, and the Spectrum Digital JTAG interface.

Consultant

Confidential, Plano, TX

Responsibilities:

  • Wrote successful Protocol for multiple wireless units in star network to communicate with PC user interface.
  • Implemented protocol for PC and 80C51 Chipcon CC1010.
  • Wrote serial communication software for Phillips 8051.

Senior Staff Software Engineer

Confidential, Plano, TX

Responsibilities:

  • Provided guidance and support for development efforts in multiple departments in this new start-up. I played a major role in the development of a process for managing the development of software used by the company.
  • Lead software engineer for successful Sky Golf Project.
  • Wrote hardware abstraction layer - Physical layer and O/S for embedded ARM processor. Hand-held Golf Caddy for SkyHawke using GPS to measure distance to the hole.
  • Wrote platform independent TCP/IP stack in C++ for embedded system.
  • Wrote platform independent PPP stack using Visual C++ under Windows as part of a dial-up test for TCP/IP.
  • Wrote replacement 16550 device driver for existing CDPD modem in C++ Code was portable between DOS and a Hitachi SH-3 Processor.
  • Provided the design and managed the implementation of boot code and peripheral interface for the ARM L7205 processor for use in an internet appliance project.
  • Wrote Operating System Independent Layer design for GPRS group. It was being used as a template for all departments to create portable applications
  • Wrote Hardware Abstraction Layer design for the Personal Wireless group, used as a template for all new development to create platform independent applications
  • Contributed to coding standards and software design process
  • Designed and supervised the successful creation of a EEPROM RAM surrogate in Flash for the ARM7
  • Used state transition diagrams to functionally decompose a CDPD stack layer by layer
  • Designed SPI Abstraction Layer for an AVR AT90S8015 for ARM7 to RF interface
  • Supervised the creation of an AVR programmer/dongle for production.
  • Ported CDPD Stack to ARM7 by converting the Nucleus O/S Layer to ThreadX.
  • Replaced SPI Interface with Serial Hardware Abstraction Layer for a TMS430 for ARM7 to RF interface. Reused AVR Interface Design.
  • Ported CDPD Stack to PC by converting the Nucleus O/S Layer to Windows. Replaced TI430 Serial Interface with Windows Serial Library.
  • Contributed to the creation of a WDM plug-n-play kernel-mode NDIS device-driver.

We'd love your feedback!