ButterflyMX is on a mission to empower people to open and manage doors & gates from a smartphone. They are seeking an iOS Engineer to join their dynamic engineering team, where the role involves designing and developing iOS mobile applications and collaborating with cross-functional teams to enhance product features.
Responsibilities:
- Design and develop iOS mobile applications and SDKs, ensuring high performance, quality, and responsiveness
- Create new, secure, and reliable features that enhance real-time data, video, and audio capabilities
- Implement modern iOS development design patterns to improve code maintainability and efficiency
- Propose and integrate innovative tools, frameworks, automations, and processes that enhance team productivity and code quality
- Collaborate with product management and UX teams to solve customer challenges by providing engineering solutions and trade-offs
- Participate in an agile development environment to deliver high-quality software solutions
- Refactor legacy codebases to improve maintainability and scalability, ensuring minimal disruption to ongoing development processes
Requirements:
- Proficient in programming with Swift and familiar with at least one other programming language
- Strong experience with the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Deep understanding of code versioning tools such as Git
- Experience with asynchronous programming using Swift Concurrency (async/await) and reactive programming with Combine framework
- Proficient in using SwiftUI for building responsive and maintainable UIs
- Skilled in Dependency Injection and build management using Swift Package Manager and/or CocoaPods
- Experience with CI/CD implementation using GitHub Actions, Xcode Cloud, or Fastlane
- Experience in optimizing apps for performance, including memory management and responsiveness
- Experience in writing testable code and implementing automated tests (XCTest, XCUITest) to ensure code quality
- Hands-on experience with deployments to the App Store, including app signing, provisioning profiles, versioning, and managing TestFlight releases
- Proficient in REST and GraphQL architectures for integrating web services into mobile applications
- Experience with WebSockets, Apple Push Notification Service (APNs), audio-video calling technologies like Twilio, and integrating third-party SDKs
- Hands-on experience with Bluetooth Low Energy (BLE) and NFC technologies using Core Bluetooth and Core NFC frameworks
- Experience with the Flutter framework for developing cross-platform applications or integrating it as a module
- Proven experience in leading or mentoring a team of iOS engineers
- Strong communication skills, with the ability to collaborate effectively with cross-functional teams
- Active participation in the technology community, including contributions to open-source projects