This post is over 30 days old. The position may no longer be available
Senior Python Developer
Posted by Sathish Keshava Murthy
Starlly Solutions Private Limited https://hasjob.co/starlly.in/ugp4c , Bangalore · starllysolutions.com · Full-time employmentFull-time employment · ProgrammingProgramming
We are looking for a highly skilled Python Developer with a deep understanding of device-level programming, Linux systems, and hardware-software interfacing, particularly over USB. In this role, you will be responsible for building and optimizing software components that facilitate communication between the operating system and a variety of instruments and hardware devices.
You will play a crucial role in our product development lifecycle, particularly in the integration of complex instruments with software platforms, ensuring high performance, reliability, and usability of our solutions.
<h3>Key Responsibilities:</h3>- Python Development in Linux:
- Design, develop, and maintain Python applications for Linux-based environments.
- Optimize Python scripts for performance and stability in low-level operations.
- Ensure compliance with Linux system standards and best practices.
- Device Driver & USB Interface Development:
- Build and integrate Python modules for USB-based device communication.
- Create or wrap low-level USB drivers (e.g., using <code>pyusb</code>, <code>libusb</code>, <code>hidapi</code>, or custom interfaces).
- Handle USB enumeration, control transfer, bulk/interrupt transfers, and driver registration.
- Debug driver issues using tools like <code>usbmon</code>, <code>dmesg</code>, and Wireshark.
- Hardware/Instrument Interfacing:
- Interface with various measurement instruments, sensors, controllers, and custom hardware using Python.
- Implement communication protocols (USB, UART, RS232/485, GPIB, SPI, I2C) as required.
- Develop reusable libraries/modules for instrument control, data acquisition, and diagnostics.
- Collaboration & Documentation:
- Collaborate with hardware, firmware, and QA teams for seamless integration and testing.
- Provide clear documentation for driver interfaces, APIs, communication flows, and setup procedures.
- Participate in code reviews and provide constructive feedback to peers.
- 3+ years of experience in Python development, with strong expertise in system-level programming.
- Solid hands-on experience with Python on Linux (e.g., file I/O, multiprocessing, subprocess management, logging).
- Proven expertise in device driver development (especially user-space drivers in Python).
- Strong working knowledge of USB communication, endpoints, and class protocols (CDC, HID, etc.).
- Experience with hardware instrumentation, including interfacing and controlling physical devices.
- Familiarity with pySerial, pyUSB, libusb, pyVISA, or similar libraries.
- Ability to interpret hardware specifications and datasheets to design compatible software interfaces.
- Strong debugging and troubleshooting skills, using tools like <code>strace</code>, <code>gdb</code>, <code>dmesg</code>, and logic analyzers.
- Experience with C/C++ for lower-level driver development or performance-critical components.
- Background in test automation or hardware-in-the-loop (HIL) testing.
- Experience with real-time systems or time-sensitive data acquisition applications.
- Knowledge of instrument control protocols like SCPI or Modbus.
- Familiarity with embedded Linux development (e.g., Yocto, Buildroot) or Raspberry Pi-based deployments.
- Bachelor’s or Master’s Degree in Computer Science, Electronics, Electrical Engineering, or a related field.
- Work on cutting-edge systems that bridge hardware and software.
- Collaborate with an expert team across electronics, firmware, and data systems.
- Flexible work environment with opportunities for innovation and ownership.
- Get hands-on exposure to real-world device integration challenges and industrial-grade instrumentation.
If you're passionate about working at the intersection of software and hardware, and enjoy building systems that talk directly to machines, we’d love to hear from you.
Apply for this position
Login with Google or GitHub to see instructions on how to apply. Your identity will not be revealed to the employer.
It is NOT OK for recruiters, HR consultants, and other intermediaries to contact this employer