Embedded Python Developer
Location: Bangalore
Workplace Type: Onsite
About the Role
We are seeking a highly skilled and motivated Embedded Python Developer to join our dynamic team. In this role, you will be responsible for developing and integrating software solutions on NVIDIA Jetson platforms. You will work on cutting-edge projects, leveraging your expertise in embedded systems, hardware communication, and Python programming to create innovative and efficient applications. The ideal candidate will have a strong background in embedded Linux environments, hands-on hardware debugging capabilities, and a passion for pushing the boundaries of what's possible with embedded technology. This position offers the opportunity to work on challenging problems, collaborate with a talented team, and contribute to the development of next-generation embedded systems.
Key Responsibilities
- Develop and maintain embedded Python applications for NVIDIA Jetson platforms.
- Design and implement software solutions for embedded Linux environments.
- Integrate hardware communication using SPI and I2C interfaces.
- Provide support for hardware and software debugging related to peripheral integration.
- Perform testing and validation on target Jetson hardware.
- Document developed software and interfaces.
- Develop high-performance Python applications running on PCs with GPU acceleration.
- Design and maintain multithreaded/multiprocess architectures for concurrent data acquisition, processing, and execution.
- Implement GPU-accelerated computation using CUDA, CuPy, and NumPy.
- Optimize CPU–GPU workload distribution, memory handling, and execution performance.
- Integrate Video4Linux (V4L2) for camera and video stream capture.
- Build real-time data processing pipelines for video, signals, or numerical data.
- Implement socket programming for inter-process and client-server communication.
- Develop backend services and APIs using Flask or equivalent frameworks (e.g., FastAPI).
- Enable control, monitoring, and configuration through REST-based interfaces.
- Create interactive data visualizations and dashboards using Plotly.
- Implement robust error handling, logging, and system monitoring.
Required Skills & Qualifications
- Proficiency in Python programming on embedded devices.
- Experience with SPI/I²C communication protocols on any platform.
- Experience with multithreaded process management.
- Experience with Video 4 Linux.
- Experience with socket programming.
- Experience with CUDA.
- Experience with NumPy.
- Experience with Flask (or similar framework).
- Strong understanding of embedded Linux environments.
- Hands-on hardware debugging capabilities.
- Experience with GPU-accelerated computation.
- Experience with REST-based interfaces.
- Experience with data visualization tools like Plotly.
- Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
- Minimum of 3 years of experience in embedded software development.