Staff Engineer, Full Stack

Rakuten Viki logo

Rakuten Viki

View Salaries, Reviews, and more  

Job Summary


Salary
S$9,000 - S$12,250 / Monthly EST

Job Type
Permanent

Seniority
Principal

Years of Experience
At least 8 years

Tech Stacks
Datadog Less JavaScript Ruby on Rails Kubernetes Ruby React PostgreSQL Redis MySQL Go Python Java

Job Description

The Community Engineering team is tasked with building and maintaining systems that impact every second that a Viki’s consumer spends watching our shows. With a variety of titles from all across the world, consumed by viewers around the world, our content connects people from anywhere and everywhere. An important part of this experience are the subtitles that make this happen. We use the contributions of our amazing community of volunteers, in addition to other avenues to create and maintain these subtitles. This team is accountable for bringing the tools, services and experiences to reality, so that it enables our community to manage these subtitles, and eventually for our viewers to enjoy them. Our systems are built using technologies such as Ruby on Rails, Golang, Redis, and PostgreSQL. In addition to that, we also manage our own deployments (think Kubernetes, Spinnaker, Datadog, GCP) and own end-to-end delivery of the product. We are scaling in terms of data we handle and adding a number of interesting workflows and features to this system.
 
Some of the interesting problems the team is working on include:
  • Rethinking and improving the reliability of how our community’s contributions are tracked and rewarded
  • Making it easier for the newly interested users to find shows and become volunteer contributors
  • Building tools to provide a communication platform for these volunteers to coordinate among themselves, create video segments, subtitling, reviewing, and so on
  • Moderation tools for our operations teams to ensure that our subtitles are of high quality
  • Most importantly, building flexible pipelines that transforms all this data to generate the subtitle files and metadata, for the clients to serve
 
We are currently in search of a Staff Engineer, Full Stack, with a Product Thinking mindset to tackle these interesting engineering problems alongside us. This role will provide you the opportunity to build solutions that require high accuracy, correctness, growing scale, as well as to learn about a core pillar of our business end-to-end.
 
Key Responsibilities Include:
  • Working with product team and engineering manager to understand the product, technical direction and make system/architecture decisions that support longer term extensibility
  • Owning and leading system architecture decisions for projects on quarterly basis, in addition to identifying and calling out dependencies, issues, and improvements in a timely manner
  • Contributing to and conducting system design reviews for systems that are being worked upon by you and/or the team, or the teams that end up impacting your systems
  • Creating guidelines and guardrails for the team to maintain the existing application’ correctness and performance
  • Identifying patterns in code and refactor them into modules that are easy to extend / reuse
  • Creating and ensuring that guidelines to uphold and maintain the quality of the codebase and system is being adhered to by the team, and lead the way in doing so
  • Making calls on when to take up tech debt, vs paying it off, and ensuring that we’re maintaining healthy levels of debt
  • Creating reusable and extensible automation test suite that makes it easy for the team to add, and maintain a robust test suite for all services
  • Performing code reviews of the team’s PRs and ensuring high standards of code quality, in addition to ensuring that development guidelines are followed
  • Guiding less experienced members of the team on technically complex aspects of the system, coaching them on systems thinking and architecture
  • Making sure the overall architecture and system documentations are kept up to date

Requirements:
  • B.S. or M.S. in Computer Science or a related field 
  • 8-12+ years of experience in developing professional grade software
  • Strong knowledge of software concepts, design patterns, refactoring and automated testing
  • Great judgement and diligence to know what patterns to use, when and where, and are able to confidently hold constructive conversations on it with the team, and peers
  • Strong communication skills and are able to explain technical and non-technical concepts to less experienced members of the team, as well as the peers and managers
  • Strong hands-on experience building web applications, distributed and event sourced systems using: Programming languages such as Java, Ruby, Go, Python, with willingness to take up Ruby and Rails; Relational DBs (Postgresql or Mysql or equivalent); Caching technologies like Redis or equivalent
  • Knowledge of cloud computing [AWS or GCP]
  • Good to have experience in Javascript and in any of the following frameworks: Ember.js, Backbone.js, React.js, or Angular.js
 
Rakuten is an equal opportunity employer. We do not discriminate based on race, color, ethnicity, ancestry, national origin, religion, sex, gender, gender identity, gender expression, sexual orientation, age, disability, veteran status, genetic information, marital status or any legally protected status. Women, minorities, individuals with disabilities and protected veterans are encouraged.

banner icon
Interested in common interview questions?
Let's prepare for potential interview questions tailored to your job description and work experience.
Get Started!

Achieve your dream job with our top-notch tools!

Resume Checker Illustration

Resume Checker

Our free resume checker analyzes the job description and identifies important keywords and skills missing from your resume in just a minute!

Check Now
Resume Checker Illustration

Interview Preparation

Utilizing advanced AI, our tool generates tailored interview questions based on your industry, role, and experience. Practice and receive feedback on your answers in real time!

Let's Prepare
Resume Checker Illustration

Resume Builder

Let us show you the differences between a bad, good, and great resume, and guide you in building a resume that helps you stand out to employers, ensuring you land your next position faster!

Build Resume