Software engineering fundamentals including knowledge of algorithms and data structures.
3+ years in Java programming and experience with associated build tools (Maven/Gradle).
1+ year in Python programming.
Experience working on numerically intensive applications in any programming language, ideally with machine learning algorithms.
Experience bridging C++ and Java via JNI.
Knowledge of JVM internals.
Experience with performance tuning (YourKit/jvisualvm/Jprofiler).
Homey and well-designed office. No corporate nonsense.
Lunch and dinner catered every day. You have no idea how much this helps.
Private English classes with native speakers
Travel to the US
Board games, books, music instruments, yoga. We have fun along with hard work.
Corporate team-building and activities. We socialize. A lot.
Develop new features and improve existing functionality of our high-performance Java machine learning models.
Cover new features with the unit and functional tests in both Python and Java.
Work with customers, solution architects and the developer community on requirements and training material to ensure that our customers are wildly successful.
Handle issues and fix defects promptly to minimize disruption to users.
As a member of the predictions domain, you’ll be directly responsible for the systems that enable customers to use machine learning models to assess risks of loan applications, control temperatures of manufacturing furnaces, predicting disease outcomes and a huge number of other applications. The goal is to make predictions easier, more widely available and, of course, trustworthy.