Senior Software Engineer (Native mobile – Swift / Kotlin)

Read about the company, culture, and benefits

Roles and responsibilities

All engineers at Red Airship are expected to:

  • Meet programming and quality standards by following production, productivity, quality, and customer-service standards; identifying work process improvements; implementing new technology.
  • Integrate applications by studying and implementing API’s and libraries.
  • Troubleshoot development and production problems across multiple environments and operating platforms.
  • Support users by developing documentation and assistance tools.
  • Work with the customer’s architects and developers.
  • Hone your skills, update job knowledge by researching and trying out new technologies and software products; participate in educational opportunities; read professional publications; maintain personal networks; participate in professional organizations.

On top of these, a typical week at Red Airship in this role may involve:

  • Defining application objectives by envisioning system features and functionality, analyzing and clarifying user requirements with customers.
  • Making technical decisions, researching best practices and technology required for a project, comparing advantages and disadvantages of various technologies either custom-built or off-the-shelf.
  • Driving enablement and training of new team members; Supporting individual development of other developers by providing advice, coaching and educational opportunities.
  • Conducting regular code reviews and guiding developers to adhere to appropriate standards.
  • Leading architecture design and solutioning activities.

As a senior position, you are also expected to take part in defining your own role and responsibilities.

Job requirements

Good foundational technical skills and some industry experience are a must. We don’t expect you to be experts in our entire tech stack, but we believe the best people can transfer their skills and experience to the language or framework where required.

  • Great interpersonal communications capabilities demonstrated through a history of successful software development projects.
  • Comfortable talking to clients, designers, and end users.
  • Good presentation skills, effective communication internally and externally.
  • High level of self-motivation and maturity.
  • Capacity to evaluate trade-offs between correctness, robustness, and performance.
  • Strong desire to tackle hard technical problems.
  • Familiar with Swift/Kotlin, some knowledge of ObjC/Java where required.
  • Familiar with respective package management systems (SPM / Carthage / CocoaPods / Gradle, etc), and popular/common libraries
  • UI and e2e testing frameworks
  • iOS/Android standard frameworks (Biometrics, security, etc).
  • Understands security and best practices.
  • Bachelor’s level degree in Computer Science, engineering, mathematics, or another related field. In the absence of which, at least 6 years of working experience in related fields.
  • Able to review wireframes and design to give constructive feedback, highlight uncertainties, give suggestions on feasibility.
  • Familiar with Mac/Linux environments and command line interface.

Extras

There are always extra skills that can give you an edge, not necessarily just in technology:

  • Experience designing and building production-ready native mobile applications.
  • Hybrid frameworks like React native or ionic/cordova
  • Commercial acumen, experience working alongside commercial teams.
  • Prior experience working for a technology startup
  • Experience with automated testing / TDD.
  • Experience with the Agile mindset and SCRUM methodology
  • Knows when, why, and how to accept technical debt
  • Project management experience, working with any known methodology and more importantly, being able to scope, manage and deliver on a plan no matter how simple or complex.
  • Experience training and mentoring junior members of the team
Apply

View other positions