Senior Software Engineer - Analytics

Location: New York, NY

Department: Engineering

Type: Full Time

Min. Experience: Mid Level

Knewton is on a mission to personalize education for students around the world. Education companies worldwide use the Knewton infrastructure platform to power course materials that dynamically adapt to each student’s unique needs.

At Knewton, we use small, cross-functional teams to solve difficult challenges with real-world implications. Teams comprise a range of technical, mathematical, educational, and design specialists unified by a passion for improving education.

Knewton was founded in 2008 and has offices in New York City and London. Investments top $105M from well-known angel investors plus Accel, Bessemer, First Round Capital, Firstmark, Founders Fund, GSV, and Atomico.

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 millions 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 analytics 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 recommendations) and handle their requirements from brainstorming to implementation.

You must have:

  • A CS or related Degree (MS, Phd +) 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:

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

Perks include:

  • Competitive salary, great benefits, and equity
  • Flexible hours, no vacation policy, and paid maternity/paternity leave
  • High-quality equipment (default: a new Macbook Pro with a giant monitor)
  • Frequent guest speakers and tech/edtech Meetups hosted at Knewton HQ
  • Social groups and sports teams
  • Free dinner every weeknight in the office, all-day snacks, and a full bar
  • Free monthly MetroCards/PATH cards


Forward this Position
Recipient email address (one)
Your name
Your email address
Enter a message (optional)
Apply for this Position
* Required fields
First name*
Last name*
Email address*
Phone number*

Attach resume ( .pdf, .doc, .docx ) or paste resume

Paste your resume here or attach resume file

Cover Letter
LinkedInLinkedIn profile URL:
In 150 characters or fewer, tell us what makes you unique. Try to be creative and say something that will catch our eye!