Hsit Software Engineer Resume
SUMMARY:
- 8 years of professional experience in Embedded Firmware, Application & Driver Development.
- Embedded Firmware development (C, C++, RTOS: Linux, QNX Neutrino, µC/OS - II and VxWorks).
- Hands-on experience in Device Driver and API library development .
- Expertise in System Analysis, Design and Development of various projects in multiple domains.
- Experienced in software product life cycle, design process including requirement definition, prototyping, proof of concept, design, implementation, testing ( unit & regression), bug fixing and maintenance .
- Expertise in various embedded application solutions for various embedded products.
- Knowledge of real time communications/network implementation .
- Rich hands-on programming experience in C, Embedded C, Assembly language and Data structures .
- Experience in C++ Object oriented programming .
- Provided various software programming solutions for embedded software applications, management software, Multithreaded programming, Unix/Linux programming, POSIX programming, IPC/Socket programming and Deadlock prevention in multicore environment .
- Experience using embedded development tools including JTAG emulators, Logic analyzers and Digital/analog scopes.
- Hands-on experience in Python and Shell scripting.
- Experience in Configuration Management tools such as SVN and Clearcase .
- Excellent Analytical, Debugging and problem solving skills.
- Experience in working with cross-functional teams.
- Highly motivated and detail oriented with strong work ethics.
- Excellent communication, interpersonal and documentation skills.
- Ability to work effectively and make significant contribution in team and group environments.
TECHNICAL SKILLS:
Programming Lang uages: C/C++, Embedded C, Assembly Language and Matlab.
Scripting Languages: Python and Shell.
Software T oo: l s: Perforce (P4V Visual Client), AV R St u d i o 4, Kei l V i s i o n 4, GIT, Bitbucket, SourceTree, JIRA, IBM Rational DOORS, LDRA Testbed, Microsoft Visual Studio Express 2013, GvEdit, B o r l an d C ++, CCS 5.3.0, D ev C ++, Notepad++, GCC, GDB, SlickEdit, B eag l e L o g i c An al yz er and SPI Pro t o c o l An a l yz er, Ad v an c e d D es i g n Sy s t em, IBM Rational ClearQuest, Putty, HyperTerminal, SVN, Clearcase, Araxis Merge, Beyond Compare an d M i c r o s of t O f f i c e.
Hardware Tools: Atmel & ARM (A7 & Cortex M3) Micro-controllers, JTAG, Spectrum debugger, Analog & Digital Oscilloscopes, Schematics and V ec t o r N etw or k An a l yz er.
Protocols: UART, SPI, I2C, TCP/IP, CAN, UDP, ARP, DHCP, Mobile IP, SMTP, HTTP.
Networking Tools: Network Simulator 3 (NS-3), W i l d p ac k et s O mn i p eek and W i r es h ar k.
Operating Systems: Windows, Linux, QNX Neutrino, C/OS-II and VxWorks.
PROFESSIONAL EXPERIENCE:
HSIT Software Engineer
Confidential, Fort Lauderdale, FL
Responsibilities:
- Decomposition of system requirements into software requirements.
- Design and implementation of software requirements for various applications (Primary Electrical Power System (PEPS), Roll Yaw Trim (RYT), Full Authority Digital Engine Control (FADEC) Wheel Brake and Tyres (WBT), etc.) using C/C++, Embedded C programming languages in Windows environment.
- Perform Verification by design/develop/debug of Functional and HSIT tests (System level) for various applications (Fire protection, Oxygen, Fuel, Environmental Control system, Maintenance, etc.).
- Application and requirement-based test case development (Verification) using Microsoft Visual Studio Express 2013 IDE (Integrated Development Environment).
- Use of GIT/Bitbucket for source code management and version control and Notepad ++ for text editing purposes.
- Ensuring that the developed code strictly adheres to the guidelines enlisted in the DO-178B standard for safety-critical software used in avionics software systems.
- Defect/Bug fixing using JIRA, a tool used for issue tracking and project management purposes.
- Use of IBM Rational DOORS as a database for requirements and to keep track of any modifications in design/specifications.
- Perform Static and Dynamic analysis using LDRA Testbed (MISRA C:2004).
Environment: C, Embedded C, Microsoft Visual Studio Express 2013 IDE, GIT, Bitbucket, SourceTree, JIRA, LDRA Testbed and IBM Rational DOORS.
Embedded Software Engineer
Confidential, Erie, PA
Responsibilities:
- Designed and developed Embedded Control software using C/C++ in a QNX Neutrino (RTOS) environment.
- Implemented SCNs (Software Change Notice) and worked on Defect fixes for various Baselines/ Release versions of the software. Used IBM Rational ClearQuest for tracking purposes.
- Worked on implementation of Real-time Configurable Parameters, Monitor Parameters, On-Board Diagnostic Incidents, etc. based on Matlab models/handcode and also created HMI screens for the operator.
- Firmware and Application development using GCC compiler on a QNX Host PC. Used Perforce (P4V Visual Client) for revision control and Notepad++/Vim for text editing purposes.
- Involved in Software Releases for various customers like Union Pacific (Q1 ’16, Q3 ’16 and Q1 ’17), NS (Norfolk Southern), BNSF, Ferromex, etc. and Tier-4 Locomotives.
- Software requirement review and revision in collaboration with Controls and Design engineers.
- Performed Software tests/Validation on HITL Simulators (Hardware in The Loop) in a Simulation laboratory as well as on real locomotives.
- Supported the escalations and was also involved in fixing of bugs found in the software during alpha, beta testing and field test on locomotives.
- Participated in daily Stand-up Scrum meetings as part of an Agile Development process.
- Performed technical peer reviews for software and provided assistance to peers troubleshooting difficult problems.
Environment: C, Embedded C, C++, GCC, QNX Neutrino, Perforce, Notepad++, IBM Rational Clearquest, Araxis Merge and Putty/Hyperterminal.
Senior Embedded Engineer
Confidential, New York, NY
Responsibilities:
- Designed and developed embedded real-time data monitoring system software using C/C++ in Linux (RTOS) environment.
- Implemented Networking concepts like TCP/IP protocol for data transfer.
- Software requirement review and revision in collaboration with Systems engineering team.
- Firmware and Application development using GCC compiler in Linux Host PC.
- Developed Python scripts for diagnostic purposes.
- Developed a Linux driver for a portable device using i.MX ARM-based development kit.
- Supported the escalations and was also involved in fixing of bugs found in the software during alpha and beta testing.
- Optimized code to minimize memory usage and maximize CPU throughput.
- Delivered software fixes or patches to different baselines, release versions of the software.
- Performed technical peer reviews for software and provided assistance to peers troubleshooting difficult problems.
Environment: C, Embedded C, C++, Socket Programming, GCC, Gdb debugging, Linux and Python.
Senior Embedded Engineer
Confidential, Methuen, MA
Responsibilities:
- Developed and maintained code for data acquisition through peripheral protocols such as RS-232, SPI, and I2C.
- Documented Functional specifications, Architectural revisions and Component designs.
- Implemented the software using C/C++ and Assembly Language to transmit the data collected from the sensor using proprietary protocol stack.
- Developed an Ethernet driver on Windows.
- Customized user interface application used to analyze the data collected from the sensor and performed unit tests.
- Performed on-target software debugging using BDM interface debugger.
- Provided best solutions for the critical bugs by identifying the root cause of the issue.
- Involved in every step of SDLC process like Requirement Analysis, Design, Coding, Unit testing, Release, etc.
- Worked in close cooperation with project managers and other functional team members to come up with the best possible solution for the potential issues from the customers.
- Developed test/analysis tools using Python scripting language.
Environment: C, C++, Assembly language, Embedded C, Multi-threading and thread synchronization, Windows, Tortoise SVN and Python.
Embedded Engineer
Confidential, Louisville, KY
- Developed embedded software and was also involved in porting for end clients seeking to implement Bluetooth in their product line(s).
- Implemented the change orders for the Bluetooth application according to the project requirements.
- Teamed with Systems Engineering group to keep in-sync software requirements and modeling updates/changes.
- Customized wireless protocol parameters to achieve faster wireless transmission data rates.
- Worked with an array of microprocessors including ARM processors, and Texas Instrument’s DSPs.
- Developed test software for GPIOs, PWM, ADC read & EEPROM read and write.
- Created, debugged, and peer reviewed C based test scripting code.
- Documented specifications and test cases.
- Developed low-level Drivers using I2C, GPIOs, PWM, RS232 and CAN protocols.
- Generated make files and played an active role in debugging firmware.
Environment: C, Borland C++ IDE, Assembly language, Shell, Embedded C, CCS 5.3.0 and Spectrum debugger.
Embedded Engineer
Confidential, CA
Responsibilities:
- Developed C code for physical/driver and Resource layer module.
- Porting of DVB-Common Interface (DVB-CI) physical layer.
- Implemented the concept of Boot-loader in device, which makes the device bootable through SD card.
- Integration of CI stack with the DVB middleware /applications.
- Bring-up of Conditional access module (CAM) on Genesis Chaplin platform.
- Porting of hardware layer for various platforms/OS.
- Worked on Graphics Library in Microchip and implemented the file system in the project.
- Under Diagnostic Module, developed the C code for testing all the peripherals of device like SD Card, Touch Screen, Calibration Testing, Audio Testing, Wi-Fi Testing, RAM and Flash Testing and Color Testing of LCD and mostly worked on Microchip’s Graphics library and on FAT File Systems.
- Maintain Quality norm while preparing test documents, Reports and Proposals.
- Integration testing, address all system testing and production issues.
Environment: C, GDB, MIPS-GCC, Linux, Assembly Language and Deadlock prevention.
Embedded Engineer
Confidential
Responsibilities:
- Integrated code for HAL-level B r i n g u p o f W i - F i mo du l es ( C o n n ec t - i o- n a n d Wi Se C o nn ec t s er i es ) w i t h At mel X- M eg a A3 B U Xp l ai n e d an d U C 3 L 0 X p l ai n ed M i c r o - c on t ro l l er b o ard s u s i n g SPI an d U A R T i n t erf ac es .
- Configured the hardware unit based on the schematics and debugged the code using JTAG debuggers with AVR Studio 4.0 IDE.
- Executed T es t c as es an d do c u men t ed t h e S t ar t -u p g u i d e f o r t h e ass i g n ed Sof tw ar e R el eas e t as k .
- Developed Firmware using Embedded C, Assembly language and implemented a Detector-based R F W ak e-u p mec h an i s m for Dual band (2.4/5 GHz) RTLS Tags in Power-Save mode by actively collaborating with a team of 4 members .
- Sp earh ead ed t h e R T L S N etw or k V al i d at i o n t eam a n d p e r for me d t es t s o n R SSI an d T D O A met r i c s f o r Wi - F i b as ed R T L S ap p l i c at i on s
- Developed test applications to test the functionality of the application programming interfaces of these peripheral components.
Environment: C, AVR Studio 4.0, Windows, Embedded C, GCC, GDB, SVN, Linux and Beyond Compare.