>

Staff Software Engineer

Rakuten Viki

  View Insights

Apply

Job Summary


Salary
$10,000 - $13,000 SGD / 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 Software Engineer, 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
  • 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 

Salaries of Software Engineer at Rakuten Viki

Salaries from Rakuten Viki that are similar to Staff Software Engineer

11300 SGD

Estimated Salary

View more Software Engineer salaries at Rakuten Viki View more Software Engineer salaries
Apply

NodeFlair Insights of Rakuten Viki