Senior Software Engineer, Recommendations

Knewton is on a mission to personalize education. Join a high caliber team and work in one of the best places in NYC to develop system that offers real-time statistical-based recommendations to hundreds of thousands of students.

KnewtonCompany: Knewton
Location: New York, NY

Knewton is on a mission to personalize education. At Knewton, you'll solve tough problems, own your projects, and grow on the job. Knewton has been recognized as a Technology Pioneer by the World Economic Forum in Davos and one of the top 25 best places to work by Crain's New York Business.

Senior Software Engineer - Recommendations
You will be part of a high caliber team whose members have won medals in math olympiads and programming competitions with publications in top tier distributed systems and machine learning conferences. A team who enjoys exploring new paradigms and technologies to build things that scale, replicate, are easy to manage, and have elegant APIs.

This is an outstanding opportunity to:

  • Work on a system that executes real-time statistical models processing thousands of model parameters per second to deliver recommendations to hundreds of thousands of students in real-time.
  • Be a key contributor as that system grows into tens of millions of students.
  • Work with top data scientists on implementing their models in an efficient way.

Your responsibilities:

  • Design and implement components for the recommendation service and framework with focus on scalability, availability, easy maintenance and providing an intuitive API for model development by data scientists.
  • Perform design reviews with a focus on clarity and efficient trade-offs between development time, model precision, and maintenance cost.
  • Perform code reviews with focus on best practices in terms of software engineering and clean, high performance code.
  • Communicate with internal teams (front-end and analytics) and handle their requirements from brainstorming to implementation.

You must have:

  • A CS or related Degree (MS, Phd A+) and 5+ years of industry experience in building distributed Java applications/systems.
  • Experience in mentoring junior developers.
  • Comfort in jumping into projects that touch different components of a large system.
  • Comfort with cross-team communication.
  • Desire to pay attention to detail and enforce high design/coding standards.
  • Familiarity with agile development methodology.
  • Performed design and code reviews.
  • Experience in writing optimized Java code.

Not required, but highly desirable:

  • Experience fine tuning the Java Virtual Machine (JVM).
  • Familiarity with Amazon Web Services (AWS) and Unix.
  • Experience with open-source technologies.
  • Experience with big data processing using NoSQL technologies like Cassandra, Hadoop, and Hive.
  • Experience in stream processing or actor models like Akka.
  • Knowledge of machine learning techniques.

Perks include:

  • Competitive salary, great benefits and stock options.
  • As much paid vacation as you need to take.
  • Flexible hours.
  • High-quality equipment (default setup: a Mac laptop with a giant monitor).
  • The opportunity to use cutting-edge machine learning and engineering techniques to transform and democratize education.

Apply online.

Knewton, Inc.
100 Fifth Ave, New York, NY 10011