Software Engineer Resume
Sunnyvale, CA
SUMMARY
- Around 5+ years of experience in Embedded, Firmware and Automotive domains.
- Experience in Firmware development in ‘C’ for various ARM based platforms, porting of the company’s proprietary CAN driver code over various ARM SBC boards, writing technical documents, software packaging and solving customer bugs and implementing change requests.
- UI based application development and maintenance using QT4. X.
- Very strong exposure on software development onEmbeddedLinux, VxWorks (RTOS) and Solaris and Linux.
- Experience in building and bringing up Boot loader (Uboot), Linux kernel and Root File System.
- Expertise in design, development and testing of embedded firmware/software development for real time multithreading/multitasking embedded applications.
- Worked on QEMU Virtualization SW, Worked on Hardware emulator stack.
- Expertise in design, defines, develop and deploy object oriented software using C++, OOPS, UML, Design Patterns, SOLID Principles.
- Extensively used designing tools like Star UML, Rational Rose for Object Oriented Design.
- Development experience on various embedded products: modem / WIFI routers / last meter telecommunication products, network - enabled set-top box media player products and embedded system for automotive application.
- Development and interface experience in CAN, I2C and SPI protocols.
- Working Knowledge of ISO OSI stack and Network Protocols like TCP/IP, UDP/IP and Embedded Ethernet.
- Extensively involved in development of GUI using MFC for PC.
- Sound Knowledge of porting of different Architectures, Wi-Fi protocols (802.11a/b/g)
- Application Development using Linux System call, POSIX based multithreading, Real time extensions, Linux IPC, Linux Scheduling and Linux Memory management.
- Well versed in device communication protocols such as USB, Ethernet, WI-FI and Bluetooth.
- Component level testing and debugging of various platform circuit boards and Cross-functional experience in embedded systems development with further its production & customer support.
TECHNICAL SKILLS
Languages: C, C++, Linux Shell Scripting, MISRA C, python scripting.
Platforms: Linux, Solaris, VxWorks, Embedded OS.
Testing Tools: CANalyzer, Oscilloscope, Vector CANOe.
Debugging Tools: TRACE 32, JTAG, Microsoft Visual studio.
Hardware tools: Real View ICE.
Protocols Awareness: RS232, TCP/IP, SPI, I2C, Bluetooth Low Energy, TCP/IP
RTOS: QNX, VxWorks 5.x, RT Linux, Nucleus, ThreadX
BUG Tracking Tools: Bugzilla, IBM Clear Quest.
Microprocessors/ Microcontrollers: Atmel 8051, ATmega328P (Arduino Board), PIC16c57c (Basic Stamp), ARM Cortex-A8, PLC (Allen Bradley)
Embedded IDEs: Kiel IDE, IAR GHS, Eclipse, SDE
Others: Good knowledge on Data structures, BSPs, Firmware, Verification and Validation (V & V)
PROFESSIONAL EXPERIENCE
Confidential, Sunnyvale, CA
Software Engineer
Responsibilities:
- Exposure to protocols such as RS232, RS422, I2C, SPI in C++
- Brought up Linux Kernel on newly created RTL design of FPGA, Debugged Kernel, kernel modules, Re-configuration, patched custom kernel builds.
- Developed application layer for CAN protocol to send and receive information like engine oil temperature, Engine speed, vehicle speed
- Designed, interfaced and developed the hardware using microcontroller (8051) and developed software for microcontroller using assembly.
- Fluency in data processing and analytical tools such as MATLAB
- Working on embedded systems development using advanced automotive technologies such as ADAS, V2X.
Environment: Bluetooth, C, C++, CAN, CANOe, RTOS.
Confidential - Crown Point, IN
Embedded Systems Engineer
Responsibilities:
- Component design and simulation using MATLAB/ Simulink.
- Developed embedded Linux C++ USB driver software for Intel ARM XScale processor.
- Designed, coded, tested the integration of software for a real-time, multitasking DSP based receiver system.
- Followed AUTOSAR 4.x software architecture
- Designed and developed embedded real-time control system software using C++ coding in VxWorks (RTOS) environment.
- CAN analyzer and Oscilloscopes are used for debugging.
- Strong ability to layout PCB and troubleshoot at the PCB component level.
- Developed a gain prediction database using Python, c-shell scripting, and MATLAB on a Linux platform
- Knowledge of QNX and SNMP protocol.
- Unit testing using Microsoft visual studio.
Environment: C, C++, ARM, Matlab/Simulink, QNX, Python scripting, VX Works, AUTOSAR.
Confidential, Milwaukee, WI
Embedded Systems Engineer
Responsibilities:
- Developed an application for high power electromotor protection. It included Microchip PIC 17C756 micro-controller, SPI, I2C, RS-232 ESD protected interface and Microchip serial EEPROM for storing user specified constants.
- Embedded software performed real-time tracing of 6 analog input channels, time-dependent turn off control.
- Firmware code was implemented in Microchip assembler.
- The robotic arm stepper motors with the programmed ARM based microcontroller was employed to control the nozzle movement.
- Employed waveform generator, analog switches, and regulators.
- Deigned a System for Distinguishing Sound’s Frequencies and Removing Its Noises Using MATLAB
Environment: C, C++, ARM, Matlab/Simulink, QNX, Python scripting, VX Works, AUTOSAR.
Confidential
Firmware Developer
Responsibilities:
- Developed embedded C/C++ code to interact controller according to requirements.
- Well versed in device communication protocols such as USB, Ethernet, WiFi and Bluetooth.
- Responsible for the implementation of IEEE 802.1 a/b Standard under Ethernet based network.
- Worked on BSP development.
- Responsible for the implementation of Audio/Video Subsystem with respect to HD set-top Box decoder.
- Functional testing in CANalyzer and CANoe simulation devices.
- Implemented Low-level kernel RTOS debugging with GDB.
- Control feedback algorithm design and testing using MATLAB
- Developed Network, Serial, and Parallel and Mouse drivers for Linux 2.4 kernel.
Environment: ARM, Wi-Fi 802.11, Bluetooth, CAN, CANOe, Linux kernel, IEEE, C, C++, BSP
Confidential
Embedded Developer
Responsibilities:
- Involved in module Unit Testing, Integration testing, debugging code and fixing bugs.
- Developed software interfaces and performing unit testing of real-time embedded or application software.
- Developed application layer for CAN protocol to send and receive information like engine oil temperature, Engine speed, vehicle speed.
- Coded QT multi-threaded Linux objects, used Clear Case and Clear Quest tools.
- Worked on Zigbee protocol.
- Hands on experience on MISRA-C/C++ guidelines and AUTOSAR architecture
Environment: CAN, GUI, ARM, QT, RTOS, Zig-bee, Clear Case, Clear Quest, Micro-Controller.