At a Glance
- Tasks: Build mission-critical services for millions of users using TypeScript and modern tech.
- Company: Join Goodnotes, a visionary tech startup transforming digital note-taking.
- Benefits: Enjoy remote work, flexible hours, medical insurance, and personal development budget.
- Why this job: Make a real impact in a collaborative team while enhancing your skills.
- Qualifications: Proficient in TypeScript, with experience in cloud storage and software engineering practices.
- Other info: Diverse team culture that values passion and innovation.
The predicted salary is between 36000 - 60000 £ per year.
At Goodnotes, we believe that every individual holds untapped potential waiting to be unleashed. By reimagining the way we interact with information, we're merging human creativity with the breakthrough capabilities of AI. Our renewed vision and mission drive us to create the best medium for human and AI collaboration, empowering users to explore new dimensions of productivity, creativity, and learning. Join us on this journey as we transform digital note-taking into an inspiring and innovative experience.
Our Values:
- 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 be part of a distributed team across Europe and Asia, with shared time for collaborative activities such as planning, retros, stand-ups, and brainstorming sessions. The team is building account and subscription services for tens of millions of active users. Additionally, we also build the infrastructure that allows us doing experiments without releasing our iOS application. The team has a volunteer on-call schedule that may require working out of standard hours.
You will use a broad and modern tech stack with:
- Programming Language: Most of our team's services are written in TypeScript. We also have services written in Kotlin.
- Monitoring and Logging: We are currently using Datadog for monitoring and logging. Metrics are collected across our agents, taken from the logs using metric filters, and updated directly from lambda function or the application.
- Infrastructure-as-Code: Most of our infrastructure is written with Terraform.
- CI/CD: We currently use GitHub Actions for CI, and ArgoCD for CD.
- Deployments: We have multiple EKS clusters set up either for Blue/Green rollouts or dedicated feature sets. We are currently updating these clusters using ArgoCD and Atlantis.
- Our main databases are MongoDB and a self-managed CockroachDB cluster running on EKS.
We believe in automating ourselves out of our jobs.
About the role
This is the role for you, if you're excited to work on the things listed below:
- Build mission-critical services used by tens of millions of users.
- Architect and design scalable solutions that are easy to maintain to allow development of exciting features and support more users.
- Implement elegant solutions with clean code.
- Enable communication with the Mobile, Web frontend 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
- Proficient in TypeScript and some familiarity with at least one JVM programming language (e.g. Kotlin, Java, Scala).
- Expertise in cloud storage, deployment and computing. We use AWS but we're open to other platform experience.
- Deep understanding of computer science fundamentals, you enjoy solving algo and data structure puzzles.
- You have led the development of complex systems from inception to million 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 on the best tools for any task.
Open contributors and diversity
At Goodnotes, we want to build a team as diverse as our user base. Even if you don't meet all the above requirements, you may still be a great fit for the role, so please consider still applying. If you align with our values, are passionate about our product and what you do, we would love to hear from you!
The interview process
- Introduction: The Talent Team wants to hear more about your background, what you are looking for, and why you'd like to join Goodnotes.
- Take-home Assignment: A short online coding skills test.
- Live coding: 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.
- Onsite technical Interview: In one of our office locations (London, Singapore, Hong Kong) to assess technical skills.
- Hiring Manager interview: 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 support you throughout your career at Goodnotes.
- Values interview – Meeting with members of the Goodnotes Team to answer questions relating to take ownership AND build great things.
What's in it for you
- Remote, flexible working
- Flexible working hours and location
- Medical insurance for you and your dependents
- Great annual leave allowance
- 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
- Fantastic maternity/ paternity packages and allowances
Note: Employment is contingent upon successful completion of background checks, including verification of employment, education, and criminal records.
By submitting your application, you acknowledge that you have read and understood our Candidate Privacy Notice, which provides important information about the data we collect during the application process.
Senior Backend Engineer (Typescript) employer: Goodnotes
Contact Detail:
Goodnotes Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Backend Engineer (Typescript)
✨Tip Number 1
Get your networking game on! Reach out to current or former employees at Goodnotes on LinkedIn. A friendly chat can give you insider info and maybe even a referral, which can really boost your chances.
✨Tip Number 2
Prepare for the live coding session by practising common algorithms and data structures. Use platforms like LeetCode or HackerRank to sharpen your skills. Remember, it’s not just about getting the right answer but also how you approach the problem!
✨Tip Number 3
Show your passion for the product! When you get the chance to chat with the team, share your thoughts on Goodnotes and how you think it can evolve. This shows you’re user-obsessed and genuinely interested in contributing to their mission.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen. Plus, it shows you’re proactive and keen to join the Goodnotes family.
We think you need these skills to ace Senior Backend Engineer (Typescript)
Some tips for your application 🫡
Show Your Passion: When you're writing your application, let your enthusiasm for the role shine through! We want to see how excited you are about joining Goodnotes and contributing to our mission of transforming digital note-taking.
Tailor Your CV: Make sure to customise your CV to highlight your experience with TypeScript and any relevant projects. We love seeing how your skills align with what we do, so don’t hold back on showcasing your best work!
Be Clear and Concise: Keep your application straightforward and to the point. We appreciate clarity, so make sure your experiences and skills are easy to read and understand. Avoid jargon unless it’s relevant to the role!
Apply Through Our Website: Don’t forget to submit your application through our website! It’s the best way for us to receive your details and ensures you’re considered for the role. Plus, it’s super easy to do!
How to prepare for a job interview at Goodnotes
✨Know Your Tech Stack
Familiarise yourself with TypeScript and any JVM languages like Kotlin. Brush up on your knowledge of cloud storage and deployment, especially if you have experience with AWS. Being able to discuss your past projects using these technologies will show your expertise.
✨Showcase Problem-Solving Skills
Prepare to tackle algorithm and data structure puzzles during the interview. Practising these types of problems beforehand will help you articulate your thought process clearly, which is crucial for demonstrating your problem-solving abilities.
✨Emphasise Collaboration
Since Goodnotes values teamwork, be ready to share examples of how you've worked collaboratively in the past. Highlight experiences where you’ve removed blockers for your team or contributed to shared goals, as this aligns with their 'win like a sports team' value.
✨Be User Obsessed
Demonstrate your understanding of user needs and how your work impacts them. Prepare to discuss how you've taken ownership of projects and improved user experiences in previous roles. This will resonate well with their focus on being user obsessed.