Opened 7 days ago Remote Job
Company

Senior Backend Engineer (JVM/Kotlin)

We want to make work and study more efficient and enjoyable, by providing the best digital paper solution possible. We plan to be the go-to tool for all forms of notes. Our digital paper and learning ecosystem inspires anyone to take notes, share what they know, collaborate with others, and learn as a community

Our Values:

Dream big
—Be visionary, strategic, and open to innovation

Build great things
—Work in service of our users, always improving and pushing higher

Take ownership
—Take responsibility with bold decision-making and bias for action

Win like a sports team
—Be trusting and collaborative while empowering others

Learn and grow fast
—Never stop learning and iterate fast

Share our passion
—Share ideas and practice enthusiasm and joy

Be user obsessed

—Empathetic, inquisitive, practical

 

About the team:

You will join a distributed team across Europe and Asia with shared time for collaboration such as planning, retros, stand-ups and brainstorming sessions. While you will get support from QA and Cloud Infrastructure & DevOps experts, you will own your prod to enable Goodnotes on all platforms. You will build our new APIs and services to bring a smooth experience to dozens of millions of users and soon many more.

 

About the role:

This is the role for you, if you’re excited to work on the things listed below:

  • 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


The skills you will need to be successful in the above:

  • Mastery in at least one JVM programming language. We mainly use Kotlin, but we’re open to Java and Scala

  • A good knowledge of idiomatic Kotlin and familiarity with Kotlin concurrency model is your extra advantage

  • 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

  • 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)

  • 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


Even if you don’t meet all the criteria listed above, we would still love to hear from you! Goodnotes places a lot of value on learning and development and will support your growth if needed.

The interview process:

  • An introductory call with someone from our talent acquisition team. They want to hear more about your background, what you are looking for, and why you’d like to join Goodnotes

  • A short online coding skills test

  • A live coding call with one of our engineers. This is where you get to see what it would be like working at Goodnotes as well as the chance to ask any engineering questions you may have

  • A call with your hiring manager. This is the person who will be managing you day to day, working on your growth and development with you as well as supporting you throughout your career at Goodnotes


What’s in it for you:

  • 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

 

We have process that allow us to hire in many countries across Europe and Asia, however there are some locations that we are unable to hire within and we therefore might offer non-permanent contracts to accommodate for this. 

Note: Employment is contingent upon successful completion of background checks, including verification of employment, education, and criminal records.

Increase your chances of landing your dream career.