Graduate System Software Engineer 2021
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, Mumbai, Singapore, Jakarta, Seoul and Tokyo. We are now looking for talented individuals to join us in 2021 - people who want to inspire creativity and co-create the future with TikTok.
Regardless of the function you choose to specialise in, our graduate roles will enable you to participate in meaningful and innovative projects. Your potential for growth at TikTok is limitless. Join us to enhance your skill set and develop your network in the tech industry.
This role is part of our STE (System Technology & Engineering) team. This team has been committed to research and engineering development in the primary technology fields, such as operating systems, virtualisation and optimisation of essential system software.
You will be working on developing operating systems in the user mode and the system-level tools. As a Software System Engineer, you will have a broad range of technical knowledge and specialise in Linux platform and software development. You will sit in between the development and operations team, and your key focus will be to deliver a first-class platform that our development teams can build upon.
- Will involve working closely within our software development teams to design, develop and deploy a range of complex software solutions hosted on Linux platforms:
- You will learn how to optimise system-level infrastructure, including an operating system and its components, infrastructure performance
- Improve and optimise the automatic operation and maintenance of system monitoring, software deployment and upgrading
- Optimise the AIOps of massive servers
- Great system software and hardware performance analysis and troubleshooting
- Recent Bachelor's, Master's or PhD degree in Computer Science or a related engineering field
- Must have graduated by August 2021
- Solid knowledge in at least one of the following areas: C or C++ development skills and preferable some experience in other languages such as Python/Go/Rust/Java
- A good understanding of data structures and algorithms
- Familiar with the operating system and its components, basic knowledge of Linux kernel or basic knowledge of common data structure and algorithm
- Able to work in teams to complete the design and implementation of large and medium-sized system software, with good code robustness and prior experience in code performance optimisation
- familiar with at least one of the network, storage, memory management, process scheduling, or server hardware architecture