We are seeking seasoned Python developers to assist in a large-scale code conversion project. The project involves transforming a legacy codebase of image processing and deep learning computer vision algorithms from MATLAB to Python. The initial conversion has been performed using state-of-the-art AI capabilities (LLMs), and we now require human expertise to create a working code base.
Duties and Responsibilities:
- Review and compare LLM converted Python code against original MATLAB code
- Debug syntax errors and correct logical inconsistencies in the Python code
- Ensure output consistency between MATLAB and Python implementations
- Implement proper error handling and logging mechanisms
- Develop comprehensive unit tests and integration tests
- Create clear and concise documentation for the converted code
- Optimize code for performance and readability wherever necessary
- Collaborate with team members to ensure end-to-end functionality
- Prepare code for containerization using Docker
- Adhere to best practices in software development and version control
Minimum Qualifications: (To perform this job successfully, an individual must be able to perform each essential duty satisfactorily.)
Knowledge, Skills and Abilities:
- Strong proficiency in Python programming with 6+ years of experience
- Familiarity with MATLAB syntax and conventions
- Strong problem-solving and debugging skills
- Experience with version control systems (e.g., Git)
- Familiarity with Docker and containerization concepts
- Experience in code conversion projects
- Familiarity with scientific computing libraries (e.g., NumPy, SciPy)
- Knowledge of software testing frameworks (e.g., pytest)
- Experience with continuous integration and deployment (CI/CD) pipelines
- Understanding of software development best practices and design patterns
- Implement proper logging mechanisms for easier debugging and monitoring
- Create comprehensive unit tests and integration tests to ensure code reliability
- Develop clear and concise documentation, including inline comments and README files
- Optimize code for performance, considering Python-specific best practices
- Ensure code adheres to PEP 8 style guidelines
- Implement type hinting for improved code readability and maintainability
- Create requirements.txt files for each repository to manage dependencies
- Participate in code reviews to maintain high code quality standards
- Provide regular progress reports and participate in team meetings
Optional requirements:
- Experience with image processing and computer vision libraries (e.g., OpenCV, scikit-image)
- Knowledge of deep learning frameworks (e.g., TensorFlow, PyTorch)
- Understanding of mathematical concepts related to image processing and computer vision