TikTok
Software Engineer - TikTok Mobile Reliability, Android
TikTok, San Jose, CA
DescriptionTikTok 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 UsAt TikTok, our people are humble, intelligent, compassionate and creative. We create to inspire - for you, for us, and for more than 1 billion users on our platform. We lead with curiosity and aim for the highest, never shying away from taking calculated risks and embracing ambiguity as it comes. Here, the opportunities are limitless for those who dare to pursue bold ideas that exist just beyond the boundary of possibility. Join us and make impact happen with a career at TikTok.About the JobTikTok mobile reliability team ensures TikTok apps have reliability, uptime appropriate to our users and have a fast rate of improvement. We are part of product foundation that makes product features and performance optimization possible. In addition, the team will establish and optimize the overall TikTok development process, and keep an ever-watchful eye on our apps performance. Much of our software development focuses on optimizing existing codebase, building infrastructure and automation tools. On the mobile reliability team, you will have the opportunity to work on complex challenges with scale, while using your expertise in mobile coding, algorithms, data analysis and large-scale mobile application design.Our culture of curiosity, problem solving and openness is key to our success. Reliability must be a joint effort throughout all teams in TikTok. We encourage people to collaborate, think big and take risks in a blame-free environment. We promote self-direction to work on meaningful projects, while still striving to create an environment that provides support and mentorship needed to learn and grow.Responsibilities- Improve the lifecycle of application development from design, to development and application releases.- Engage in and improve production disaster management and recovery, developing platforms and frameworks to quickly mitigate mobile reliability issues remotely. - Support teams through activities such as technical design consulting, developing platforms and frameworks, investigating and providing solutions to fix complex reliability issues.- Develop and maintain our automation tools like static analyzers, reliability automation tests, data pipelines and monitors, reliability analysis tools.- Practice sustainable incident response and blameless postmortems.QualificationsMinimum qualifications- Experience in Android development- Experience coding in one or more of the following programming languages: Java, KotlinPreferred qualifications- Expertise in designing, analyzing and troubleshooting large-scale Android applications- Experience coding in C, C++ or Python- Understanding in one or more of the following: ART and Dalvik, memory optimization, Linux Kernel and ARM assembly- Ability to debug, optimize code and to automate tasks, large systems data analysis- Effective communication skills and a sense of ownership and drive.- Ability to have a systematic problem-solving approach.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. TikTok is committed to providing reasonable accommodations in our recruitment processes for candidates with disabilities, pregnancy, sincerely held religious beliefs or other reasons protected by applicable laws. If you need assistance or a reasonable accommodation, please reach out to us at gprd.accommodations@tiktok.com.RegularExperienced