Sr.software Engineer Resume
Wlison, NC
SUMMARY
- 7+ years of experience as a Software Engineer and coding with analytical programming usingC/C++ and assembly programming.
- Experienced with full software development life - cycle, architecting scalable platforms, object oriented programming, database maintenance and agile methodologies.
- Experience working on a wide range of microcontrollers/microprocessors such as 8051, 8086, ARM, PIC on embedded devices.
- Experienced in setting up servers on Amazon EC2 instance, and the concept of Docker.
- Familiar with Wi-Fi, 802.11, 3GPP, LTE and Internet Protocol concepts.
- Strong experience in automating system test and production tasks using Shell Scripting and Python.
- Experience with VC++ programming.
- Experience in Setup Box Platform.
- Hands-on experience on SCM tools like GIT/GitHub.
- Experience in Enterprise management systems like IBM Rational ClearCase.
- Experience with serial communications including RS232, RS485, I2C, SPI and I2S.
- Experience in field-programmable gate array (FPGA) and Embedded Programming.
- Experience of software development under real-time and integration of software onto hardware platform. Understanding of Printed Circuit Board (PCB) schematics and layout designs.
- Experience working with open source code, implementation of API’s and understanding and developing based on open standards, and datasheets of respective hardware devices.
- Experience using MATLAB, Wireshark, Visual Studio, OrCAD and CADENCE.
- Experience using Dependency tools like Ruby's Bundler or Rust's Cargo to manage dependencies
- Knowledge if voice/video application over wireless network. Development experience with XML, JSON, TCP/IP, UDP/IP and multithreaded application using IPC mechanism.
- Experience with hardware debugging at board level using oscilloscopes, digital multimeter, spectrum analyzers, and use of lab equipment’s such as DC power supply and soldering iron.
- Self-starter, ability to lead the effort with minimum supervision, strong interpersonal skills and enjoy teamwork.
TECHNICAL SKILLS
Programming Languages: C, C++,VC++, Python, Javascript, Assembly Programming, RDK Embedded
Operating Systems: Unix (Solaris, AIX), Linux, Mac OS, Windows
Databases: Oracle, Microsoft SQL Server, IBM DB2, SQLite, Devops
Libraries &Frameworks: STL, BDE, IPC, multithreading, sockets, heap allocators, signals/event handling, SOAP web services
Software Design: OOP/OOD, Design Patterns
Debugging Tools: pdb, dbx, gdb
Version Control: Rational ClearCase, CVS, SVN, git, github
Tools: Redis, GoogleTest, Google Mock, CppUnit, cppcheck, Coverity, Jenkins, Artifactory, Ruby’s Bundler, Rust’s Cargo, emacs, eclipse, UML tools, MS-Office, splunk
PROFESSIONAL EXPERIENCE
Confidential, Wlison,NC
Sr.Software Engineer
Responsibilities:
- Analyze schematic and layout to implement new hardware on a video conferencing camera.
- Learn and understand the datasheets of hardware devices to install drivers and modify kernel modules (I2S and I2C) for the correct working of the hardware.
- Modify the application code in C/C++ to make the hardware compatible to use on the existing platform.
- Setup and configure servers on Amazon EC2 for making SIP calls, and live video streaming.
- Architect and develop code in C to transmit audio and video packets using RTP (TCP/UDP) from the client to the server and vice-versa.
- Implementation of codecs such as SPEEX, AAC, G.722 for audio andH.264 for video on existing platform.
- Develop code in C to pack/unpack JSON messages.
- Transmit and receive JSON messages to communicate from client to and from the server using Web Sockets.
- Modify existing code to migrate from XML format to JSON formats.
- Worked on serial communications including RS232, RS485.
- Worked on RDK Emvedded.
- Use cURL to connect to different servers for sending and receiving data with URL syntax.
- Design and modify GUI on client devices using the Enlightenment Foundation Libraries (EFL).
- Implementation of ConnMan for internet connectivity and use of python for network tests.
- Use of GitHub for version control.
Environment: Application and kernel development using C/C++ on ARM based microcontroller, Python, Shell script, PjSIP, SPEEX, AAC, G.722 audio codecs, MBS, Networking, H.264 video codec, ALSA, oRTP, ConnMan,RDK Embedded, JSON, XML, cURL, EFL, libwebsockets, Kamalio, Wowza Streaming Engine, Amazon EC2, UNIX/LINUX.
Confidential, Framingham MA
Software Engineer
Responsibilities:
- Design and develop ECG and EEG sensors for remote health monitoring system.
- Design and develop wearable health data acquisition system in C code to collect data from sensors and transmit using ZigBee router.
- Collect ECG and EEG signals using ZigBee end device and display the ECG and EEG on a computer using RS232.
- Worked on serial communications including RS232, RS485, I2C, SPI and I2S.
- Design on a RTOS system with selectable preemptive and cooperative with support for semaphores, yielding, and system timers using C code.
- Design and development of a master/slave based bi-directional communication system using RS485 to control one or moredevices such as LED, LCD and motor.
Environment: Development in C using KEIL and MPLAB, reli, XBee, RS232, RS485, PIC microcontroller, OrCAD, LED, LCD.
Confidential, New York, NY
C/C++, UNIX Developer
Responsibilities:
- Analysis of the Functional Specifications and Business Requirements.
- Prepare Design and Development Deliverables.
- Work on the Low Level and High Level Design Documents.
- Design and develop solutions using C, C++, Multi-Threaded, Shell Scripting.
- Using PVCS Version Manager as code repository and PVCS Tracker as Defect management system.
- Using Oracle SQL Developer for Database Activities.
- Worked on Automotive infotainment domain.
- Peer reviews of the Design and Source Code (C, C++, and Shell Scripts).
- Develop and Execute the Module Test Cases on Unit and Integration Testing environments.
- Support System Testing, Acceptance (UAT) Testing and Production changes.
- Debugging and Troubleshooting production issues.
Environment: C/C++, Shell Scripts, SQL, LINUX.
Confidential, Malvern, PA
Software Development Engineer
Responsibilities:
- Designed, developed and implemented firmware to support new product concepts on embedded systems based on Microchip 8-bits/32-bits PIC and Freescale 8-bits microcontrollers.
- Worked with multi-microcontrollers platforms involving accelerometers, CompactFlash memory, LCD, USB, GPS, GPRS and ZigBee networks.
- Implemented RS-232, RS-485, SPI, I2C and other specific communication protocol libraries to communicate microcontrollers and peripherals.
- Developed CAN libraries to monitor internal vehicle variables on the field.
- Collaborated with engineering team members to define and develop new products.
Environment: Firmware development, C, C++, Microchip PIC microcontrollers, Freescale microcontrollers, XBee, accelerometers, CompactFlash storage, LCD, USB, GPS, GPRS, USB, RS-232, RS-485, SPI, I2C, CAN, J19 39, PCBs analysis, MATLAB.
Confidential
C/C++ Developer
Responsibilities:
- Worked with Bulk Data Exchange over a FTP gateway system hosted on a Solaris machine. The application was built in Sun Workshop IDE using C/C++, DB Libraries and text was formatted using Python, shell scripting and SED.
- Implemented inter-process synchronization using semaphores to synchronize various tasks.
- Worked with an alert system that generated alerts for customers based on specific events happening in the market using C++,
- Designed and developed various scripts for enablement or disablement of data using C, Shell and proprietary SQL database.
Environment: C++, event handlers, STL, Python, SQL, shell scripting, IPC, socket programming on Solaris.