TikTok
TikTok

Software Engineer (Big Data) - Application Computing

RoleEngineering
LevelMid Level
LocationSingapore
WorkOn-site
TypeRegular
PostedToday
Apply now

About the role

Team Introduction
Tik Tok's Recommendation Architecture Team is responsible for real-time computing direction, handling the design and development of real-time computing systems for Tik Tok 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 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 Flink Data Stream, FlinkSQL, Flink Checkpoint, Flink State, 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, Delta Lake, 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.

Required skills

Software engineering

System design

Troubleshooting

Can my resume get me an interview?

Get your resume score and fixes with refresh.cv.

Create a resume

About TikTok

Singapore

Headquarters