5+ years of experience in Embedded Software Development involving full lifecycle product design, hardware-software integration, peripheral interface, driver development, and performance optimization on real-time platforms.
Specialized in Nvidia SoC platforms (Orin/Thor), Drive OS, and DriveWorks SDK for cutting-edge applications in automotive and intelligent mobility systems.
Proficient in C, C++, and Python with demonstrated success in embedded application programming, test automation, and system debugging across safety-critical environments.
Expertise in Linux internals, including kernel configuration, custom driver development, device tree configuration, and Yocto-based embedded Linux builds.
Hands-on experience with secure flashing, U-Boot configuration, and low-level debugging tools to bring up custom hardware platforms.
Integrated standard interfaces such as UART, SPI, I2C, and CAN for robust communication in multi-node embedded environments.
Experienced in real-time multi-threaded programming, memory management, interrupt handling, and power optimization techniques.
Active contributor in Agile environments, utilizing Jira for task management and participating in sprint planning, reviews, and retrospectives.
Worked on embedded AI/ML integration using TensorRT and OpenCV for real-time decision-making on edge devices.
Conducted detailed code profiling, latency reduction tuning, and runtime analysis to meet performance KPIs for embedded products.
Participated in ISO 26262 aligned development lifecycle, with contributions to software documentation, testing, and failure mode analysis.
Built internal tools for firmware release tracking, change control, and software versioning to support continuous improvement cycles.
Implemented embedded diagnostics framework and logging modules to enable in-field issue tracing and root cause analysis.
Overview
5
5
years of professional experience
Work History
Embedded Software Engineer
BNY Mellon
NY
10.2023 - Current
Developed and maintained embedded applications for Nvidia Orin-based platforms running Drive OS with DriveWorks SDK integration for sensor fusion and diagnostics.
Designed and implemented low-level communication layers using C++ for real-time data acquisition via SPI, I2C, and UART protocols interfacing with IMU, camera, and radar modules.
Authored and validated custom Linux kernel drivers tailored for specific peripheral boards; conducted real-time validation using oscilloscopes and logic analyzers.
Created modular Yocto recipes and bitbake layers to build customized Linux images, including secure boot configurations and application services.
Developed robust test automation using Python to validate interface integrity, interrupt response time, and peripheral health across different sensor profiles.
Used Jenkins and Bitbake to integrate continuous build verification and nightly regression tests, reducing manual QA workload by 60%.
Integrated CAN utilities with Drive OS for real-time communication with ECUs and enhanced message parsing modules for vehicle diagnostics.
Authored board bring-up documentation, schematics, and production flashing workflows for engineering and manufacturing support.
Performed extensive bootloader configuration using U-Boot and Nvidia flashing utilities for consistent recovery and rollback.
Resolved hardware-software integration bugs, traced through serial consoles, kernel logs, and JTAG sessions to ensure operational stability.
Improved boot sequence time by 20% through kernel module optimization, deferred loading, and removal of redundant init tasks.
Developed Docker-based environments to run regression simulations and hardware abstraction layer tests across multiple SoC platforms.
Coordinated security patch integration, hardening services with minimal footprint using AppArmor and privilege separation.
Developed sensor calibration tools for field usage and created remote logging utilities using socket-based Python clients.
Implemented watchdog service to automatically capture system dumps during fault conditions for root cause analysis.
Enhanced diagnostic framework by embedding telemetry modules that track sensor uptimes, error rates, and temperature logs.
Collaborated on implementing PCIe device interface and DMA-based high-speed data transfers for latency-sensitive modules.
Embedded Software Engineer
Verra Mobility
AZ
02.2023 - 09.2023
Migrated embedded software stack to Nvidia Thor-based hardware with DriveWorks 4.x integration for real-time vision and recognition pipelines.
Designed and built middleware services in C++ to manage video frames, buffer queues, and synchronize multi-sensor input with vehicle speed and GPS data.
Created Yocto-based embedded Linux images with integrated logging daemons, secure boot, and kernel-level network filters.
Automated flashing and remote update pipelines using Python and shell scripts, including fail-safe rollback mechanisms and version pinning.
Captured and analyzed CAN bus and Ethernet packets using Wireshark and CANalyzer, identifying message latency spikes under stress scenarios.
Tuned kernel schedulers and I/O priorities to ensure timely execution of latency-sensitive workloads during high data throughput conditions.
Developed init.d/systemd startup scripts for runtime initialization and failover handling across core processes.
Collaborated with electronics team for hardware-software co-design, advising on GPIO assignments and debounce logic integration.
Used CUDA profiler and Nsight tools to monitor GPU workloads, identifying bottlenecks in camera data preprocessing pipelines.
Built secure boot chain with signed kernel images and initramfs; implemented rootfs encryption using dm-crypt and LUKS.
Merged and tested upstream Linux kernel patches to ensure compatibility with new sensor models and revised pin configurations.
Delivered ruggedized embedded solutions for traffic enforcement systems, integrating LTE modems, onboard GPS, and local caching mechanisms.
Used Jira for sprint planning and Confluence for maintaining design documentation, build instructions, and configuration details.
Ensured compliance with MISRA-C standards, using static analysis tools and peer reviews to catch critical code violations.
Resolved BSP build blockers with Nvidia vendor support; implemented workarounds for deprecated drivers using patch overlays.
Developed a robust fault-tolerant logging system using rsyslog with remote sync options and automatic disk space management.
Integrated USB HID devices with kernel-level input handlers and dynamically assigned device nodes for plug-and-play support.
Conducted field validation of system using test vehicles, collecting runtime logs and performance metrics for product evaluation.
Developed visualization tools using matplotlib to represent diagnostic and fault trend data over deployment lifecycle.
Embedded Software Developer
MindHuntz
India
01.2020 - 11.2022
Company Overview: India
Programmed embedded C/C++ applications for ARM Cortex-based industrial monitoring systems and real-time automation platforms.
Built and maintained Yocto-based Linux BSPs for NXP i.MX6 and Nvidia Jetson platforms, enabling scalable application deployment.
Created Python CLI and GUI utilities to automate manufacturing tests, hardware verification, and serial interface validation.
Developed and integrated UART, I2C, and SPI-based kernel drivers, debugging protocol inconsistencies using logic analyzers.
Customized kernel builds to support high-resolution touchscreen panels, ADC channels, and EEPROM storage across board variants.
Implemented secure OTA update mechanisms using Mender and integrated rollback logic with fallback partitions.
Used shell and Python scripts to perform system burn-in tests, stress benchmarks, and log parsing for QA teams.
Performed static and dynamic memory analysis using Valgrind, GDB, and manual code walk-throughs to identify race conditions.
Collaborated in SCRUM teams across firmware, UI, and test automation units, providing weekly updates and feature demos.
Designed Python-based flashing tools using PySerial to manage board provisioning and EEPROM programming.
Customized U-Boot environment for fast boot configurations, splash screens, and conditional logic for production modes.
Cross-referenced schematics and layout files to validate device tree accuracy and mitigate boot-time failures.
Used Git branching workflows and Gerrit for source review, integrating CI hooks for code health metrics.
Built udev and system hooks to detect external peripherals and assign resources dynamically during runtime.
Mentored team on build process improvements, reducing average build times by modularizing layers and caching downloads.
Developed pytest-based test cases for each runtime module and integrated coverage metrics into nightly runs.
Conducted profiling on startup latency and introduced async service loading to improve UI availability.
Built custom kernel modules for runtime sensor switching based on event triggers.
Validated UBI/UBIFS partition integrity through power loss testing and wear-leveling analysis tools.
India
Education
Masters - Operational Management Information Systems
Associate, AML/Prevention/KYC Representative at BNY Mellon (Bank of New York Mellon)Associate, AML/Prevention/KYC Representative at BNY Mellon (Bank of New York Mellon)