Senior Software Engineer Resume
Burlington, MA
SUMMARY:
- Senior embedded software engineer with extensive experience in design and development of device drivers and application software for various medical device and carrier - class communications products. In depth expertise in real-time operating systems (RTOS) crossly developed in both UNIX and Windows environment.
- Demonstrated ability to work within FDA-regulated environments. Proven capability in all phases of software development, from requirement specifications to system integration testing.
TECHNICAL SKILLS:
Languages: C, C++, Python, Assembly, Smalltalk, Pascal, Fortran
Operating Systems: VxWorks, Nucleus, LINUX, FreeRTOS, VDK, pSOS, UNIX, Windows
Microprocessors: ARM, Cortex M0+/M3/M4, PowerPC, Blackfin, ColdFire MCF51, PIC, MIPS, Pentium II, x86
Communication Buses: UART, CAN, SPI, I2C, PCI, USB
Network Communications: Ethernet, TCP/IP, LAN, WAN, Bluetooth, protocol analyzers, logic analyzers, oscilloscopes, PCI bus analyzers, Fibre Channel analyzer, Wireshark
Software Tools: IAR Workbench, Keil µVision, CodeWarrior, Tornado, GNU utilities, Clearcase, JIRA, SVN, GDB debugger, DOORS, C-STAT, Coverity, Unity, Confluence
ICEs and JTAGs: visionCLICK, ULINKPro, Atmel SAM-ICE, ADZS-HPUSB-ICE
Others: complete software life cycle, Agile Scrum Methodology, TDD, OO design
Certification: Certified Scrum Master
WORK EXPERIENCE:
Senior Software Engineer
Confidential, Burlington, MA
Responsibilities:
- Participated in next generation Left Ventricular Assist System controller software development.
- Developed enhancements and fixed defects including fault detection, alarm handling etc. for HeartMate 3 controller (ColdFire, CodeWarrior).
- Designed and implemented an automated testing tool to fully test HM3 controller power transition alarms.
- Developed software for In-Clinic Monitor project based on Model-View-Controller pattern using Qt QML, Bluetooth, NFC and Linux
- Designed and implemented subsystems and enhancements for OEM customer Edwards Lifesciences Vigileo and Vigilance II hemodynamic monitors. Lead engineer of a four person team in charge of adding Fluid Challenge, Operational Pause Mode, USB trend data download, Ethernet support and various other features to the monitors. Implemented PIC firmware upgrade, serial port IFMout Batch. (MPC823, PIC18F452, C, C++, Nucleus)
- Integrated Edwards Arterial Pressure-based Cardiac Output (APCO) algorithm into the software for APCO Module Card (ADSP-BF538, VDK). Developed automated test scripts in Python for software verification.
- Worked on manual verification testing and automated testing. Set up testing environment with waveform generators, voltage meters and the mini-simulators. Developed automated test cases with Python scripts and QF-Test.
- Primary software contact person for debugging and resolving manufacturing and field issues that resulted in high customer satisfaction.
- Wrote Requirement Specs (SRS), Design Specs (SDD), and V&V for FDA compliance.
- Designed and implemented the bootloader for Front End software upgrade and application startup running on AT91SAM7S64 based daughter board on Analogic LIFEGARD II Non-Invasive Patient Monitor.
- Developed the firmware including CAN drivers, SPI driver, NVRAM driver and Accelerometer data retrieving and forwarding for Rotor Control Board (RCB) on Analogic Value CT scanners. (LM3S9B96, FreeRTOS)
- Designed and implemented Tube Load Calculator (TLC) running on the RCB that continuously monitors and calculates available anode heat storage capacity, communicates overheat or cold tube condition to Scan Control, and stores current heat storage value on NVRAM (for Dunlee 1740 and 2150 X-ray tubes).
- Senior Software Engineer, Data Device Corporation, Bohemia, NY (3/2004 - 10/2004)
- Developed a Fiber Channel device driver for the dual-port redundant Fibre Channel Controller PCI Mezzanine Card (PMC). The Fibre Channel Controller supports Raw Mode, TCP/IP, UDP/IP upper layer protocols and class 2 and 3 services (VxWorks).
Consulting Engineer
Confidential, Burlington, MA
Responsibilities:
- Designed and implemented VxWorks network drivers to hook up data link layer frames with the IP stack.
- Ported third party OSPF to the PowerPC8260 based switch control board on Appian’s Ethernet-over-SONET platform. Resolved various low-level driver issues to support IP multicast, unnumbered interface, and interface status notification to the routing protocol. Also resolved TCP/IP stack upgrading issues by digging into the stack code.
- Designed and implemented circuit primitives for the switch’s Base Input/Output II (BIO2) board. The BIO2 board was based on Pentium II running pSOS. As a part of the network device drivers, circuit primitives were used to program cell switching/processing functions on ASIC.
- Developed the board support package (BSP) for the embedded multi-processor DS30X Interface Card (VxWorks).
- Participated in the board bring-up code development for the PowerPC860 based Network Interface Card (NIC).
- Designed and implemented various features that included DRAM power-on self-diagnostic testing and flash device driver. Development was done on a Solaris host with GNU tools.
- Release prime for a software release that supported network computers/PCs to boot over ATM utilizing BOOTP/DHCP. Responsible for high-level design, coding, unit testing, and system integration testing.