We are looking for iOS Developers!
You will use a broad and modern tech stack with:Programming Language: The vast majority of our code is written in SwiftConcurrency: We have a large, old, but modular codebase. We use modern Swift Concurrency as much as possible as we gradually move away from RxSwiftUI 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 CatalystCross-platform: We re-use our core packages on cross-platform using SwiftWasm, UI for other platforms is written using React or their respective native APIsDependencies: We exclusively use Swift Package Manager and frequently make new local packagesSource control and builds: We have a mono-repo and use GitHub and Pull Requests. We kick off builds using a Slack botContinuous 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 releaseRelease cadence: We QA and release on a weekly schedule
This is the role for you, if you’re excited to work on the things listed below: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 teamsDefine and drive the completion of new initiatives and features by removing blockers for the teamContinuously improve the development practices through research, automation, documentation and testingShare your knowledge and experience with the rest of the team
The skills you will need to be successful in the above:Expertise in Swift programming. Knowledge of SwiftUI is advantageousStrong understanding of computer science fundamentals, you enjoy solving algo and data structure puzzlesExcellent problem-solving, communication, and storytelling skillsA love of software craftsmanshipStrong sense of the best tools for any taskShipped one or more non-trivial iOS apps on respective app storesBig plus if you have experience cross-compiling codebase on different mobile platforms
The interview process:HackerRank task (20-30 minutes);Technical interview with Live coding (around 2 hours);Hiring Manager interview.**Optionally, there can be a call with the internal recruiter: The Talent Team wants to hear more about your background, what you are looking for, and why you’d like to join Goodnotes.
What’s in it for you:Remote, flexible workingFlexible working hours and locationMedical insurance for you and your dependentsGreat annual leave allowanceMeaningful equity in a profitable tech startupBudget for things like noise-cancelling headphones, setting up your home office, personal development, professional training, and health & wellnessSponsored visits to our Hong Kong or London office every 2 yearsCompany-wide annual offsiteFantastic maternity/ paternity packages and allowances