One stop solution to your remote job hunt!

By signing up you get access to highly customizable remote jobs newsletter, An app which helps you in your job hunt by providing you all the necessary tools.

OR
Subscribe to our highly customizable newsletter to get remote jobs from top remote job boards delivered to your inbox.
DroneUp over 2 years ago
location: remoteus
Apply Now

iOS Engineer

Fully Remote • United States

Job Type

Full-time

Description

DroneUp is seeking an iOS Engineer to support the native iOS application developed using Swift for internal use by delivery managers and drone operators. The position also involves the development of further application modules and adapting to new devices and operating system versions.

Responsibilities

  • Demonstrate understanding of internal technologies used by your team and provide commentary, review, and feedback to other teams about their projects and products when necessary, especially in how those integrate with your own team
  • Test your work to ensure that it meets all acceptance criteria and works as expected
  • Assure your work meets customer’s business needs and present for sign off
  • Modify build processes to add new modules to an existing project and develop build processes for new projects
  • Design, develop, and debug unit and integration tests for new and existing code
  • Understand and take ownership of your code (and other’s code) through the process until deployment, contribute to improve efficiency and consistency of the process
  • Participate in peer code reviews providing qualitative feedback
  • Research internal implementations as well as potential new technologies and communicate output of that research
  • Identify root cause defects and production bugs, fix them as requested, communicate impact of bugs, and work with stakeholders to schedule fixes
  • Research changes to external integrations and update code, understand the cadence of these changes, and contribute to the ongoing plan to manage changes
  • Provide technical direction on various types of tasks on your platform and participate in technical direction for larger projects
  • Manage your team’s version control system and address merge conflicts, incorporating your team’s branching process.
  • Contribute ideas on how to improve the branching process.
  • Facilitate teamwork among your employees and encourage others to provide insight into how to optimize team communication
  • Stay current with platform changes and third-party libraries and proactively investigate better solutions for current technologies
  • Understand our project management tools and processes, contribute ideas on improving our project management systems
  • Respond to emergency issues and alerts assigned to you and provide insight to improve monitoring and alerting systems
  • Participate in technical interviews and offer ideas on how to improve the interview process
  • Other duties as assigned

Requirements

  • Proficient in Swift (Generics, Closures, Native Swift Protocols, Concurrency, ARC basics)
  • Experience with JIRA or other ticket systems and ability to resolve tickets according to technical direction
  • Excellent understanding of build and test processes, able to modify build processes to add new modules to an existing project and develop build processes for new projects
  • Able to design, develop, and debug unit and integration tests for new and existing code
  • Excellent understanding of build and test processes
  • Advanced understanding of iOS APIs (Foundation, UIKit, CoreBluetooth, CoreLocation, External Accessory)
  • Excellent understanding of the Xcode IDE and build process (Swift Package Manager, Cocoapods, App Store Connect)
  • Experience in creating and deploying iOS/macOS libraries
  • Intermediate understanding of unit tests (XCTest)
  • Knowledge of RESTful APIs to connect to back-end services and understanding of networking concepts
  • Advanced understanding of Version control concepts (git submodules, feature branching, merge/rebase)
  • Proficient at using version control systems and the ability to address merge conflicts
  • Understanding of UI design with a user-oriented focus, including Apple’s design principles and interface guidelines
  • Intermediate knowledge of S.O.L.I.D. design principles
  • Intermediate understanding of OOP and POP (protocol-oriented programming)
  • Basic understanding of SQL and Data Indexing Concepts
  • Experience with CI (continuous integration) systems
  • Using programming patterns specific to iOS development
  • Some experience Cocoa APIs on macOS
  • Experience with SwiftUI or Combine
  • Basic understanding of or experience with Objective-C
  • Experience with Design tools (Figma, Zeplin, Lottie, Sketch)
  • Experience with Xcode Instruments
  • Critical thinker and great problem-solving and time management skills
  • Great interpersonal and communication skills

This position also requires the following essential functions:

  • Visual acuity (e.g., needed to prepare and analyze data, to transcribe documents, to view a computer, to read, to inspect objects, to operate machinery
  • Capacity to reason and make sound decisions
  • Ability to regularly perform all job functions at Company’s office or work site
  • Fingering (e.g., picking, pinching, typing, or other working that uses the fingers)
  • Ability to read complex documents in the [English] language
  • Ability to write complex documents in the [English] language
  • Capacity to express thoughts orally (e.g., accurately, quick and loudly convey spoken instructions to workers)
  • Capacity to think, concentrate and focus over long periods of time
  • Repetitive motions of any part of the body