We're looking for an experienced Python Developer with a strong background in advanced Python programming and deep understanding of Python's ecosystem, including package management, testing, and version control.
Key Responsibilities:
- Develop and maintain Python packages using tools such as setuptools and poetry.
- Perform package development tasks, including creating and managing Python packages, handling dependencies, and ensuring compatibility across different environments.
- Conduct package testing using frameworks like unittest or pytest, and utilize code coverage tools (e.g., coverage.py) to ensure high code quality.
- Manage and interact with code repositories outside of PyPI, such as private or company-wide repositories. (Posit Package Manager)
- Work with GitHub and GitLab for version control, including creating branches, managing pull requests, and understanding various Git workflows.
- Contribute to and maintain mature Python packages that follow software development best practices.
- Participate in code reviews and ensure adherence to coding standards and best practices.
- Create and maintain GitLab pipeline workflows and various bash scripts used for automation throughout the project.
Qualifications:
- 4+ years of experience with Python (numpy, scipy, scikit-learn, tensorflow, matplotlib)
- Proven experience in advanced Python programming, including package development and maintenance.
- Strong understanding of Python's ecosystem, including pip, virtualenv, and package metadata management.
- Proficiency in unit testing and code coverage tools.
- Experience with version control systems, especially Git,
- Experience with Bash
- Experience in SQL
- Knowledge of Python package representations and structure, including metaprogramming and static code analysis.
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
-
Nice to have: familiarity with R language