Full Stack Software Engineer - IBM Quantum
Role details
Job location
Tech stack
Job description
-
Analyze, refactor, and optimize large and complex existing Python codebases
-
Develop and evaluate efficient algorithms and data structures
-
Identify and resolve performance bottlenecks (CPU, memory, I/O) providing robust solutions
-
Use profiling, benchmarking, and debugging tools to guide optimizations
-
Collaborate closely with engineers, architects and researchers on performance-critical components
Requirements
-
Demonstrated optimization of Python libraries
-
Proven expertise in performance-critical Python programming and optimization
-
Strong background in algorithms, data structures, and complexity analysis
-
Experience working with large, legacy or long-lived codebases
-
C/C++ & Rust integrations or low-level systems programming
Preferred technical and professional experience
-
Experience with numerical computing or data-intensive systems
-
Familiarity with CI/CD pipelines
-
Background in computer science, mathematics, physics, or a related field
-
Hands-on experience with performance techniques such as:
-
Profiling and benchmarking (e.g., cProfile, line_profiler)
-
Low-level optimization (e.g., NumPy, Numba, Cython)
-
Parallelism and concurrency (multiprocessing, multithreading, async programming)