Senior Software Engineer - Rich Text Editor
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
Over 25 million people use the Goodnotes app every month to take notes, learn, think, and teach others.
We are seeking a talented Senior Software Engineer to join our Text Editing team and help us take our rich text editing experience to the next level. If you have deep experience in implementing rich text editors (ideally with multiplayer capabilities) and you love working on technically challenging projects with big impact, we are looking for you.
What you will do:
- Contribute substantially to our text editor architecture, including fundamental data structures, editing, multiplayer features, layout, and rendering.
- Implement a cross-platform rich text editor with multiplayer capabilities.
- Work closely with technical and product leaders on planning and prioritisation.
- Join the Text Editing team and collaborate closely with other senior engineers.
- Share your knowledge and experience with the rest of the team.
- If you have the skills and interest to lead an entire team of engineers, we can also offer you the position of Engineering Manager for the Text Editing team.
What you need:
- Experience developing rich text editors
- Good grasp of common algorithms and their performance characteristics
- Maker at heart
- Experience working in small teams, delivering great products with high-quality code.
- Experience with at least one systems programming language (C/C++/Rust/Objective-C/Swift/…)Preferred qualifications- Swift, TypeScript
- Experience with the implementation of real-time collaborative applications
- Experience with multiplayer collaboration algorithms and data structures (CRDTs, OTs, …)
- Experience in building many parts of a rich text editor "from scratch" (going beyond merely connecting existing 3rd-party libraries).
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 want to hear more about your background, what you are looking for, and why you’d like to join Goodnotes.
- Live coding & Technical interview: 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
- Technical interview about your experience with rich text editors: A call with your future teammates. We’ll talk about technical details of implementing rich text editors.
- 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 supporting you throughout your career at Goodnotes.
- Panel interview – Meeting with members of the Goodnotes Team to present one of your passions and answer questions around teamwork
What’s in it for you:
- Remote working or join our London/ HK offices
- 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.