This Scientific Developer role requires a unique mix of computer and data science necessary to create computationally efficient software implementations of scientifically complex algorithms focusing primarily on optimization, but also involves statistics and machine learning. The Scientific Developer requires a strong understanding of mathematics, algorithms, and handling data issues, along with the ability to work closely with research scientists, software engineers, and product managers in all phases of the R&D process. In addition, this role requires a unique ability to integrate all aspects of data and algorithms to provide solutions that will scale to huge, complex, and diverse data sets.
- Design and implement state-of-the art scientific methods and algorithms, primarily focusing on optimization, to solve problems in the retailer and manufacturer/supplier domains, as well as perform software design, prototyping, implementation and testing of scientific code to extend 8451’s capabilities.
- Collaborate with the Science team to create new and improved methods of solving problems and to define new initiatives that will advance 8451’s strategic objectives; additional collaboration with the Development and Product teams to implement new algorithms as components of the Science Library and commercial products throughout the company.
- Optimize the interface between databases, both traditional and custom, and complex analytics that must run efficiently over vast quantities of data.
- Work hand-in-hand with research scientists in developing computationally efficient mathematical models for optimization, as well as develop creative methods to address new and complex problems.
QUALIFICATIONS, SKILLS, AND EXPERIENCE:
- Advanced degree in computer science, computer engineering, mathematics or related subject; and/or extensive work demonstrating expertise utilizing these skills.
- Strong development background with at least one procedural or Object-oriented programming language. Experience and expertise in high-performance Python development is preferred, C/C++ is also desirable.
- Ability to create computationally efficient solutions, applying techniques from optimization (discrete, continuous, or stochastic) as well as statistics and machine learning. An understanding of demand models and forecasting is a plus.
- Proven ability to prototype solutions – using e.g. R and Python to facilitate testing of algorithms on large data sets.
- Experience with low-level code optimization in a Unix/Linux environment, multi-threaded programming.
- Experience with Big Data concepts, Spark architecture, and cloud platforms, tools and architecture is a plus.
- Experience interacting with research, engineering, and product teams is a plus.