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.
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.
- 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.
- 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.
100 Fifth Ave, New York, NY 10011