We are looking for a full-time iOS Software Engineer 2 to join our team in the greater Kansas City area. In this role, you’ll be responsible for architecting and developing complex software utilized by the suite of Garmin mobile applications.
Essential Functions:
Develop software using Swift and Objective-C
Utilize tools in the software development process such as Git, Gerrit, Bitbucket, Jira, Confluence, Xcode, and Jenkins
Create and implement designs for software components within a larger project
Provide technical leadership on software projects
Collaborate across teams and Garmin locations throughout the software development process, and add value through participation in peer code reviews
Provide reliable solutions to a variety of problems using sound problem solving techniques
Perform technical root cause analysis and outlines corrective action for given problems
Mentor to less experienced software engineers
Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes
Basic Qualifications
Bachelor’s Degree OR Master’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math, Physics or related field AND a minimum of 1-year relevant experience OR an equivalent combination of education and experience
Understand the full software development lifecycle and capability to contribute to all stages
Strong design and development skills, knowledge of common and modern architectural patterns and paradigms
Ability to keep up with the latest mobile app development trends and tools, provide technical advice and training on best practices to teammates and other teams
Desire to create and maintain clean code, documentation, and test cases
Desired Qualifications:
Experience creating native and responsive mobile apps and/or SDKs for either Android or iOS
Proficient with some of the following: Swift, Objective-C, Xcode, XCTest, Git, Bitbucket, GitHub, Jenkins, CocoaPods, Swift Package Manager
Experience with Bluetooth/BLE, communication protocols
Familiarity with threading and synchronization (i.e. Dispatch Queues)
Experience with automated testing, SDK development, CoreData/Databases, other common iOS platform, and 3rd party mobile frameworks (UIKit, CoreBluetooth, CoreLocation, Network, NotificationCenter, Promises, etc)
Experience in a wide variety of other technologies such as Python, C++, networking, software security, etc.
Garmin International is an equal opportunity employer. Qualified applicants will receive consideration for employment without regard to race, religion, color, national origin, citizenship, sex, sexual orientation, gender identity, veteran’s status, age or disability.