Post Job Free
Sign in

Software Engineer Development

Location:
Charlotte, NC
Posted:
April 21, 2025

Contact this candidate

Resume:

Hemanth Yerramaraju *******.***********.******@*****.*** +1-980-***-****

Summary:

• Senior Embedded Software Engineer with 9+ years of experience in embedded systems, IoT applications, and real-time software development across automotive, healthcare, and finance industries.

• Expertise in C, C++, Python, Golang, and embedded C, with proficiency in RTOS, Linux Kernel, and Yocto- based systems.

• Strong background in firmware development, debugging, and troubleshooting using GDB, Valgrind, Coverity, and JTAG tools.

• Extensive experience with real-time operating systems (RTOS, QNX, Zephyr, FreeRTOS) for mission- critical applications.

• Hands-on expertise in microcontrollers (8051, ARM, PIC), FPGA development, and embedded hardware platforms.

• Developed high-performance, multithreaded embedded applications for automotive ADAS, SDV, and medical devices.

• Skilled in networking protocols (CAN, Ethernet, ZigBee, Z-Wave, Bluetooth, TCP/IP, MQTT, Modbus, FlexRay).

• Proficient in cloud migration, DevOps tools (Jenkins, Bamboo, Git, CI/CD), and containerization with Docker/Kubernetes.

• Designed SOAP & RESTful APIs to enable seamless integration of embedded systems with enterprise applications.

• Deep understanding of cybersecurity protocols, encryption techniques, and regulatory compliance (HIPAA, ISO 13485, FDA 21 CFR).

• Strong experience in Win32 API, MFC, and QT/QML for GUI development in embedded and desktop applications.

• Integrated machine learning algorithms into embedded systems for predictive analytics and automation.

• Developed and optimized low-latency, high-efficiency code for real-time embedded systems in critical applications.

• Skilled in sensor integration, signal processing, and edge computing for IoT and industrial automation.

• Experience in cross-platform embedded software development for Linux, Windows, and real-time environments.

• Hands-on experience with U-Boot, device drivers, and Board Support Package (BSP) development.

• Led cross-functional teams in agile and scrum environments, ensuring timely project execution.

• Strong debugging, unit testing, and validation experience, ensuring robust, scalable, and maintainable software solutions.

• Passionate about embedded innovation, automation, and optimizing system performance for real-world applications

Technical Skills:

Programming Languages C, C++, Python, Java, Golang, Shell Scripting Operating Systems Linux, Sun Solaris, Windows

Databases MySQL, MS Access, SQL Server, Oracle,

Cassandra

Software Development Methodologies Agile, RAD (Rapid Application Development), Waterfall, Test-Driven Development (TDD),

Scrum

Object-Oriented Programming & Web Services OOPs, SOAP, RESTful APIs, WSDL Integrated Development Environments (IDEs) &

Compilers

Keil (8051 variants & ARM), IAR Embedded

Workbench, AVR Studio, Eclipse IDE,

NetBeans IDE, Visual Studio

Networking & Communication Protocols CAN, Canoe, Ethernet Embedded Systems & Hardware Platforms ARM9, 8051, Renesas, 89C52, AT SAMD21, Trace-32, FPGA Simulation

Scientific Computing & Simulation Tools MATLAB

CI/CD & DevOps Tools Jenkins, Quick Build, Bamboo, CI/CD Tools Frameworks & Development Tools Boost, Apache ActiveMQ, ANT, Gradle, Vector DaVinci, AUTOSAR, Maven, JAM,

CMake, YOCTO, QNX

Automotive & Embedded Systems SDV (Software-Defined Vehicle), ADAS

(Advanced Driver Assistance Systems), FOTA

(Firmware Over-the-Air), Crank GUI

Build & Debugging Tools Bazel, GDB, DBX, PDB, Link Static & Dynamic Analysis Tools CppCheck, Coverity, Gprof, Valgrind Version Control Git, SVN

