Sw Engineer Resume
SUMMARY
- Embedded Software Engineer with strong experience in Real - time OS, Storage, Telecom, Medical, Defense R&D looking for career opportunities in Application Development and Testing. Extensive experience in development, designing, architecting and testing of software and hardware for Real Time Systems.
- Multithreaded Apps using Real Time Operating Systems - VxWorks, Embedded Linux, pSOS, FreeRTOS
- C, C++, Assembly Languages and TCL / EXPECT / Shell Scripts
- TCP/UDP/IP API, SNMP, Ethernet, Custom Serial Protocols, IPMI, I2C, SPI, RS232, RS422, RS485, CAN
- Multi Thread Development using Posix Threads, mutex, semaphores, VxWorks Tasks
- VxWorks BSPs, Linux Device Driver Development
- Custom Config / rebuild of Linux Kernel, RPM Package Management
- Agile/Scrum Development Methods, Structured Analysis & Design, OOAD, Use Cases and UML
- Software and Hardware Co-development, board bring up, BSP development and Integration
- Mission Critical Multi Threaded Real Time / Embedded Applications / Airborne Applications.
- Git, UCM with ClearCase/ClearQuest, SourceSafe, CVS, SVN, Bugzilla, JIRA.
- Industry, Military R&D, Aerospace Experience, DOD2167A / DO - 178B
- ATCA, microTCA, OpenVPX, VME, PC/104 form factor boards, custom Analog & Digital Hardware
TECHNICAL SKILLS
- MICROPROCESSORS: Intel X86/IA32, ARM / XScale / Cortex M3 / Cortex Axx, TMS 3205X DSP, PPC603, Renesas H8S, Microchip dsPIC33
- Real Time OPERATING SYSTEMS: VxWorks, Embedded Linux, FreeRTOS, LynxOS, pSOS and Applications without OS.
- OTHER TOOLS: JTAG, In Circuit Emulators, Logic Analyzers, SW Debuggers, CASE Tool, MATLAB, SilverCreek SNMP Tool, Wireshark, SmartBits, Coverity, Simics Target Simulator, valgrind, iperf, Clearcase, SVN, Git, NetBeans, Eclipse, WorkBench
- LANGUAGES: C / C++ / ASM for Intel Processors, GNU Compiler / Tools, TCL / EXPECT/bash shell scripts, Fortran, Pascal.
PROFESSIONAL EXPERIENCE
Confidential
SW Engineer
Responsibilities:
- The embedded controller is a part of the Surveillance Radar, and is a PPC, LynxOS based VME sized Controller that generates commands to operate the Optical Cameras.
- The software provides various commands to operate wide angled cameras such as Far/Near Focus, Pan/Tilt, Wide / Tele Control and host of other control and configuration commands.
- These commands are sent over UDP / RS422 interfaces between Optical Radar and the controller.
- The optical camera is a Cohu HD8800 based, 1080p, H264 type camera.
- LynxOS based tools are used for developing the software.
Tools used: Windows based LynxOS tools, C/C++, PPC (MVME550) based VME Boards in a VME Chassis.
Confidential, Lowell, MA
Software Engineer
Responsibilities:
- Software Engineer for Embedded Linux (Busybox) based Set Top Box (STB) for Interactive video Applications.
- As part of the team to develop the STB, I performed wide area of activities related to software development such as C Module development, test / debug / integration of shared libraries, Configure, Root Cause / Failure Analysis, Identify / Determine Inter module dependencies among third party software, Coordination with SQA Teams for Test Activities, Test Configuration / setup, Collection / Analysis of Error Logs, Follow up activities for Software and Firmware updates, Bug Reviews, Bug Assignment, Review of Specs / Test Cases.
Tools used: Linux based tools gcc/g++, gdb, wireshark, eclipse, valgrind, iperf3, git version control, Jira for bug /task Tracking.
Confidential, Hopkinton, MA
Sr Software Engineer
Responsibilities:
- Developer of software for Linux based Embedded Diagnostic Application.
- Added set of Test Commands that configure the operation of memory, disk drives, SSDs and peripherals, Sensor, Status LEDs attached to Storage Processors.
- These commands help configure, change or control different peripheral devices using serial, network, SPI / IPMI /I2C interfaces. Each of these commands implemented as synchronized multi thread cooperating processes.
- The Diagnostic application is part of automated testing framework used during manufacturing testing.
- Storage Processors are based on X86 family processors.
Tools used: C/C++ with Linux based tools g++, gdb, Eclipse, valgrind, Git version control, BMC with IPMI v2
Confidential, Bedford, MA
Sr Software Engineer
Responsibilities:
- Sustaining and Development for Session Border Controller Chassis.
- My role is to enhance network application functionality from vxworks 6.4 to 6.8, to analyze race conditions between competing tasks and fixing synchronization issues between them, to fix bugs, memory leaks and provide enhancements.
- The application is written as cooperative multi threaded tasks with synchronization constructs from the vxWorks.
Tools used: VxWorks / WorkBench, Tools to collect events, execution trace, shell scripts to load/unload dynamically object modules, Wind River's Workbench with GNU/Diab Tools for X86, Clearcase, UCM with ClearQuest, Packet generation with SmartBits, packet trace collection with WireShark, Valgrind, Coverity tool.
Confidential, Wilton, CT
Software Engineer
Responsibilities:
- Confidential is lithography platform that is used in semiconductor industry to process silicon wafers.
- My role, as a software developer, is to develop or modify software to incorporate new features or enhance existing features.
- The equipment, among other subsystems, has a robot that carries “reticles” between various entities.
- I have added enhanced diagnostic and event generating features to the reticle-carrying robot's movements and to classify the events into meaningful warning messages.
- The software also displays these events and warnings on Sun-based gui screens.
Tools used: Clearcase, ClearQuest, GCC compiler for Sun / Solaris 8/10, gcc compiler tools for VxWorks/Tornado, gdb/ddd and other in-house tools.