At a Glance
- Tasks: Join us to build the best Mac desktop experience for note-taking and presentations.
- Company: Goodnotes, a visionary tech startup merging creativity with AI.
- Benefits: Remote-friendly, flexible hours, medical insurance, and personal development budget.
- Why this job: Make a real impact in transforming digital note-taking with cutting-edge technology.
- Qualifications: Expertise in Swift programming and experience with macOS app development.
- Other info: Collaborative team culture with excellent growth opportunities and annual offsite events.
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
- Dream big: Be visionary, strategic, and open to innovation
- Build great things: Work in service of our users, always improving and pushing higher
- Operate like an owner: 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
The Mac Squad are driven by a mission: build the best Mac desktop experience for notes capture and presentation. Our big dream is to repeat the success of our iPad app and become the Apple Mac App of the Year.
Responsibilities
- 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 Apple, Web frontend and QE 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.
Requirements
- Expertise in Swift programming. Knowledge of SwiftUI is advantageous.
- Expertise in either UIKit or AppKit. Experience of bringing a big iPad app to Mac is advantageous.
- Strong understanding of computer science fundamentals, you enjoy solving algo and data structure puzzles.
- Excellent problem solving, communication, and storytelling skills.
- A love of software craftsmanship.
- Strong sense of the best tools for any task.
- Shipped one or more non-trivial macOS apps on respective app stores.
- Big plus if you have experience cross-compiling codebase on different mobile platforms.
Additional note
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 stack
- Programming Language: The vast majority of our code is written in Swift.
- Concurrency: We have a large, old, but modular codebase. We use modern Swift Concurrency as much as possible as we gradually move away from RxSwift.
- UI code: As much new UI code as possible is in SwiftUI. We fall back to UIKit when needed and re-use the majority of it on macOS using Catalyst.
- Cross-platform: We re-use our core packages on cross-platform using SwiftWasm, UI for other platforms is written using React or their respective native APIs.
- Dependencies: We exclusively use Swift Package Manager and frequently make new local packages.
- Source control and builds: We have a mono-repo and use GitHub and Pull Requests. We kick off builds using a Slack bot.
- Continuous Integration: We use CircleCI which means our configuration is checked in with our code. We have unit tests for all of our modules which run on every branch. UI tests are run daily and before release.
- Release cadence: We QA and release on a weekly schedule.
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.
- Technical Screening: A timed coding challenge on the Hackerrank platform.
- Onsite Live coding & Technical interview: A live coding session with one of our engineers in our London/ Singapore/ Hong Kong offices. 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.
- AI Literacy: We want to see how you understand and use AI in your day to day.
- 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 our company values.
Please note that technical interviews are held onsite in our office locations (London, Hong Kong & Singapore) all transport, accommodation and costs involved will be covered by the Goodnotes team.
What's in it for you
- Remote friendly.
- 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 macOS Engineer in London employer: Goodnotes
Contact Detail:
Goodnotes Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior macOS Engineer in London
✨Tip Number 1
Network like a pro! Reach out to folks in your industry on LinkedIn or at meetups. A friendly chat can open doors that a CV just can't.
✨Tip Number 2
Prepare for those interviews! Research Goodnotes, understand their mission, and think about how your skills can help them build the best Mac desktop experience.
✨Tip Number 3
Show off your coding chops! Be ready to tackle coding challenges and live coding sessions. Practice makes perfect, so brush up on your Swift and problem-solving skills.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people at Goodnotes.
We think you need these skills to ace Senior macOS Engineer in London
Some tips for your application 🫡
Show Your Passion: When writing your application, let your enthusiasm for macOS development shine through! We love seeing candidates who are genuinely excited about building great things and pushing the boundaries of what's possible.
Tailor Your Experience: Make sure to highlight your relevant experience with Swift and any macOS apps you've shipped. We want to see how your skills align with our mission to create an inspiring digital note-taking experience.
Be Clear and Concise: Keep your application straightforward and to the point. We appreciate clarity in communication, so make it easy for us to see why you're a great fit for the Senior macOS Engineer 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 this exciting opportunity at Goodnotes.
How to prepare for a job interview at Goodnotes
✨Know Your Tech Stack
Familiarise yourself with the technologies mentioned in the job description, especially Swift and SwiftUI. Be ready to discuss your experience with these tools and how you've used them in past projects. This shows you're not just a fit on paper but also have practical knowledge.
✨Prepare for Live Coding
Since there's a live coding session in the interview, practice coding challenges on platforms like HackerRank or LeetCode. Focus on algorithms and data structures, as these are crucial for the role. Make sure you can explain your thought process while coding, as communication is key.
✨Showcase Your Problem-Solving Skills
During the interview, be prepared to tackle problem-solving questions. Think aloud as you work through these problems, demonstrating your approach and reasoning. This will highlight your analytical skills and how you handle challenges, which is vital for a Senior macOS Engineer.
✨Embrace Goodnotes' Values
Research Goodnotes' values and think of examples from your experience that align with them. Whether it's being user-obsessed or learning fast, showing that you resonate with their culture can set you apart. Be ready to discuss how you embody these values in your work.