Professional Experience:

Client: IQVIA— Durham, NC

March 2024– Present

Role: Sr. Embedded C/C++/Software Developer

Responsibilities:

• Worked on designing, and implementing Internet of Things (IoT) applications for Home Automation & sensor devices (e.g. Ethernet, Wi-Fi, Cellular, ZigBee, Z-Wave etc.)

• Used Python scripts to generate various reports like OATS, P&L, transaction history, user privileges, limit rules, and commission schedule reports.

• Providing technical support to new team members. Expert-level knowledge of Visual C++, MFC and Win32

• Yocto is utilized to create customized Linux distributions tailored for embedded systems.

• The framework enables efficient resource utilization, optimized performance, and streamlined software deployment, ensuring the seamless integration of software solutions into the embedded hardware developed.

• Leveraging my project management experience from the automotive sector, I would apply rigorous process control and efficiency optimization at IQVIA to manage healthcare software projects.

• My ability to handle complex, multi-disciplinary projects would ensure timely delivery and adherence to industry standards.

• Furthermore, my experience in leading diverse teams and managing large-scale software deployments can enhance IQVIA's capabilities in implementing integrated healthcare solutions.

• My proficiency in project scheduling and resource management would help in maximizing productivity and meeting strategic objectives within the healthcare analytics sphere.

• API Configured internet software/web servers on UNIX, Linux, and Windows-based systems.

• Leveraged the QT/QML framework extensively to develop visually appealing and responsive user interfaces for IoT applications. Integrated QT/QML components to ensure intuitive navigation and seamless interaction, enhancing overall user experience and functionality. This approach facilitated the efficient development and maintenance of customer-facing applications.

• Optimized design and code for high performance and fixed various bugs.

• Develop and execute the module test cases on unit and integration testing environments.

• Peer review of the design and source code in C, C++ 11, C++ 14, Embedded C, and Java.

• Work experience on multi-threaded codes using embedded RTOS environments.

• Proficient in QA processes, and test strategies and experienced in testing documents like test plans, test procedures, and test cases.

• Develop and maintain embedded software systems tailored for healthcare and life sciences applications.

• Collaborate closely with data scientists and bioinformatics teams to ensure seamless integration of hardware and software solutions.

• Work on designing real-time data processing systems for medical devices or health monitoring platforms.

• Implement secure data communication protocols, ensuring HIPAA compliance and data privacy.

• Optimize embedded systems to handle large-scale healthcare data efficiently and reliably.

• Use C/C++ and Python for coding and debugging complex healthcare software applications.

• Support the integration of machine learning algorithms into embedded devices to enhance healthcare insights.

• Spearheaded embedded software testing for medical device communication protocol stacks, ensuring compliance with regulatory standards such as FDA 21 CFR Part 820 and ISO 13485.

• Applied knowledge of safety-critical systems to develop and execute rigorous testing procedures, contributing to the validation of medical device software by IEC 62304 guidelines.

• Utilized migration plan to enhance scalability, security, and efficiency of data management and analytics processes.

• Utilize CAN, FlexRay, or LIN networks in IQVIA for real-time data communication and synchronization within medical devices and diagnostic equipment.

• Strong experience with Windows APIs, including Win32 and COM, for interacting with the Windows OS and handling system-level tasks.

• Familiarity with Universal Windows Platform (UWP) for developing cross-platform Windows applications.

• Python is employed in IQVIA for data analytics, machine learning algorithms, and automation tasks, enhancing insights and decision-making in healthcare analytics.

• Environment: C, C++, C#, Python, Solaris (Shell Scripting), Python, Sybase-TSQL, QT/QML, Oracle, MATLAB, UEFI/BIOS, QNX, SDV, ASPICE, ADAS, Crank GUI, I2C and IPM protocols, LSA, Jenkins, Yocto, REST, SQL, PL/SQL, JIRA, ARM, Sun Studio 7 (Forte—Cross Environment), CAN, Xilinx Versal, Zephyr, PLDM, Device Driver Development, Cosmos DB, CRO, MQ Series, SQL-Loader, and Toad. Client: Bank of America, Charlotte, NC

