Pindrop is redefining trust in the digital age with advanced authentication technologies. As a Senior Software Engineer in the MLOps team, you will lead software development projects, mentor junior engineers, and contribute to the design and architecture of systems that train models and produce predictions.
Responsibilities:
- Design, develop, test, and maintain our complex software applications, ensuring high-quality code and adherence to best practices
- Provide technical leadership and guidance to junior engineers and the development team, including code reviews, architecture decisions, and mentoring
- Contribute to the design and architecture of software systems, ensuring scalability, maintainability, and performance
- Analyze and solve complex technical problems, and make recommendations for improvements and optimizations
- Implement and advocate for best practices in testing and quality assurance, including unit testing, integration testing, and automated testing
- Participate in code reviews and provide constructive feedback to ensure code quality and consistency
- Stay current with emerging technologies, tools, and programming languages and apply them where relevant to improve software development processes
- Ensure software adheres to security standards and compliance requirements, addressing vulnerabilities and potential risks
- Design and implement cloud solutions, build MLOps on cloud (AWS, Azure, or GCP)
- Build CI/CD pipelines orchestration by GitLab CI, GitHub Actions, Circle CI, Airflow or similar tools
- Run code and refactor, optimize, containerize, deploy, version, and monitor its quality for Data Science models
- Validate and add automated tests for Data Science models
- Work closely with a team of researchers and data scientists to productionize and document research innovations
Requirements:
- 5-7 Years of Software Engineering experience
- Experience with cloud computing environments, especially AWS and container-based deployment using Docker and Kubernetes
- Experience working with Python, 2-3 years minimum
- Experience operating services in production environments
- A strong understanding of software design principles, software architecture, design patterns, as well as software development best practices, including testing, version control, and continuous integration
- Experience with infrastructure as code tools like Terraform or AWS CDK
- Experience in monitoring and performance of Production platforms using tech stacks and tools such as Datadog, ELK, Grafana, Prometheus
- Participation in the on-call rotation is required
- Experience with Machine Learning frameworks and libraries such as XGBoost, SciKit-Learn, H2O, TensorFlow, PyTorch, Keras, Spark MLlib
- Experience with leading industry Machine Learning tools and operation frameworks such as MLflow, Kubeflow, Airflow, Seldon Core, TFServing
- Experience building microservices and RESTful APIs
- CI/CD pipelines using tools such as GIT, Jenkins