H2O.ai builds an open source parallel distributed in-memory machine learning platform which allows customers to quickly build high-performance, sophisticated ML models on terabytes of data.
The server is implemented in Java with the expertise of our technical founder, who wrote the HotSpot server JIT for JavaSoft. The ML algorithms are developed in consultation with our three Stanford advisors, Trevor Hastie, Rob Tibshirani and Stephen Boyd.
The platform is accessible via R, Python, Scala, Java, a REST API and a notebook-style web interface. Our paying customer list includes many of the largest insurance companies, banks and healthcare companies, many of the big name unicorns in tech, startups, etc..
We are looking for hardcore algorithmic software developers to work both on the distributed compute platform and on implementing and improving Machine Learning algorithms for it. We support clusters with thousands of cores and tens of terabytes of RAM. Most of our algorithmic programming is done in Java.
Algorithm engineers will join our team of algo developers to improve and implement parallel distributed Machine Learning algorithms in consultation with our advisors. This group of mostly PhDs ship high performance ML code to tens of thousands of users.
Our algorithms are coded in Java for our scalable, distributed infrastructure. Your experience building high performance distributed and parallel computational algorithms will be essential.
A PhD is desired; an MS is the baseline. Applicable majors include CS, Physics and Math. Strong math background and ability is required. Experience shipping computational software is nearly essential. Machine Learning algorithm knowledge desired. At least one of: Java/C/C++/Scala.
Education and Experience
– Proven programming education, ability, and experience
– 2-5 years of previous experience in quality engineering/development.
– Required: Master’s Degree in Computer Science, Physics, Math, or similar field. PhD desirable.
Skills and Abilities
– Excellent programming and software design ability.
– Demonstrated ability to write highly optimized, but yet clean and well-documented code.
– Required: Experience with writing and debugging multi-threaded code on multi-core machines.
– Desirable: Experience with writing and debugging distributed code on parallel systems.
– Required: Experience with machine learning algorithms and/or at least numerical or statistical methods.Experience with at least one of: Java/C/C++/Scala. Experience with Python and/or R is desirable.
– Proven experience shipping computational software with rigorous quality standards