We provide IT Staff Augmentation Services!

Sr. Software Engineer Resume

4.00/5 (Submit Your Rating)

OBJECTIVE:

A challenging engineering position where my experience in software design and formal academic will be fully utilized.

SUMMARY:

  • 15+ years of Embedded software 5+ years of Windows software development
  • Technical leader, detail - oriented problem solver, innovative & self-motivated, effective communicator
  • C, C++, C#, WPF, Assembly language for multiple microcontrollers, CAPL, PERL, Visual BASIC,
  • TIOS, Confidential, ERCOS (ETAS), OIL (ESCAPE), QNX
  • Keil, IAR Embedded workbench, TI Code Composer, MPLAB, STM32CubeMX, Renesas E2 studio, xTIMEcomposer, Microsoft Developer Studio,, PCB123
  • NXP i.MX RT1050, ATSAMV71, TMS470, TMS320, STM32, XMOS xCore-200, Renesas 78K0, Motorola HC8, HC11, S12, Microchip PIC18
  • CAN, CANopen, KWP-2000, LIN, TCP/IP, UDP, SPI, RS232, UART, DDL2, FNOS, GMLAN, Class2
  • TI compiler, COSMIC compiler, Keil compiler, Nohau emulator, Vector CAPL programming environment, Vector CAN library, IXXAT VCI and CAN library, Agilent IVI library, TI Uniflash, Animatics library for Smart Motor, Acces IO library for Confidential data card
  • Agilent arbitrary generator, HP/Agilent Logic Analyzer, Tektronix scope, CAN scope, CSS wireless CAN logger, AirDrive wireless serial logger
  • Cortex M7, Peripheral interfaces of ARM microcontrollers, CAN transceivers and related digital and analog ICs
  • Data link controllers, MSDI, ASIC
  • Scrum with TFS for project planning and monitoring

PROFESSIONAL EXPERIENCE:

Confidential

Sr. Software Engineer

Responsibilities:

  • Designed the stress test and error recovery test for CAN nodes and complete network
  • Architected CAN disruptor for stress and error recovery test
  • Designed the daughter board to operate with Xplained Ultra evaluation kit
  • Designed the firmware for CAN message processing, Start of Frame detection and NXP SJA 1000 control
  • Designed and implemented the test cases
  • Implemented monitoring of CAN buffer overrun condition
  • Performed the stress test for i.MX RT1050 evaluation kit running as CAN node
  • Performed the stress test for CANopen network with physical and simulated nodes

Confidential

Software Engineer

Responsibilities:

  • Compared NXP, Atmel, Renesas and ST microcontrollers
  • Estimated capabilities of microcontroller peripherals for valve, pump and motor control
  • Brought up evaluation boards
  • Generated test projects for GPIO control, A2D conversion, PWM control, CAN and UART communication
  • Reviewed Confidential implementation for mentioned microcontrollers
  • Reviewed CMSIS implementation for mentioned microcontrollers
  • Estimated and measured the latency of NVIC interrupts for signal processing

Confidential

Software Engineer

Responsibilities:

  • Architected CANopen communication software component
  • Designed control commands for pumps, valves and motors activation
  • Designed calibration algorithm for fluid delivery
  • Designed OPC client running in WPF environment for communication with KepWare server
  • Implemented graphical output for monitoring of control unit state and conveyer line status
  • Conducted simulation of worse case scenarios and evaluation of the system performance
  • Implemented events and error monitoring and failsafe actions

Confidential

Software Engineer

Responsibilities:

  • I suggested that every significant event in distributed control system generates unique QNX pulse
  • Design a daemon that collects the pulses and periodically monitors running processes, used RAM and processor load
  • Designed WPF application that visualizes RAM and processor usage in relation to system events
  • Designed a parser that detects unexpected events and verifies that expected events happen in expected sequence
  • It gives powerful tool for regression test and debugging of unexpected system behavior

Confidential

Software Engineer

Responsibilities:

  • Architected the software component for events monitoring in multiprocessor system running QNX
  • Designed the software tool for visualization of event monitoring and performance measurement
  • Architected the software tool for the test automation of CANopen distributed control system
  • Designed algorithm for CANopen device initialization with dynamic assignment of node ID
  • Designed algorithm for network device recognition in CANopen system with variable architecture
  • Designed a script language for control and monitoring CANopen devices via PDO and SDO
  • Designed configurable user interface and implemented it with WPF
  • Suggested to generate simulation scripts based on CAN logs. Designed the parser to do so
  • Designed and developed the translator from Microsoft Excel to CANopen commands
  • Integrated IXXAT driver library as the interface to CAN hardware
  • Implemented interactive help. Wrote user manual and materials for CANopen tool

Confidential

Software Engineer

Responsibilities:

  • Formalized behavior of CANopen slave device for simulation
  • Designed the algorithm for simulation of CANopen device on XMOS xCore - 200 microcontroller
  • Integrated XMOS CAN library and XMOS TCP library into the project
  • Implemented tuning of communication timing parameters
  • Implemented stress test for CANopen network with the mix of physical and virtual nodes
  • As a result, made a tool for tolerance and reliability test for CANopen network

Confidential

Software Engineer

