Avenida Presidente Wilson
231
Rio de Janeiro, Brazil
PURPOSE & SCOPE
Serve as a critical link within the Rio de Janeiro R&D team, transforming experimental geophysical and machine learning prototypes into robust, high-quality software solutions. This role focuses on improving code maintainability, automating complex data pipelines, and developing advanced visualization tools to support Research Geophysicists and Data Scientists. You will advocate for software engineering best practices while remaining deeply integrated into scientific workflows.
RESPONSIBILITIES
- Pipeline Automation: Design and implement automated data pipelines to streamline the flow of seismic and subsurface data for ML training and geophysical inversion.
- Data Visualization: Build and maintain interactive visualization tools (e.g., using Plotly, Dash, or advanced Matplotlib) to help researchers perform Quality Control (QC) on complex datasets.
- DevOps for R&D: Implement CI/CD pipelines, containerization (Docker), and environment management to ensure research code is portable and reproducible.
- Collaborative Support: Work closely with Data Scientists and Research Geophysicists to translate research ideas into scalable production solutions.
- Code Quality & Architecture: Refactor monolithic scientific scripts into modular, testable, and maintainable Python packages.
- Performance Optimization: Identify bottlenecks in Python code and implement optimizations, potentially using GPU acceleration or C++ kernels where necessary.
KEY COMPETENCIES
- Software Craftsmanship: Mastery of clean code principles, design patterns, and version control (Git) within a scientific context.
- Scientific Ecosystem: Proficiency in the Python scientific stack (NumPy, SciPy, pyTorch, Matplotlib) and experience with scientific data formats (e.g. Zarr).
- Automation Mindset: Proven ability to automate repetitive data processing tasks and manual QC workflows.
- Technical Collaboration: Ability to act as a "translator" between pure research and production software engineering.
- Professional Maturity: Ability to manage technical debt and advocate for long-term code health while meeting research milestones.
QUALIFICATIONS
- Education: BSc or MSc in Computer Science, Software Engineering, Geophysics, Physics, or a related quantitative field.
- Software Development: Strong professional experience in Python development, specifically focused on data-intensive or scientific applications.
- Data Pipelines: Experience with pipeline orchestration tools (e.g., Airflow, Prefect) and handling large-scale datasets.
- Visualization Tools: Demonstrated expertise in building GUI or web-based dashboards for data analysis and spatial data visualization.
- Domain Awareness: Familiarity with Wave Physics, Signal Processing, or Seismic Theory is a significant plus.
- HPC/Performance: Experience with Linux environments, High-Performance Computing (HPC), and potentially C++ or CUDA is highly preferred.