Jan 2023-Feb 2024

Role: C++ Software Developer

Responsibilities:

• Analyzing the customer specifications to develop the software requirements.

• Performing software development activities, which include requirement gathering, design conceptualization, and coding. software development activities, which include requirement gathering, design conceptualization, and coding.

• C++ coding of models (IVR programs) in a 3-layer (framework, attributes, models) architecture application.

• Singleton design pattern as used in the framework.

• Send/receive XML requests and responses through HTTP protocol.

• development environment in the RTOS VxWorks framework.

• Used RTOS for coding models, implementing singleton design patterns, and ensuring compliance with development processes, contributing to the creation of robust and reliable banking software solutions.

• RTOS was also used for the execution of tasks such as transaction processing, data analysis, and user interactions while maintaining stringent timing requirements. It also ensures the integrity and reliability of financial systems.

• At HUXLEY Banking and Financials, leverage cloud migration to modernize legacy systems, improve data accessibility, and enhance compliance with industry regulations, ensuring seamless operations and superior customer experience.

• Integrated Zephyr to develop real-time operating systems for banking software solutions at HUXLEY, ensuring reliability and compliance with stringent timing requirements.

• Used the Curl (command line URL) concept to send and receive HTTP requests.

• This server provides an XML response for the XML request, which acts as a dummy server.

• Developed a C++ application by creating a class for each application. Each application uses the functionalities of a framework Preparing program, unit test specifications, and system test plan for the components.

• Implemented embedded software testing methodologies for navigation module software drivers, adhering to regulatory standards including FDA 21 CFR Part 820 and ISO 13485.

• Led testing efforts for safety-critical systems in banking and financial software, aligning with regulatory guidelines such as IEC 62304 to ensure the reliability and compliance of software solutions.

• Deep understanding of Windows Internals, with expertise in diagnosing and troubleshooting issues like memory leaks, application crashes, and performance bottlenecks.

• Testing experience in a regulated environment for medical devices Mention your experience working in a regulated environment, ensuring that medical device software meets regulatory requirements and standards such as FDA regulations.

• Good understanding of wireless technologies, including 802.11 WLAN**: Showcase your knowledge of wireless technologies, particularly how they relate to banking and financial systems, and any experience optimizing WLAN performance or security.

• Experience maintaining and enhancing testing infrastructure led to or participated in improving testing infrastructure, such as implementing automated testing tools or enhancing testing environments for better efficiency and coverage.

• Expertise in complex client-server network testing/Windows-only proficient testing of complex client-server applications, particularly in a Windows environment, and any experience with network testing methodologies and tools.

• Leverage the CUDA Toolkit to accelerate financial data processing and analysis tasks, improving the performance and efficiency of complex algorithms used for risk assessment and fraud detection at HUXLEY Banking and Financials.

• By integrating these points into your existing resume, you'll demonstrate your alignment with the job requirements at HUXLEY and showcase your relevant experience and skills for the role.

• Integrating Crank GUI would optimize the development of user interfaces for banking software, ensuring intuitive navigation and enhanced user experience. Crank GUI enables rapid prototyping and iteration, facilitating alignment with regulatory standards and client expectations. Its utilization streamlines UI design processes, accelerating time-to-market for new financial solutions and enhancing customer satisfaction. With Crank GUI, HUXLEY can create visually appealing interfaces tailored to the unique needs of banking and financial services.

• Creating data-specification Win32 database and UI application for "smart chips. Required dynamic, runtime creation of database schema, SQL writing to both create and present the current database to the user, and UI programming. UI mainly includes a complex, multi-step, multi-path wizard, which was done to the Wizard 97 specification.

