About the Role
We are looking for Senior/Staff/Principal Software Engineers with a Machine Learning background to build out WeWork's Machine Learning Platform. If you’re passionate about building large scale data processing and machine learning platforms, come join us. The ML platform, together with other products in Data Platform, will cover the entire lifecycle of machine learning, including data preparation, model training and deployment. The platform aims to democratize and scale ML to power the next generation of capabilities across WeWork.
About the Team
ML Platform is an early stage team that is part of our Data Platform. Data is at the core of our business, providing insights into the effectiveness of our products and enabling the technology that powers them. We build and operate the platform used by the rest of the company for data processing and ML model training. We thrive on building high quality systems and providing an amazing experience for our users and ourselves. We are proud to open source our innovations when those outside of The We Company can also benefit. We regard culture and trust highly and are looking forward to welcoming your contribution to the team.
- Partner with product, customers and other data teams to drive design, development and deployment of our ML products and platforms
- Build high-performance, fault-tolerant platforms and microservices for machine learning, optimization and experimentation
- Actively contribute to sprint planning and product roadmaps. Break down requirements, estimate tasks and plan development work accurately and deliver quality products on-time in a continuous delivery environment
- Drive code quality by writing unit tests, functional tests, and performance tests
- Take on important engineering, scaling and performance issues
- Discover, evaluate, and implement new technologies to maximize development and platform efficiency
- Build self-service platforms to power WeWork’s Technology
- 5+ years of industry experience with modern data technologies
- Experience in building scalable ML platforms and services with high availability and low latency
- Familiar with general machine learning tasks and techniques, such as ranking and recommendation systems
- Understanding of the different stages of ML and know how to build a platform that suits the needs for each stage
- Experience in writing production quality code in Java / Python / Scala
- Strong system-level design, architecture and troubleshooting skills
- Experience building distributed platforms that handle high volume of data or transactions
- Strong foundation in algorithms, data structures, and their real-world use cases
- Strong experience, with “under the hood” knowledge on one or more of the following technologies:
- Machine Learning: Scikit-learn, Pandas, Tensorflow, ...
- Event streaming systems: Kafka, Pulsar, Kinesis, …
- Big data processing: Spark, Hadoop, Flink, Beam, …
- IDL: Avro, Protobuf or Thrift
- Workflow management: Airflow, Oozie, Azkaban, ...
- Cloud storage: S3, GCS, …
- Big query engines: Redshift, Presto, Druid, …
- Eager to learn new things and take initiatives
- BS degree in Computer Science, or closely related field or equivalent practical experience
- Experience with contributing to open source software
- Experience in container technologies such as Docker
- Experience on developing and training machine learning models.