Software Engineer Resume
ChicagO
SUMMARY
- Around 4+ years of experience in Embedded Systems.
- Experience in advanced level programming in C/C++ including thread synchronization, multithreading, multi - processing, concurrency and TCP/IP Socket Programming.
- C, C++, Python and assembler programming of custom and COTS embedded systems using GNU, Eclipse, NetBean and TurboC++ tools. Scripting using Python, Ruby and Bash.
- Embedded development with Marvell Armada 370, TI AM335x ARM Cortex A8, Intel IXP425 ARM, ST ARM Cortex M3, 8051, i960, DSP56K, Z80 and 68HC11 CPUs.
- Embedded development with A6N2, A5N2, TPMS, Motor grader and AT.
- Development and testing software using CANoe and CANalyzer tools. Testing with CAN, J1939, Target Process and other data link protocols.
- Good understanding of Communication standards such as DOCSIS and digital data transmitters such as ADSL.
- Experience with development and Implementation of In-Vehicle infotainment.
- Rich experience in automotive domain processes & MISRA-C coding guidelines. Good understanding on automotive standards and protocols OSEK.
- Good Experience on Human Machine Interface (HMI) development.
- Linux Kernel loadable module programming, socket programming, Network driver's development and Unix IPC.
- Excellent knowledge of preparing test Procedures, test cases for module system testing/software Integration testing (Manual and automated).
- Good understanding knowledge on RDK environment.
- Bluetooth Low energy application interface development.
- Hands on Experience in writing Scripts using PERL, Python Scripts.
- Good understanding on product development life cycle and Software Engineering Process. Familiar with Agile methodology and Waterfall Model.
- Good management skills, demonstrated proficiency in leading and mentoring individuals to maximum levels of productivity, while forming cohesive team environment.
TECHNICAL SKILLS
Languages: C/C++, Embedded C, Assembly, Matlab, Processor Architectures: ARM11, Intel 8051 Microcontroller, General 8bit, 16bit and 32bit architectures, Verilog&VHDL
Platforms: Windows, Android, Linux, RTOS, UNIX.
Testing Tools: CAN analyzer, Oscilloscope, Logic analyzer,Vector CANOe.
Debugging Tools: TRACE 32, JTAG, Microsoft Visual studio.
Hardware tools: Real View ICE
Protocols Awareness: RS232, RS422, SPI, I2C, CAN, KWP 2000
RTOS: QNX, VxWorks 5.x, RT Linux, Nucleus, ThreadX
BUG Tracking Tools: Bugzilla, IBM Clear Quest, GIT
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, CHICAGO
Software Engineer
Responsibilities:
- Did programming in C on UNIX platform to contribute to the software project, which automated customized design process.
- Did unit testing of programming projects.
- Wrote a program in C, which converted programmer’s interface between two different types of database.
- Designed and implemented embedded real-time control system software using Embedded C++ coding in RTOS (VxWorks) environment.
- Used Eclipse IDE for Android application development.
- Used Python based GUI components for the front end functionality such as selection criteria.
- Developed GUI using webapp2 for dynamically displaying the test block documentation and other features of Python code using a web browser.
- Responsible for user validations on client side as well as server side.
- Wrote Python scripts to parse XML documents and load the data in database.
- Wrote SQL statements in conjunction with embedded database library to use SYBASE relational database.
- Wrote a program in C, which parses computer logs and then displays the summary in automatically generated HTML files.
- Features development on QTWebkit.
- Wrote a script in Perl, which in conjunction with version control system built a particular version of application.
- Contributed to make file project, which standardized all UNIX make files on the project.
- Wrote documentation for C programs written by myself and other programmers on the team.
Confidential, Columbus, OH
Software Engineer
Responsibilities:
- Play a key role between customer and software development team. Understand customer requirements and Develop embedded engine control software specifications.
- Serve as leadership role troubleshooting embedded engine control software issues. Find critical bugs of embedded control software which would cost company million dollars.
- Develop efficient test strategies and plans that reduce testing time and cost. Verify on-highway truck, machine production/test files on test bench.
- Worked on Bluetooth Low energy application interface development.
- Analyze embedded software memory usage and CPU utilization to guarantee specified system performance under worst case scenario.
- Apply Clearcase version control to embedded software management and migration/upgrade to make sure each revision is traceable.
- Maintain old version on-highway truck/machine embedded engine control software.
Environment: C, C++, Linux, IPC, Scheduling, POSIX Library, GDB, Clear Case, FPGA
Confidential, CA
Embedded Systems Engineer
Responsibilities:
- Designed, developed and tested embedded firmware for simultaneous AC motor system written in C and C++ running on PowerPC.
- Transformed specification requirements and other documents into viable system architecture, requirements description, and then developed into software for module.
- Developed embedded test software for avionics equipment using Embedded C, Green Hills Integrity RTOS And Assembly.
- Created test cases for database that was a leading factor for helping designers fix defects and update Specifications.
- Work closely with product test team to verify hardware test covered customer specifications.
- Resolve software and hardware defects by working closely with other engineers to investigate, assign, and Resolve defects which put project back on schedule.
- Implemented test procedures that verified and hardware and systems for video/audio router module without In - depth documentation that was adopted by project manager.
- Developed firmware specifications from product requirements documents that help hardware engineers Debug initial prototypes.
- Written design documents utilizing Software Process Management (SPM) methodology for critical operational Requirements for Embedded Software.
Environment: C/C++, Eclipse, VxWorks 6.8, Linux, GCC, NIOS-2, UML, ClearCase, Cpptest.
Confidential
Embedded Systems Engineer
Responsibilities:
- Designed & Developed firmware logic for Carriage Movement and print head firing control
- Developed firmware to interface LCD, Keyboard, RTC for Tx40.
- Conversions of interrupt service routines from Assembly to C language.
- Implemented master control ECR firmware logic and 8-bit parallel interface to PC.
- Implemented I2C communication interface.
- Performed system-level integration of the software.
- Involved in code review and regression testing process.
- Interacting with integration test team to troubleshoot problems and provide bug fixes.
Environment: C, VHDL, TMP96C141 Controller, Project Navigator 7.1, MATLABScope and JTAG.
Confidential
Embedded Developer
Responsibilities:
- Designing the system and documenting the requirements.
- Hardware development from soldering to installation onsite.
- Coding the MCP3201 ADC - SPI through SPI communication protocol.
- Interacting with the customer of requirements to develop the project as a whole system.
Environment: Embedded C, Perl, AT89S52 MCU, MCP3201 SPI-ADC, Smoke sensor, Buzzer.
