Senior Backend Engineer

Goodnotes Logo

Goodnotes

πŸ“Remote

Summary

Join Goodnotes, a company reimagining information interaction by merging human creativity with AI, to create the best medium for human-AI collaboration. This role focuses on architecting and designing scalable, maintainable solutions for Goodnotes' new APIs and services, ensuring a smooth experience for millions of users. You will implement elegant solutions, enable cross-team communication, define and drive new initiatives, and continuously improve development practices. The team is distributed across Europe and Asia with shared collaboration time. This position offers the opportunity to work on a high-impact product and contribute to its continued growth and success.

Requirements

  • Mastery in at least one JVM programming language. We mainly use Kotlin, but we’re open to Java and Scala
  • Experience running high-performance and high-load JVM based workloads on Kubernetes (e.g. AWS EKS) and AWS Lambda services
  • Good understanding of modern distributed databases (we use CockroachDB so it will be an extra advantage if you worked with CockroachDB open-source or Enterprise in the past especially if you were also involved in setting up and operating self-hosted CRDB clusters)
  • Expertise in identifying access patterns, defining optimal relational data models and indexing strategies
  • Knowledge of non-relational distributed databases
  • Previous experience in building client-facing APIs and deep understanding of various L7 communication protocols (HTTP, gRPC, WebSocket, webRTC)
  • Expertise in cloud storage, deployment and computing. We use AWS but we’re open to other platform experience
  • Knowledge of infrastructure as code (IaC) tools such as Terraform and AWS CDK
  • Deep understanding of computer science fundamentals
  • You have led the development of complex systems from inception to millions of users
  • Robust software engineering practices, testing and automation have no secrets for you
  • Excellent problem-solving and story-telling skills
  • A love of software craftsmanship, you have a strong desire of self-improvement through side projects and sharing
  • Good sense of the best tools for any task

Responsibilities

  • Architect and design scalable solutions that are easy to maintain to allow the development of exciting features and support more users
  • Implement elegant solutions with clean code
  • Enable communication across multiple Mobile, Web Frontend, Backend Services and QA teams
  • Define and drive the completion of new initiatives and features by removing blockers for the team
  • Continuously improve the development practices through research, automation, documentation and testing
  • Share your knowledge and experience with the rest of the team

Preferred Qualifications

  • A good knowledge of idiomatic Kotlin and familiarity with Kotlin concurrency model is your extra advantage
  • An ideal candidate should also have experience in building collaborative real-time tools (e.g. Google Docs, Slack, etc.) and/or data synchronisation/backup solutions (e.g. iCloud, Dropbox)

Benefits

  • Meaningful equity in a profitable tech startup
  • Budget for things like noise-cancelling headphones, setting up your home office, personal development, professional training, and health & wellness
  • Sponsored visits to our Hong Kong or London office every 2 years
  • Company-wide annual offsite (we met in Portugal in 2023 and will go to Bali in 2024)
  • Flexible working hours and location
  • Medical insurance for you and your dependents

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.