About the Role
If you’re passionate about building infrastructure that enables scalable services and large scale data processing systems, and you are motivated to make an impact in creating a robust and scalable data platform used by every team, come join us. You will jump into an early stage team that builds the service infrastructure, data transport, collection and orchestration layers. You will help shape the vision and architecture of WeWork's next generation infrastructure, making it easy for developers to build data-driven products, features and systems that are scalable and distributed. You are responsible for developing a reliable infrastructure that scales with the company’s incredible growth. Your efforts will allow accessibility to business and user behavior insights, using huge amounts of WeWork data to fuel several teams such as Analytics, Data Science, Growth, Billing, Member Experience and many others as well as empowering them to depend on each other reliably. You will be a part of an experienced engineering team and work with passionate leaders on challenging distributed systems problems.
About the Team
WeWork China tech team is made up of these main missions - Member experience, Growth & Billing, and Developer Platform. Member Experience is a mission that focuses on how our members interact with other members; how our members connect with the physical space around them (online to offline, offline to online experiences) and how our community managers engage with our members in our spaces. The mission of Growth & Billing is to deliver technology that powers the growth of our core businesses, by providing the right products to the right people at the right price at the right time, and to provide a reliable, simple, and insightful billing and payments experience along the way. Growth & Billing covers the entire journey of a member, from their first interaction with our website or a salesperson, all the way through providing the right account visibility and flexibility so they stay a member for life and grow with us. Developer Platform is a mission that helps Member Experience, Growth and billing missions be successful in achieving their goals through releasing delightful experiences, scalable systems and reliable software. It is the developer platform’s charter to provide these missions and their developers with a robust, reliable, easy to use, scalable service infrastructure and data platform along with some recommendation systems powered by machine learning. We build and operate the platform used by the rest of the company for streaming and batch computation and to train ML models. We’re building an ecosystem where consumers and producers of data can depend on each other safely. Developer platform’s main goal is to increase developer productivity, improve software quality, and make all teams and their products data centric.
- Contribute technical design and systems architecture of services, tools and applications across the dev platform team
- Initiate and drive complex cross-team initiatives, bringing in resources as necessary from other squads, product areas, and departments as required
- Partner and interface with peer engineering teams and stakeholders
- Partner with senior leadership to improve process and culture across engineering
- Partner with product management to lead technical requirements gathering discussions with customers
- Ensure execution alignment with service infrastructure, data platform and recommendation systems teams within the developer platform mission
- Drive and partner on technical standards, hiring practices, and other efforts to raise the quality bar for WeWork Technology
- Advocate WeWork's practices and brand
- Bachelor degree in Computer Science. Master degree preferred
- Minimum 7+ years of experience building highly available critical systems
- 2+ years experience in stream processing with Flink, Spark, Storm, or Beam
- Experience with one or more of the following technologies:
- Distributed logging systems Kafka, Pulsar, Kinesis, etc
- Batch processing: Spark, Hadoop, …
- IDL: Avro, Protobuf or Thrift
- MPP databases Redshift, Vertica, …
- Query execution Columnar storage, push downs: Hive, Presto, Parquet, ...
- Workflow management Airflow, Oozie, Azkaban, ...
- Cloud storage: S3, GCS, ...
- Understanding of distributed systems concepts and principles (consistency and availability, liveness and safety, durability, reliability, fault-tolerance, consensus algorithms)
- Proven experience in demonstrating clear architecture skills at a multi-system level
- Proven experience writing scalable, high-performant and clean code
- Experience driving technical excellence and engineering practices
- Knowledge of designing and developing platform level components including events architectures, messaging, and caching. (JSM, ActiveMQ, Apache Kafka, etc.)
- Deep understanding of Kubernetes
- Experience with Docker
- Experience with Agile methodologies
- Ability to analyze and debug complex software and infrastructure issues, and develop tools/systems for task automation.
- Excellent communication skills -- need to be able to effectively manage communication with multiple engineering teams.
- Experience working with AliCloud & TencentCloud and tools used to deploy and monitor cloud applications. Should have experience setting up and maintaining CI/CD pipelines with Jenkins or similar.
- Proactively ensure the highest levels of systems and infrastructure availability
- Participate in the design of infrastructure to support day-to-day transactions
- Liaise with vendors and IT personnel for problem resolution. Provide 3rd level support
- Experience with contributing to open source software a plus
- Experience with the following Cassandra, DynamoDB, RocksDB/LevelDB, Graphite, StatsD, CollectD a plus