As a Back-End Developer, you will play a crucial role in designing, developing, and maintaining the
software systems that interact with and manage our cutting-edge storage hardware. You will work
closely with hardware engineers, firmware developers, and other software engineers to build
robust, scalable, and efficient solutions.
Design, develop, and implement backend services and APIs using Python.
Integrate software components with storage hardware and firmware.
Develop tools and utilities for hardware testing, configuration, and monitoring.
Write clean, well-documented, and testable code.
Participate in code reviews to ensure code quality and best practices.
Troubleshoot and debug issues across the software and hardware stack.
Collaborate effectively with cross-functional teams including hardware, firmware, and QA
engineers.
Contribute to the continuous improvement of our development processes and tools.
Computer Science, Software Engineering, or a related field.
Solid understanding of Python frameworks such as Django, Flask, or FastAPI.
Familiarity with RESTful API design and development.
Experience with version control systems, preferably Git.
Experience with CI/CD pipelines.
Strong problem-solving and analytical skills.
Excellent communication and collaboration skills.
Deep understanding of Python and experience developing software that interacts with hardware,
preferably storage systems.
Proven experience with Python libraries commonly used in storage management and data
processing.
Familiarity with storage concepts such as block storage, object storage, file systems, RAID
configurations, and data integrity techniques.
Experience working directly with storage hardware APIs or protocols (e.g., SCSI, NVMe command sets, vendor-specific APIs).
Proficiency in Python for tasks related to hardware testing and automation.
Experience with developing Python-based tools for monitoring and managing storage
performance and health.
Knowledge of data serialization formats relevant to storage systems (e.g., JSON, YAML, Protocol
Buffers).
Experience with Python in embedded systems or interacting with low-level hardware interfaces
via libraries.
Familiarity with performance analysis and optimization techniques in Python, particularly in the
context of data I/O.