Routiqo

Software Engineer (Big Data) - Application Computing

TikTok

  • Singapore
  • Full-time

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.

Responsibilities:

  • 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.

Requirements

Minimum Qualifications

  • Proficient in programming languages like Java, C++, Scala, Python.
  • Strong coding and troubleshooting skills.
  • At least 5 years 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.

Preferred Qualifications

  • 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.

Skills

  • Cassandra
  • Cpp
  • Java
  • Kubernetes
  • Python
  • Scala
  • Software engineering
  • Spark