Position: Senior Software Engineer in Machine Learning
Company: Rakuten
Experience required: 3y
English level: upper

Requirements:
• BSc in Computer Science or a related field.
• 5+ years of experience in the design and development of software with a minimum of 3 years of experience in Python development building large-scale data/ml applications.
• Expertise in developing microservice architectures and RESTful services.
• Experience with distributed systems and big data architectures, including SQL and NoSQL databases (e.g., MySQL, MongoDB, Redis), and ETL processes and tools.
• Strong CS fundamentals, such as algorithms and data structures.
• Experience with DevOps: Docker, Kubernetes, CI/CD (Jenkins).
• Interest in and familiarity with Machine Learning and Python’s data analysis libraries and frameworks (e.g., numpy, scikit-learn, pandas, pytorch) preferred.
• Experience with cloud computing stacks such as Amazon Web Services preferred.
• Knowledge of streaming platforms (Kafka, Kinesis, Pulsar) will be a plus.
• Experience with Apache Airflow will be a plus.
• Excellent written and verbal communication skills.
• Enthusiasm for working hard and having fun in a dynamic environment.

Key Responsibilities:
• Productionize Machine Learning solutions.
• Conduct/participate in design and code reviews, identify potential problems and performance issues, evaluate code compliance with standards and best practices, provide feedback.
• Analyze complex functions, procedures, and problems to deliver creative, logical, and effective solutions that meet the specified requirements.
• Make sure the machine learning engines scale well on high volumes of data.
• Coach teammates on delivering high-quality software using modern software development practices (TDD, Pair programming, CICD, etc).
• Collaborate with our remote data scientists and engineers based in the United States or Taiwan.