• MATLAB played a crucial role in financial data analysis, providing insights into market trends and risk assessment strategies. Its statistical toolbox was used for data visualization and hypothesis testing, enhancing decision-making processes within the financial domain.

• Environment: C, C++, Embedded C, STL, RTOS Unix, Linux, g++, gcc, Python, QT/QML, HL7, Crank GUI, ADAS Meta Trader Protocol (MTP), UEFI/BIOS, I2C and IPMI protocols, LSA, DOOR’s, CUDA Toolkit, Device Driver, Financial Information Exchange (FIX) protocol, and QuickFIX. FOTA WIN32, Windows, Python, Zephyr, Device Driver Development, 802.11, ADAS, WLAN, gdb, AWS, MATLAB, Shell Scripting, and C#.

Client: COMCAST - Philadelphia, PA

March 2022– Dec 2022

Role: Embedded/C++ Software Developer

Responsibilities:

• Prepare design and development deliverables.

• Develop and execute the module test cases on unit and integration testing environments.

• Peer Review of the Design and Source Code in C, C++, Embedded C, Java

• Proficient in QA processes, test strategies and experience in testing documents like Test plans, test procedures and Test Cases

• Collaborated with the engineering team members to define and develop new products.

• Used MATLAB for signal processing tasks, enhancing the quality of audio and video streaming services provided. Its simulation capabilities to model and analyze network protocols contribute to the development of robust communication systems.

• Python is employed at COMCAST for network automation, configuration management, data analytics, and optimizing network performance and reliability.

• Utilize server domain expertise at COMCAST to optimize and maintain server infrastructure for seamless delivery of streaming services, ensuring high availability and reliability for millions of users.

• Python scripts facilitate the integration of streaming services, content recommendation algorithms, and user behavior analysis, enhancing the entertainment experience for COMCAST customers.

• Utilize PLDM to streamline data management and communication protocols in networking software, optimizing performance and reliability for Comcast's services and products.

• Leverages Python for developing customer-facing applications, network monitoring tools, and predictive maintenance systems, ensuring seamless connectivity and service delivery.

• Used GIT/GitHub and SVN for source code control.

• LSA (Life Sciences Authentication) may involve stringent user verification methods and encrypted data transmission protocols to ensure secure access to confidential information and services, enhancing data protection and privacy for users.

• Investigate the use of ADAS in enhancing customer experience and satisfaction by analyzing user behavior analytics platforms for network optimization and performance monitoring, leveraging machine learning algorithms to predict and prevent network congestion and service disruptions.

• Implemented SEGGER embOS to develop embedded real-time operating systems for efficient communication and data exchange within Comcast's software solutions.

• Implement Local Security Authority (LSA) mechanisms to enhance authentication and access control in network infrastructure.

• At COMCAST, employ cloud migration to streamline infrastructure, boost network performance, and enable rapid scalability of services, fostering innovation and meeting evolving customer demands with agility and cost-effectiveness.

• Utilize LSA for managing security policies and enforcing user authentication protocols across COMCAST's systems and services.

• BLE (Bluetooth Low Energy) technology is utilized for IoT device connectivity, enabling seamless integration and control of smart home devices within the COMCAST ecosystem.

• Leveraged BLE for location-based services, asset tracking, and proximity detection, enhancing user experiences and enabling personalized content delivery.

• BLE beacons are deployed in COMCAST retail locations for targeted advertising, customer engagement, and analytics, optimizing marketing strategies and improving customer satisfaction.

• Leverage LSA to ensure robust security measures and compliance with industry standards in safeguarding sensitive data and infrastructure.

• Utilize BMC (Business Model Canvas) to map out Comcast's business model, including key activities, resources, and partnerships, to gain insights into its operations.

• Identify customer segments and value propositions within Comcast's offerings using BMC, ensuring alignment with market needs and differentiation strategies.

• Analyze revenue streams and cost structures using BMC to optimize profitability and sustainability for Comcast's services and products.

