Senior Software Engineer - Rich Text Editor
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
About the job
Apply for this position
Senior Software Engineer - Rich Text Editor
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