Software Engineer, Machine Learning

Rosetta.ai provides simple and straightforward recommendation engine "arsenal" for developers to make the recommendation easier. We believe in crafted software enhances each life and releases the creativity of each life. That is our motivation to make Rosetta.ai, in the name of Rosetta Stone, which is the metaphor for the key of solving difficult things.

We are looking for passionate and talented Software Engineers like yourself who will help us fundamentally change the way developers are implementing recommendation and build first-class scalable real world systems to do just that. If you feel you want to be part of the challenge, join our team that will work in a large impact on the design, architecture, and implementation of cutting edge products used every day, by people you know.

Help us design unique recommendation experiences to the world

You will:

  • Create models which help drive value for users

  • Evaluate the technical tradeoffs of every decision

  • Perform code reviews and ensure exceptional code quality

  • Build robust, lasting, and scalable products

  • Iterate quickly without compromising quality

You might work on:

  • Develop highly scalable classifiers and tools leveraging machine learning, data regression, and rules based models

  • Suggest, collect and synthesize requirements and create effective feature roadmap

  • Code deliverables in tandem with the engineering team

  • Adapt standard machine learning methods to best exploit modern parallel environments (e.g. distributed clusters, multicore SMP, and GPU)

You might be a good fit for this role if you:

  • Background & Skills
    • Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience

    • 3+ years of experience in one or more of the following areas: machine learning, recommendation systems, pattern recognition, statistical modeling, data mining or artificial intelligence

    • Proficiency in enterprise programming languages like Java, C++, Scala, etc.

    • Proficiency in scripting languages like Python, Perl, etc.

    • Strong fundamentals in problem solving, algorithm design and complexity analysis

  • Experiences
    • Proven track record of delivering solutions to complex problems

    • Experience in filesystems, server architectures, and distributed systems

  • Working Style
    • Strong personal interest in learning, researching, and creating new technologies with high commercial impact

    • Take an iterative approach to development, dividing long-term goals into incremental milestones

    • Are passionate about working on systems that are highly reliable, maintainable and scalable

Bonus Points

  • Background & Skills
    • Great oral and written communication in English

    • Masters or Ph.D specializing in Computer Science, Engineering, Mathematics, Statistics or related fields

    • Expertise on a broad set of ML approaches and techniques, ranging from Artificial Neural Networks to Bayesian Non-Parametrics methods

  • Experiences
    • Experience with defining organizational research and development practices in an industry setting

    • Experience working with machine learning frameworks such as TensorFlow, Caffe2, PyTorch, Spark ML, scikit-learn, or related frameworks

    • Experience with Hadoop/Hbase/Pig or MapReduce/Sawzall/Bigtable

  • Reputations
    • Proven track record of achievements in statistical modeling and personalization in production

    • Proven track in leading, mentoring and growing teams of engineers and scientists

    • Open-source contributions


It’s not expected that a single candidate has expertise in all these areas. We’re looking for professional engineers, who can quickly learn and adapt as our systems and situation changes, rather than candidates with a rigid skill set. By the way, we very encourage one who is the rock star to negotiate the higher salary.