• Continuously update and refine the BMC for Comcast to adapt to changing market dynamics and maintain a competitive advantage.

• Encapsulation hides the internal complexities of Comcast's systems, allowing for clearer interfaces and easier maintenance.

• Utilize FMEA (Failure Mode and Effects Analysis) in COMCAST to identify and mitigate potential failures in system

• Fixing the bugs according to the requirements. Implemented custom Gina DLL and Windows Hook DLL.

• Environment: C, C++, Embedded C, STL, Unix, OOPs, Linux, g++, gcc, Python, BLE, Java, PLDM, ADAS, SEGGER embOS, MATLAB, IBM DB2, LSA, BMC, Device Driver Development, LSA, FMEA, Windows SDK, WIN32 multithreading, gdb.

Client: Mindtree - Bangalore, India

Jul 2015 – Dec 2021

Role: Software Engineer

Responsibilities:

• Analysis of the Functional Specifications and Business Requirements

• Develop and execute the module test cases on unit and integration testing environments.

• Peer Review of the Design and Source Code in C, C++, and Embedded C.

• Proficient in QA processes, test strategies and experience in testing documents like Test plans, test procedures and Test Cases

• Worked on IOT for microcontrollers in hardware layers

• Developing the CAN libraries to monitor internal vehicle variables in the field.

• Collaborated with the engineering team members to define and develop new products.

• MATLAB was used for modeling and simulating complex financial scenarios, aiding in portfolio optimization and asset allocation strategies.

• Utilized SEGGER embOS to develop real-time operating systems for efficient banking operations and seamless communication within ICICI Bank's software infrastructure.

• Strong expertise using simulation tools like CANoe, Cadet, Vbench, and Ethernet.

• Used Python scripts to generate various reports like OATS, P&L, transaction history, user privileges, limit rules, and commission schedule reports.

• Used GIT/GitHub and SVN for source code control.

• Implement Local Security Authority (LSA) protocols for robust user authentication at ICICI Bank, ensuring compliance and safeguarding sensitive banking data.

• Leverage LSA to enforce security policies and manage user privileges, bolstering the overall security of ICICI Bank's IT infrastructure.

• Define classes such as Account, Customer, and Transaction to model entities within ICICI Bank's ecosystem, establishing a clear hierarchy for organizing data and behaviors.

• Utilize encapsulation to hide the internal details of ICICI Bank's operations within each class, ensuring data integrity and minimizing direct access to sensitive information.

• Implement inheritance to create specialized classes like savings accounts and maintain consistency.

• Apply polymorphism to enable different types of accounts to respond to common banking operations, such as deposit and withdrawal, in ways that are specific to their respective implementations, enhancing flexibility and adaptability.

• Break down complex banking systems into smaller, manageable modules represented by classes, promoting modularity and facilitating easier maintenance and updates.

• Compose complex banking functionalities by combining simpler objects and classes, fostering code organization and allowing for the creation of sophisticated banking systems with interconnected components.

• We are currently using Golang for generating APIs that interact with our front-end applications.

• Followed Agile and Scrum Methodologies Application Programming Interface (API), written in C++ and C#.

• Development experience with XML, JSON, TCP/IP, UDP/IP, and multithreaded applications using the IPC mechanism.

• Fixing the bugs according to the requirements.

• Used QT5.0 to design and develop monitoring systems for online usage.

• Developed microservices using the Go language and developed corresponding test cases.

• Testing the machine equipment by using the ECM (Electronic Control Machine or unit).

• Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.

• Demonstrated solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.

• Analyzing, designing, and implementing change requests for the C/C++

• Prepared and installed solutions by determining and designing system specifications, standards, and programming in Desktop Framework

• Environment: C/C++, Linux, Golang, Canoe, Device Driver Development, BLE, ASPICE/ASIL, SEGGER embOS, LSA, Cadet, OOPs, MATLAB, Kafka, GitHub, Docker



Contact this candidate