Job Description
Goodnotes is seeking a Senior Software Engineer - MLOps to help make GoodNotes smarter through a fast and robust ML lifecycle. The ideal candidate will design the process tools and operations for model production, training, and delivery, working with a team of ML experts.
Role involves:
- Unifying ML system development and operations.
- Designing and building a robust pipeline for the entire ML lifecycle.
- Identifying opportunities to improve handling of structured and unstructured data.
- Promoting best practices for managing the ML lifecycle.
Requirements:
- Experience building reliable ML pipelines in production on AWS or other cloud providers.
- Understanding of a well-managed ML lifecycle, including model and data versioning, experiment tracking, feature store, CI/CD, and continuous training on NVIDIA GPUs.
- Mastery of Python and at least one other programming language (Java, Kotlin, Scala, Golang, Rust, C++ etc.).
- Mastery in model serving practices for batch and stream processing.
- Hands-on experience building and operating data lakes using big data frameworks or services (Spark, Kafka, Airflow, DBT, Debezium, AWS Athena, AWS Glue, Delta lake/ Iceberg etc.).
- Experience with Kubernetes, Docker, Terraform, or other cluster management solutions on AWS or other cloud providers.
- Deep understanding of computer science fundamentals and a solid background in software engineering.
- Basic knowledge of building ML models.
- Basic knowledge of model optimization and model export to multiple formats.
Goodnotes offers:
- Meaningful equity in a profitable tech startup.
- Budget for noise-cancelling headphones, home office setup, personal development, professional training, and health & wellness.
- Sponsored visits to the Hong Kong or London office every 2 years.
- Flexible working hours and location (EU timezone only).
- Medical insurance for you and your dependents.