Senior Machine Learning Engineer - Recommendation Systems
About the Role
As a Machine Learning Software Engineer, you'll help build a recommendation system that will help our community members discover solutions for their daily needs. You will use state-of-the-art AI & machine learning algorithms and take a large variety of data from a number of sources and intelligently deliver solutions for our member community. You’ll be working closely with the Engineering Director and the engineering team to define and execute on projects. Our technology stack is primarily Ruby/Rails, Node.js, React, Angular, Postgres but we are not dogmatic about it. #featured18
The Engagement mission is responsible for delivering technology that creates intelligent environments and connected, consciously-engineered communities for every space in the world. Our team is interested in increasing lifetime value, satisfaction productivity, and building engaging community models in smart environments.
As a Machine Learning engineer, your final “output” is working software (not the analyses or visualizations that you may have to create along the way), and your “audience” for this output often consists of other software components that run autonomously with minimal human supervision. The decisions are being made by machines and they affect how a product or service behaves. This is why the software engineering skill set is so important to this role.
- 5+ years of Computer Science/ Software Engineering experience
- Data structures (stacks, queues, multi-dimensional arrays, trees, graphs, etc.)
- Algorithms (searching, sorting, optimization, dynamic programming, etc.)
- Computer architecture (memory, cache, bandwidth, deadlocks, distributed processing, etc.)
- Understanding of probability and statistics topics, such as conditional probability, Bayes rule, likelihood, independence, etc.
- Experience in working with big data and shipping production level machine learning software code
- Experience in applying standard implementations of machine learning algorithms (that are widely available e.g. scikit-learn, Theano, Spark MLlib, H2O, etc) effectively by choosing a suitable model (decision tree, nearest neighbor, neural net, ensemble of multiple models, etc.)
- Understanding of how these different pieces work together, communicate with them (using library calls, REST APIs, database queries, etc.) and build appropriate interfaces for your component that others will depend on.
- Understanding of system design may be necessary to avoid bottlenecks and let your algorithms scale well with increasing volumes of data.
- Fluent in one or more backend languages, with experience in Ruby a plus, and stay up-to-date on standard methodologies.
WeWork Technology is bridging the gap between physical and digital platforms, providing a delightful, flawless & powerful experience for members and employees. We build software and hardware that enables our members to connect with each other and the space around them like never before.
We augment our community and culture teams through the tools we build. We believe there’s a macro shift toward a new way of working—one focused on a movement towards meaning and purpose. WeWork Technology is proud to be shaping this movement.
We are a team of passionate, fearless and collaborative problem-solvers distributed globally with one goal in mind - to humanize technology across the world.
We are an equal opportunity employer and value diversity in our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.