company logo

Senior Python Developer (Performance Optimization)

Bangalore
Full-Time
Mid-Level: 5 to 6 years
Posted on Aug 30 2024

About the Job

Skills

Python Programming
Cython
NumPy
Pandas
Matplotlib
seaborn
PyQt
CUDA

Project Overview

We are working on a high-performance data processing system that handles real-time information using complex mathematical and physics-based algorithms. While the system functions as intended, it faces performance challenges, especially when processing multiple data points simultaneously. The goal is to optimize the system to ensure that all processing tasks are completed within 2 seconds, regardless of data load.


Responsibilities

  • Analyze and optimize an existing Python codebase that involves complex calculations.
  • Identify and address performance bottlenecks to ensure efficient data processing.
  • Apply advanced data structures and algorithms to improve processing speed.
  • Collaborate with an R&D team to integrate and validate performance enhancements.
  • Conduct thorough testing to ensure the system performs optimally under various data loads.
  • Provide detailed documentation and support for the optimized solution.


Required Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
  • 5+ years of experience in Python development with a focus on performance optimization.
  • Strong knowledge of Data Structures and Algorithms, particularly in high-speed data processing contexts.
  • Experience with profiling, debugging, and tuning Python applications for enhanced performance.
  • Analytical problem-solving skills and the ability to work efficiently in a fast-paced environment.


Requirements

  • Experience with Complex Mathematical and Physics-Based Algorithms: The ideal candidate will have a background in developing and optimizing systems that involve intricate mathematical models and physics-based computations. Understanding the nuances of these algorithms is crucial for fine-tuning the system’s performance.
  • Familiarity with Low-Level Optimizations: Proficiency in low-level optimization techniques is highly desirable. This includes:
  •  Cython: Experience with Cython for converting Python code into C to enhance execution speed, particularly in computationally intensive tasks.
  •  NumPy: Deep knowledge of NumPy for performing high-level mathematical operations efficiently. Familiarity with optimizing NumPy code for better performance in large-scale data processing.
  •  GPU Acceleration: Experience leveraging GPU acceleration to offload computationally heavy tasks from the CPU to the GPU, thus significantly speeding up processing times. Familiarity with libraries such as CUDA, PyCUDA, or TensorFlow is a plus.
  • Understanding of Real-Time Systems and Performance-Critical Applications: The candidate should have a proven track record of working on real-time data processing systems where timing is critical. This includes optimizing systems to maintain high performance under strict time constraints, ensuring that all processes complete within a specified timeframe, regardless of data complexity or volume.


Desired Candidate Profile

Experience: 5+ years

Location: Bangalore

Qualification: Computer Science, Engineering or a related field

Job Type: Full Time, Permanent

Schedule: Day Shift, Monday to Friday

Workplace Type: On-site (Work from Office)

Notice Period: Immediate

About the company

Nextbrain started its amazing journey in 2016 with a small team as an enterprise software development company. Since then, we have been offering end-to-end digital solutions across all business verticals worldwide. We have a great reputation of providing unique and customized business solutions tailored to meet the specific business needs. We have extended our remarkable services to more than 150 ...Show More

Industry

Information Technology & ...

Company Size

51-200 Employees

Headquarter

Bangalore

Other open jobs from Nextbrain Technologies Pvt Ltd