- Senior Embedded Software Engineer with 10+ yrs of experience specializing in Cross platform development, designing using hard core C, C++ and Embedded Linux. Platforms include Residential Router, Cable Modem, IP client, Media server and Mobile device software.
- Experience in the analysis, design, developing and debugging of embedded software with more focused in middleware and lower level development on Linux platform.
- Team leader with strong motivational skills and the ability to build, produce and succeed.
- Excellent Programming skill C and C++.
- Strong in C++ OOPS programming and design patterns.
- Extensive experience in new Device bring up from the minimal rootfs to fully production.
- Experience in Network system programming UNIX socket, Internet socket using TCP and UDP.
- Experience in Process Management, Thread management in multithreaded env (Semaphore, Mutex).
- Knowledge on IP Routing, IP tables, Bridges, Firewalls, and VLAN interfaces management
- More than 3 yrs. Of Working Experience in cable and STB software development and integration using RDK and RDK - B platform.
- Experience in implementing the software security using OpenSSL and Linux debian package management using Opkg and Open WRT.
- Experience working with standards-based cryptography and trust primitives (e.g. PKCS, TLS, X.509) and with one or more widely-used cryptographic libraries OpenSSL.
- Experience in GNU build systems Auto tools and Automake.
- Familiar with other remote management protocol like TR69, SNMP.
- Experience in writing Systemd Service and Init to manage Boot sequence on embedded device.
- Strong experience in debugging the memory related issues (Memory leak, crash, segmentation faults etc.) also writing the code for managing the memory in embedded device.
- Strong network troubleshooting and debugging skills using tools like Wireshark, Tcpdump etc.
- Extensive Experience in yocto and Open Embedded build platform. Writing bitbake recipes and integrating various components to the build platform.
- Experience with git, gerrit, clearcase, RTC source control tools.
- Multi Mobile platform experience including Android, Brew/BMP. Developing the mobile middleware and application software using C and C++.
- Hands on experience in agile methodologies of software development life cycle.
- Extensive working experience in large team spread across different geographic locations.
- Able to work effectively with other people at all levels in a fast-paced environment.
Languages: C, C++
Operating System: Embedded Linux, android, Brew, Vxworks (RTOS)
Debugging Tools: Valgrind, GDB, visual Studio, addr2line, Wireshark, tcpdump, QPST, QXDM, ADB, DDMS, logcat, Memory analyzer Tool (MAT), strace, and VI editor.
Standards / Protocols: TCP/IP, UDP, SNMP, IGMP, TR69, HTTP, UPNP.
Database: MySql, Sqlite3.
GNU Tools: Automake, Autoconf
Version Control Tools: GIT, Perforce, SVN, Clearcase.
Tracking Tools: Jira, Rally, and Bugzilla.
Confidential, Philadelphia, PA
- Deeply involved in project scrum and agile sprint cycle planning.
- Leading the Device bring up team, Technical single point of contacts for all stakeholders, Responsible for scheduling weekly release of the product, tracking all issues in JIRA and making sure all critical issues are being addressed quickly to meet the aggressive release milestone.
- Worked on redesigning of various components of RDKB stack and identify the areas of improvement so that gateway can be brought up faster.
- Wrote systemd service for RDKB processes.
- Worked on Boot time optimization by redesigning the boot up sequence from normal script based process launch to systemd service, with this overall boot up time has been reduced to half.
- Worked on designing and Implementation of vlan utility application in C++ to setup the network bridges.
- Worked on socket implementation both TCP and UDP way to handle various client and server network communication.
- Wrote code to implement shared memory IPC between processes running in system.
- Implemented the event handler function to handle multinet events to bring up private network, Home security and hotspot network bridges.
- Wrote shell based script to set up the IOT Network Bridge, setting up the DHCP server so supported devices can connect to the network and reach external server to fetch the private Wi-Fi credentials to connect to the actual network.
- Worked on bridge Mode Implementation that will disable the NAT feature in gateway and allow a router to function as DHCP server.
- Worked on setting up the Iptables rules to handle various network packets
- Involved in the Implementation of IPv6 Prefix delegation for Confidential business class router in RDKB stack.
- Implemented gateway prov application in C++ to handle docsis events in RG side to complete the registration process.
- Worked on Yocto Migration of the existing legacy xb3 router, this involved writing bitbake recipes for all the software components, adding auto tools and automake support.
- Responsible for wifiagent process bring up in yocto platform and resolving various issue found during bring up activity.
- Debugging, triaging various issues reported in field and provide the quick fixes without impacting the major release milestone.
- Writing yocto, Open Embedded based bitbake recipes while integrating various Open source components to the project build system.
- Added GNU based auto tools and automake support for various software components.
Environment: C/C++, Embedded Linux, RDKB, GDB, Yocto, Minicom, valgrind, python, Gerrit, Git, strace, GNU automake and autotools,JIRA.
Confidential, Philadelphia, PA
- As a device lead setting of the project, understanding the requirements from product owner put them in task form in JIRA.
- Being a scrum master on the project make sure discuss critical items on daily calls and tracking them on daily basis.
- Sprint planning and weekly release plan. Tracking all backlogs and ensure to address them in next spring cycle.
- Coordinating with soc and OEM vendors on critical items to make sure issues are getting prioritize, fixed in timely manner without impacting the release plan.
- Writing bitbake recipe for integrating various components in the project build platform.
- Bring up the device with RDK software stack.
- Understanding of the tr69client for remote management of the device and auto configuration and its interaction .
- Implementation of SOC interface apis C++ to get the Broadcom SOCs data for diagnostic purpose using tr69 client.
- Designing the architecture to handle the device transition from XI to DTA.
- Writing the Linux system services for various processes.
- Debugging various memory leak and crash Issue across the platform.
- Interaction with various third party vendor for the project requirement and deliverables.
- Participating in the code review process and helping team members on technical issues.
Environment: C/C++, Embedded Linux, RDK, GDB, Yocto, Minicom, valgrind, python, Gerrit, Git, TR69.
Confidential, Lawrenceville, GA
- Worked on Developing the code download module for Media gate way (The code download module supports the update of platform code image in monolithic form as well as software/firmware in package format)
- Implemented the Debian package management using opkg (creating, installing, upgrade, downgrade, uninstalling) in Media gate way using code download module.
- Design the state machine of entire component and implemented the even handling mechanism.
- Implemented the mechanism to authenticate all debian package downloaded using code download
- Wrote C based xml security library based on libxml2 and openssl to authenticate the digital signature of campaign file in DSMCC carousal .
- Compiling and integrating open sources components.
- Writing bitbake recipes to integrate various open sources and Confidential components to the project.
- Worked on the DSMCC filter library responsible for joini ng the multicast and Implemented the UDP socket in C multicast joining and receiving the data from download server.
- Writing init run level script to run the process at boot up.
- Added the USB hot plug support to update the firmware through USB device.
- Worked on unit and system level testing of the Code Download functionality.
- End to End Integration with Customer CDL server to make sure the software developed meet the production standard without any issue.
Environment: C, UML, Linux, Minicom, valgrind. Code collaborator, Git, RTC, Wire Shark, Tcpdump, shell scripts, python, and openssl.
Confidential, Lawrenceville, GA
Consultant/ Software Engineer
- Understaning of existing STB architecure and preparing the design docs to support the integeration efforts .
- Worked on integeration of VOD application.
- Involved in fixing the issues related to Vod authorization and differntitaing channels. worked on integeration of Mosic, Upsell and search application.
- Prepared UML sequence diagram for various call flows using BOUML.
- Perform code review, unit testing and integration testing for application readiness.
Environment: C++, UML, STL, Linux, Minicom, valgrind. Code collaborator, Git.
- Understanding of the Android GB architecture.
- As a Lead Engineer was mainly involved in understanding of APIs difference between froyo and gingerbread android stack for all the native applications.
- Worked in Stage freight media player, Surface Flinger components porting.
- Worked on debugging and fixing issues reported in phone, contacts, music application from Middle ware side.
- Involved in performance profiling, memory profiling.
- Closely working with the test team and helping them in troubleshooting the issues.
Environment: C++, android, ADB, DDMS, MAT.
Confidential, San Diego
Member Technical Staff
- Involved is preparing the design for TSC content player middleware side running on Brew platform.
- Development of the media player extension to support the play back of Time shifted content using Media Flo UI.
- Development of the TSC player UI (scrubber, scrub controller) in C++.
- Implemented the dragging, Tapping and hold on scrubber TSC player in C++.
Environment: C++, STL, Brew, QPST, QXDM, Brewlogger, Perforce, Visual studio.
Confidential, San Diego, CA
Member Technical Staff
- Involved in the development of the library and play module in c++.
- Added background Music support for the application.
- Porting of the application to different Brew enabled devices.
- Coordinating with offshore tam to handoff the task on daily basis.
- Worked on the v cast catalogue module and implemented UNIX socket to handle the communication between processes.
- Bug fixing and troubleshooting customer reported issues.
Environment: C/C++, Brew, visual studio, QPST, QXDM.
Member Technical Staff
- Implementation and coding of various features in album viewer, Audio Picker, file manager module in C.
- Testing various functionalities, debugging, and troubleshooting issues reported y test team.
- Implemented the Media player module in C and brew platform using IMedia framework in brew.
Environment: C/C++, Brew, QPST, QXDM, Perforce.