Senior iOS Engineer, Europe
New Yesterday
Overview
Senior iOS Engineer, Europe at Goodnotes.
About Goodnotes
At Goodnotes, we are driven by a mission: to transform the classroom into a dynamic and interactive environment where students and teachers can seamlessly connect through our innovative product. As a Senior Engineer, you will play a pivotal role in bringing this vision to life. You will collaborate closely with external educators and cross-functional teams within Goodnotes, leveraging your expertise to build and refine a new product that enhances the educational experience for users worldwide.
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 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.
Qualifications
- Expertise in Swift programming. Knowledge of SwiftUI is advantageous.
- Strong understanding of computer science fundamentals; you enjoy solving algorithm 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 iOS apps on respective app stores.
- Big plus if you have experience cross-compiling codebase on different mobile platforms.
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 use modern Swift Concurrency; we are gradually moving away from RxSwift.
- UI code: New UI code is in SwiftUI; UIKit is used where needed, with Catalyst for macOS reuse.
- Cross-platform: Core packages are reused across platforms with SwiftWasm; UI for other platforms uses React or native APIs.
- Dependencies: We exclusively use Swift Package Manager and frequently create local packages.
- Source control and builds: We maintain a mono-repo with GitHub and PRs; builds are kicked off via Slack.
- Continuous Integration: CircleCI configured with unit tests on every branch; UI tests run daily and before release.
- Release cadence: We QA and release on a weekly schedule.
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.
- Technical Screening: A timed coding challenge on the Hackerrank platform.
- Onsite 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.
- 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.
Note: Technical interviews are held onsite in our office locations (London, Hong Kong & Singapore). All transport, accommodation and costs involved are 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 home office setup, personal development, and wellness
- Sponsored visits to our Hong Kong or London office every 2 years
- Company-wide annual offsite
- 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. You can find it here.
Seniority level
- Mid-Senior level
Employment type
- Full-time
Job function
- Engineering and Information Technology
Industries
- Software Development
- Location:
- London, England, United Kingdom
- Salary:
- £125,000 - £150,000
- Job Type:
- FullTime
- Category:
- IT & Technology