Responsibilities:

  • Monitoring of fluid pump operation based on DSP of the waveform of the current
  • Implemented CAN diagnosis for embedded mictocontroller TMS 320
  • Implemented CAN diagnosis for embedded mictocontroller TMS 320
  • Troubleshooting of hierarchic state machine with runtime CAN trace
  • Troubleshooting of self - diagnosis routines in beverage dispenser
  • Adaptation of recipe algorithm to new beverages and ingredients

Confidential

Sr. Software Engineer

Responsibilities:

  • Design and development of WPF user interface.
  • Firmware development for Confidential .
  • PC to Smart motor interface and flash loader design.
  • Integration of Confidential interface for data acquisition card DI16A (Acces IO product).
  • Integration of legacy C++ code into C# project.
  • Application of TCP/IP for data, command and image transmission.
  • Data storage and processing with Microsoft SQL server.
  • Design of control algorithm and background diagnostics.
  • Analyzed the accuracy of photo - diode signal processing
  • Designed the strategy for dark current compensation, automated A2D range adjustment, evaluation of UV lamp deterioration and self-diagnostic routines.
  • Developed all C code for UV meter that included functions for A2D, D2A, parallel interface, control, calibration and diagnostic algorithms.
  • This implementation was done with Keil development tools.

Confidential, Plymouth, MI

Software Engineer

Responsibilities:

  • Designed diagnostic strategy for ECU testing and troubleshooting based on the knowledge of embedded microcontroller architecture.
  • Developed PC based software tool for the test automation
  • Implemented diagnostic and communication functions for embedded microcontroller Freescale S12
  • Implemented Vector I/O card interface
  • Implemented digital input simulation with Agilent IVI library
  • Technical lead for design of network diagnostic tools. Responsible for architecture / development of software tool for diagnosing ECU hardware / software content and evaluating system behavior.
  • Developed diagnostic strategy for ECU testing and troubleshooting
  • Designed test automation to reduce operator error
  • Designed GUI and voice interface and implemented them with MFC and C#
  • Implemented of CAN diagnostic protocol with Vector CAN driver library
  • Implemented of digital input simulation with Agilent IVI library
  • Analyzed and managed customer requirements for added features and software changes
  • Compared various embedded microcontrollers for future system development to reduce cost and support new functionality
  • Designed the control algorithm for locks, mirrors and windows activation
  • Designed embedded software functions for failure detection and handling of hardware malfunctions
  • Designed bench simulation for evaluation of failure mode effects
  • Analyzed customer requirements for DDL2 over CAN.
  • Participated in design of global corporate specification and planning of software development activity.
  • Designed the interface between diagnostic software component, platform, and application software
  • Designed embedded software for global diagnostic services and U.S. specific End of Line routines.
  • Performed embedded software development in Windows PC based simulation environment
  • Developed simulation scripts and configuration files for the software validation
  • Responsible for diagnostic component development in TMS470 brake unit.
  • Analyzed customer requirements for Keyword Protocol 2000 ( KWP2000) communication and diagnostic functionality
  • Reverse engineering of software functions used in Mercedes, Smart and Mitsubishi vehicles for development of compatibles software
  • Analyzed Daimler - Chrysler OBD2 concept versus GM and Confidential OBD2 solutions.
  • Designed software for customer End of Line and on-board diagnosis of the ECU
  • Developed a method of test automation and necessary CAPL blocks for CANalyzer.
  • Designed and implemented the software tool for validation of ECU behavior.

Confidential, Farmington Hills, MI

Programmer analyst

Responsibilities:

  • Designed and implemented FNOS compatible diagnostic component for t for Confidential 500 and Confidential
  • Designed and implemented communication and diagnostic software for Flash reprogramming via CAN.
  • Designed and implemented of the functional groups corresponding to the Network and Transport layers of Confidential
  • Developed software for Brake ECU diagnosis via CAN and End of Line routine support
  • Designed and implemented communication and diagnostic software for Flash reprogramming via CAN
  • Designed and implemented of Motorola MC68HC58 DLC driver with SPI data transfer between the microcontroller and DLC.
  • Developed communication software for Class2 block transmission with data recovery for ECU Flash reprogramming
  • Designed software for diagnostic application services
  • Supported End of Line diagnosis from software validation to troubleshooting on Milford proving ground

Confidential, Livonia, MI

Software Engineer

Responsibilities:

  • Designed fault-tolerant control algorithm.
  • Developed background modules for self-diagnostics, inconsistency detection and processing of exceptional situations in embedded system.
  • Performed concatenation of successful subroutines to the complete strategy.
  • Did algorithm validation with simulation of input parameters and simulation of exceptional situations along. with software interceptors. Software interceptor means blocks of code that collect “snapshot” of data and control variables when one of exceptional situation occurs.

Development environment included Intel-8065 Assembler, VAX server, Cross-Assembler and simulator.

Confidential

Sr. Engineer

Responsibilities:

  • Designed real time data processing library and developed code that allow diagnostic to run it the background as part of the run time test environment
  • Suggested and developed so-called flexible scheduler: the kernel program that calls subroutines in a sequence. Such sequence depends of the system load. When the system is idle, entire background self-diagnosis runs. When input data require some reaction that consumes the system resources, the kernel program does not call subroutines with low priority.

Development environment: Software platform included a mix of custom proprietary real-time pre-emptive multi-tasking system and some custom dynamic control systems operating on a diverse hardware platforms: Zilog Z-80, Intel 8086 and Motorola HC-11. It was both Assembly and C coding.

We'd love your feedback!