Company Name: Goodnotes Job Details: Be an Early Applicant 18 Locations Remote 30K-90K Senior level Job Url: https://builtin.com/job/senior-ios-engineer-asia-remote-or-hybrid/6353540 Job Description: 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 innovationBuild great things- Work in service of our users, always improving and pushing higherOperate like an owner- Take responsibility with bold decision-making and bias for actionWin like a sports team- Be trusting and collaborative while empowering othersLearn and grow fast- Never stop learning and iterate fastShare our passion- Share ideas and practice enthusiasm and joyBe user obsessed- Empathetic, inquisitive, practicalAbout the team:At Goodnotes, we are driven by a mission: to transform the classroom and work 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. Join us in creating a platform that not only facilitates learning but also fosters meaningful interactions and connections in the digital learning and collaboration.You'll be: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 teamYou'll need: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 platformsEven 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 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 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 scheduleThe 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.Take-home Assignment: A timed online coding skills test.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 haveHiring 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 thingsWhat’s in it for you:Remote friendlyFlexible 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 allowancesNote: Employment is contingent upon successful completion of background checks, including verification of employment, education, and criminal records.