Lead Software Engineer, Mobile (Remote)

Job Description:

A lead engineer should have experience with native application development for both Android and iOS, but may have focused engineering experience on one platform or the other. Leads should be familiar with the trade-offs between application architectures (like MVC and MVVM), memory management, multithreading, object oriented design patterns, and related topics.

The duties of the role include shepherding a team as they refine, plan, and execute new features, functionality, and bug-fixes to existing, and emerging, products. Our lead engineers also participate in the evaluation of new technologies, defining the technological direction of our applications and platforms. They then participate in the strategy and planning to adopting new technology.

A lead will work with the manager of less experienced engineers to guide and mentor those engineers, assisting with their professional growth and development.

Responsibilities
  • Technical leadership of a team of 4-6 engineers
  • As part of a cross-functional team, Define, refine, schedule, engineer, deliver, and maintain features of cross-platform applications
  • Participate in the evolution and improvement of software development practices
  • Evaluate emerging technologies and work with the team to establish the technical direction of mobile products
  • Guide, mentor, and teach less experienced engineers.

Qualifications
  • Bachelor’s degree in computer science, or equivalent industry experience
  • 10 years experience as a mobile developer
  • 2-5 years experience as a senior or lead software engineer or engineering manager
  • Foundation in software development including application architectures, common design patterns, memory management, and multiprocessing
  • Experience with cross-platform mobile application development for iOS and Android
  • Proficiency in mobile application delivery on the Android and/or iOS platforms
  • Comfortable working as part of a cross-functional team and with code written by others
  • Proficiency mobile development tools like Android Studio, Xcode, Java, Kotlin, Swift and/or Objective-C
  • History with other common development tools including version control, bug tracking systems, and CI/CD pipelines
  • Working knowledge of a "scripting language" like Python, Ruby, JavaScript/Node, Shell scripting or similar
  • Passion for exploring technology and learning new skills
  • Excellent communication skills
  • Experience developing software using the Scrum development process is helpful
  • Experience with functional and reactive programming using RxJava, RxSwift, Flow, or Combine is helpful

Share Profile