Post a job

Lead iOS Engineer (Vietnam Remote)

G

Location
AE, AF + 49 more
Goodnotes

Job Description

We want to make work and study more efficient and enjoyable, by providing the best digital paper solution possible. We plan to be the go-to tool for all forms of notes. Our digital paper and learning ecosystem inspires anyone to take notes, share what they know, collaborate with others, and learn as a community

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
Take ownership
—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:

Goodnotes is on a mission to revolutionise the in-classroom learning experience by creating an interactive environment, where students and teachers can connect through our product.
As Lead Engineer you will be part of building a new product from scratch through partnering with external educators and colleagues.
You will be part of a distributed team across Europe and Asia, with shared time for collaborative activities such as planning, retros, stand-ups, and brainstorming sessions.

You will use a broad and modern tech stack with:

  • 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

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.
  • Lead in the architecture and design of scalable, easily maintainable solutions to allow development of exciting features and support greater users
  • You enjoy coding and want to remain 'hands on'
  • Play a key role in shaping technical roadmaps
  • Prioritise features and improvements based on business objectives and technical feasibility.
  • Conduct regular design and code reviews to ensure adherence to best practices and maintain code quality.
  • Drive continuous improvement of engineering standards, tooling, and processes.
  • Identify areas for optimisation and implement solutions to enhance team productivity and code quality.
  • Share 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 with a strong knowledge of design patterns, architectural principles, and best practices.
  • Strong understanding of computer science fundamentals, you enjoy solving algo and data structure puzzles
  • Proven track record of solving complex technical problems and making sound technical decisions.
  • Experience in the prioritisation, delegation, planning, and execution of tasks.
  • Leverage data to understand our users and our product in-depth, identify areas of opportunity and execute projects to drive user growth and engagement
  • Experience in driving cross-functional teams and collaborating effectively with product managers, designers, and other stakeholders.
  • A growth mindset with a commitment to continuous learning and improvement.
  • 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. Candidates with less experience will be considered as Senior iOS Engineers

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 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 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.
  • Passion presentation: A short presentation on something you are passionate about or are proud of

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

Advice from our career coach

As a Lead Engineer at Goodnotes, you will be crucial in shaping a revolutionary digital paper and learning ecosystem. To stand out as an applicant for this role, you should:

  • Highlight your expertise in Swift programming with a strong understanding of design patterns and architectural principles.
  • Showcase your experience in solving complex technical problems and making sound technical decisions.
  • Demonstrate your ability to drive cross-functional teams and collaborate effectively with product managers and designers.
  • Emphasize your commitment to continuous learning and improvement, showcasing a growth mindset.
  • Mention any experience in cross-compiling codebases on different mobile platforms as a big plus.
  • Be prepared for a comprehensive interview process that includes technical screening, live coding sessions, and interviews with the hiring manager and Talent Team.
  • Communicate your passion for the product and mission during the interview process.

Apply for this job

Expired?

Please let Goodnotes know you found this job with RemoteJobs.org. This helps us grow!

About the job

Jul 27, 2024

Full-time

  1. AE United Arab Emirates
  2. AF Afghanistan
  3. AM Armenia
  4. AZ Azerbaijan
  5. BD Bangladesh
  6. BH Bahrain
  7. BN Brunei
  8. BT Bhutan
  9. BU Remote
  10. CN China
  11. CY Cyprus
  12. GE Georgia
  13. HK Hong Kong SAR China
  14. ID Indonesia
  15. IL Israel
  16. IN India
  17. IQ Iraq
  18. IR Iran
  19. JO Jordan
  20. JP Japan
  21. KG Kyrgyzstan
  22. KH Cambodia
  23. KR South Korea
  24. KW Kuwait
  25. KZ Kazakhstan
  26. LA Laos
  27. LB Lebanon
  28. LK Sri Lanka
  29. MN Mongolia
  30. MO Macao SAR China
  31. MV Maldives
  32. MY Malaysia
  33. NP Nepal
  34. OM Oman
  35. PH Philippines
  36. PK Pakistan
  37. PS Palestinian Territories
  38. QA Qatar
  39. RU Russia
  40. SA Saudi Arabia
  41. SG Singapore
  42. SY Syria
  43. TH Thailand
  44. TJ Tajikistan
  45. TL Timor-Leste
  46. TM Turkmenistan
  47. TR Türkiye
  48. TW Taiwan
  49. UZ Uzbekistan
  50. VN Vietnam
  51. YE Yemen
RemoteJobs.org mascot