Responsibilities
TikTok is the leading destination for short-form mobile video. Our mission is to inspire creativity and bring joy. TikTok has global offices including Los Angeles, New York, London, Paris, Berlin, Dubai, Singapore, Jakarta, Seoul and Tokyo.
Why Join Us
Creation is the core of TikTok's purpose. Our platform is built to help imaginations thrive. This is doubly true of the teams that make TikTok possible.
Together, we inspire creativity and bring joy - a mission we all believe in and aim towards achieving every day.
To us, every challenge, no matter how difficult, is an opportunity; to learn, to innovate, and to grow as one team. Status quo? Never. Courage? Always.
At TikTok, we create together and grow together. That's how we drive impact - for ourselves, our company, and the communities we serve.
Join us.
Team Introduction
TikTok's Recommendation Architecture Team is responsible for real-time computing direction, handling the design and development of real-time computing systems for TikTok videos, live streams, e-commerce, and a billion-user product recommendation system. Their main focus is ensuring system stability and high availability. They abstract general real-time computing systems, build a unified recommendation feature middleware, and implement a flexible and scalable high-performance storage system and computing model. This enables advanced real-time data systems for deduplication, counting, feature services, and other recommendation-related business needs.
- Design and implement real-time (streaming computing) data systems for large-scale recommendation systems.
- Create flexible, scalable, stable, and high-performance storage systems and computing models.
- Troubleshoot production system failures, design and implement necessary mechanisms and tools to ensure overall stability of the production systems
- Construct industry-leading streaming computing frameworks and other distributed systems to provide reliable infrastructure for massive data and large-scale business systems
- Research, design, and develop computer and network software or specialised utility programs.
- Analyse user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
- Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
- Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements.
Qualifications
-Proficient in programming languages like Java, C++, Scala, Python.
- Strong coding and troubleshooting skills.
- At least 1 year of relevant experience
- Deep understanding of streaming computing systems, with formal production experience in developing TB-level Flink real-time computing systems. Proficient in modules like FlinkDataStream, FlinkSQL, FlinkCheckpoint, FlinkState, and preferably with experience in reading Flink source code.
- Experience in data lake development is preferred. Familiar with at least one data lake technology such as Hudi, Iceberg, DeltaLake, and preferably with experience in reading their source code.
- Willingness to tackle problems without clear answers, with a strong passion for learning new technologies.
- Experience in handling PB-level data is a plus.
- Familiarity with other big data systems is preferred, including YARN, K8S, Spark, SparkSQL, Kudu, and others.
- Experience in storage systems such as Hbase, Cassandra, RocksDB.
TikTok is committed to creating an inclusive space where employees are valued for their skills, experiences, and unique perspectives. Our platform connects people from across the globe and so does our workplace. At TikTok, our mission is to inspire creativity and bring joy. To achieve that goal, we are committed to celebrating our diverse voices and to creating an environment that reflects the many communities we reach. We are passionate about this and hope you are too.