At a Glance
- Tasks: Join us to enhance Swift and LLVM support, shaping the future of cross-platform development.
- Company: Goodnotes, a leading tech startup revolutionising digital note-taking with AI.
- Benefits: Equity in a profitable startup, flexible hours, wellness budget, and medical insurance.
- Why this job: Be part of a dynamic team driving innovation in productivity and creativity.
- Qualifications: Experience with LLVM, strong coding skills, and a passion for open-source contributions.
- Other info: Collaborate with an international team and enjoy excellent career growth opportunities.
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.
About the team: After our huge success on Apple platforms, we brought our product to Android, Web & Windows platforms. You will be part of the cross-platform engineering team, which is working hard to ensure that we can deliver the same top-of-the-market quality product beyond Apple devices. They are a very international team, with your future coworkers being based in multiple countries across Europe and Asia. However, due to the asynchronous nature of working that Goodnotes has adopted, any time difference will not impact your work-life balance. Synchronous communication and collaboration among peers will be carried out during overlap hours, including weekly planning sessions, retrospectives and those sessions arranged by the team for other purposes such as managing technical excellence.
As a Software Engineer - Compilers working on Swift and LLVM at Goodnotes, you will work on improving Wasm & Android support for Swift, and implementing new Swift features that would be helpful for both Goodnotes and the Swift community at large. Goodnotes is making a huge bet on Swift and, in doing so, changing how cross-platform apps are built forever – but we’ll need your help to get there. The Developer Experience squad goal is to enable other cross-platform engineers to build the best notetaking and productivity application across multiple platforms, leveraging on PWA and Wasm technology, giving other engineers the tools to build a highly performing application with the greatest quality in a high delivery and fast-moving set-up. The squad stakeholders will be your fellow engineers with whom you will shape the roadmap to exploit the most fruitful technical opportunities.
This is the role for you, if you’re excited to work on the things listed below:
- Be a leading part of the state-of-the-art development of Swift and Wasm support, helping not only Goodnotes engineers but also the worldwide advancement of web technology and multiplatform development.
- Scope and spearhead technical projects across the Swift codebase, like implementing multithreading support for Swift on Wasm and better JNI support for Swift on Android.
- Collaborate with the LLVM community and our contacts at Apple to better understand how we can improve performance and reliability for Swift on Wasm and Android (and Swift generally).
- Work with our product infrastructure team to improve tooling and the developer environment for Swift.
- Engage with the Swift and LLVM community on forums, helping fix bugs and contributing to future proposals.
- Give back to the open-source community. We believe in upstreaming our work to benefit the community that we benefit greatly from.
The skills you will need to be successful in the above:
- You have experience with the LLVM (or other compiler, eg. GCC) codebase, ideally with the Swift source code.
- You have experience tech leading critical projects or initiatives within your team and organization.
- You’ve worked on large, complex codebases.
- You understand how to improve systems to make them easier to understand, debug, and maintain.
- You’re excited about elegant, maintainable, and easy-to-use build tooling and configuration.
- You’re pragmatic and can see the bigger picture; you’re able to reason about prioritization and scope.
- You are biased to action. We like learning as quickly as possible, so we embrace failing fast to refine our code, systems, and processes rapidly.
- Some familiarity with Wasm and Android is preferred but not required.
- Bonus points for maintaining open-source projects, understanding and fulfilling the needs not only of delivering according to specifications, but also providing the tooling, build systems and processes and guidelines to address external issues and improvement proposals.
- You have great communication skills, being capable of presenting plans to the broader engineering team, clearly stating risks and blockers and remediation and mitigation plans.
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.
- An online hackerRank assessment.
- A 1-hour live coding interview with a basic problem to clarify and solve, leveraging algo/data structures with one of our engineers.
- A 1-hour live in-depth interview on Fixing Performance issues. 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 one-hour 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.
- A one-hour call with 2-3 stakeholders you’d work closely with.
- A 30 min AI Literacy Interview.
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.
- Flexible working hours and location.
- Medical insurance for you and your dependents.
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 Compiler Engineer in London employer: Goodnotes
Contact Detail:
Goodnotes Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Compiler Engineer in London
✨Tip Number 1
Network like a pro! Reach out to current employees at Goodnotes on LinkedIn or other platforms. Ask them about their experiences and any tips they might have for the interview process. This can give you insider knowledge and make your application stand out.
✨Tip Number 2
Prepare for those technical interviews! Brush up on your coding skills, especially around Swift and LLVM. Practise common algorithms and data structures, and don’t forget to review multithreading concepts since they’re key for this role.
✨Tip Number 3
Show your passion for open-source! If you've contributed to any projects, be ready to discuss them in detail. Goodnotes values giving back to the community, so highlighting your involvement can really impress the hiring team.
✨Tip Number 4
Don’t just apply anywhere—apply through our website! It shows you’re genuinely interested in joining Goodnotes. Plus, it helps us keep track of your application better, making it easier for us to connect with you.
We think you need these skills to ace Senior Compiler Engineer in London
Some tips for your application 🫡
Show Your Passion for Compilers: When writing your application, let us see your enthusiasm for compilers and the tech behind them. Share any personal projects or contributions to open-source that highlight your skills and passion for the field.
Tailor Your CV and Cover Letter: Make sure to customise your CV and cover letter to reflect the specific skills and experiences that align with the Senior Compiler Engineer role. Highlight your experience with LLVM, Swift, and any relevant projects you've led.
Be Clear and Concise: We appreciate clarity! Keep your application straightforward and to the point. Use bullet points where necessary to make it easy for us to see your qualifications and achievements at a glance.
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. We can’t wait to hear from you!
How to prepare for a job interview at Goodnotes
✨Know Your Compilers
Make sure you brush up on your knowledge of LLVM and Swift. Familiarise yourself with the latest features and improvements in these technologies, as well as any recent developments in the community. This will not only help you answer technical questions but also show your genuine interest in the role.
✨Showcase Your Projects
Prepare to discuss any relevant projects you've worked on, especially those involving large codebases or compiler development. Be ready to explain your thought process, the challenges you faced, and how you overcame them. This will demonstrate your problem-solving skills and experience in tech leading.
✨Engage with the Community
Since Goodnotes values contributions to the open-source community, be prepared to talk about any open-source projects you've been involved in. If you haven't contributed yet, consider engaging with forums or communities related to Swift and LLVM before your interview to have some insights to share.
✨Ask Insightful Questions
During your interviews, don’t hesitate to ask questions about the team dynamics, the tools they use, and their approach to cross-platform development. This shows that you're not just interested in the job, but also in how you can contribute to the team's success and improve the developer experience.