Position: Senior iOS Software Developer
Company: ButterflyMX
Category: iOS
Experience required: 3y
English level: upper

**Overview of Position**

We are a property technology (Proptech) startup that is looking to add a passionate and self driven team member to expand our growing and fast-paced Engineering team. We develop software and hardware to enable people to open and manage doors from their smartphones. Our solutions are currently being used by the largest and most trusted names in multifamily and commercial real estate. 

**Responsibilities and Duties:**
• Maintain and improve ButterflyMX mobile iOS application and SDK
• Work with UX designers, product managers, and other stakeholders to plan, execute and release new features and improvements periodically
• Responsible for helping the team write robust, well-defined stories and high-quality code that translates into great product
• Work collaboratively as part of an agile team to help deliver end-to-end products and features, seeing them through from conception to delivery
• Lead by example for other members of the team as a dedicated, passionate, and flexible technologist who is constantly looking for the ideal solution to a problem
• Help define, document, evolve, and evangelize high engineering standards and best practices across multiple areas
• Work with quality assurance team and customer success to resolve application issues

**Qualifications and Skills:**
• 3+ years of iOS mobile application development experience in Swift
• Strong knowledge of OOP and mobile design patterns (MVVM, VIPER)
• Experience in building mobile frameworks / SDKs and optimizing apps for performance
• Strong experience with implementing integration with REST APIs
• Experience writing testable code and automated tests
• Proficient understanding of code versioning tools such as Git
• Experience with deployments to the App Store and deep understanding of the iOS Human Interface Guidelines
• Knowledge of professional software engineering practices and best practices for full software development lifecycle, including coding standards, code reviews, source control management, continuous deployments, testing and operations
• Experience working as a member of a cross functional team practicing Scrum/Agile
• Excellent communication, collaboration, reporting, analytical and problem solving skills
• Ability to effectively articulate technical challenges and solutions

**As a plus:**
• Knowledge of video streaming technologies (such as WebRTC/SDP/SIP/RTP)
• Experience with messaging technologies like RabbitMQ, WebSockets
• Understanding and experience implementing integration with GraphQL APIs