Job Closed
This listing is no longer active.
Video intercoms, access control systems, and security cameras loved by 20,000 multifamily, gated, commercial properties.
Senior Software Engineer, iOS
Location
United States
Posted
108 days ago
Salary
0
Seniority
Senior
Job Description
Senior Software Engineer, iOS
ButterflyMX
• 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.
Job 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.
Benefits
- Comprehensive Medical, Dental and Vision plans (ButterflyMX covers 80% of the cost) starting day 1
- 401(k) plan with a match
- 10 paid holidays, 20 vacation days, 5 sick days, 3 floating holidays
- Basic Life and Accidental Death and Dismemberment Insurance (ButterflyMX covers 100% of the cost)
- Short and Long Term Disability (ButterflyMX covers 100% of the cost)
- Paid Family Leave
- Employee Assistance Program
- Quarterly self-care stipends
- Access to optional benefits including pre-tax flexible healthcare spending accounts (FSA and HSA), Dependent Care FSA, and Commuter Benefits, as well as optional Supplemental Life, AD&D, Hospital Indemnity, Legal, Accident, Critical Illness, Pet, and Personal Liability Insurance
- And more!
Related Guides
Related Job Pages
More Full-stack Engineer Jobs
• Architect and build distributed systems that manage large, complex data and file workflows. • Translate regulatory and business requirements into usable, scalable technical solutions. • Apply machine learning and LLM techniques to analyze content, automate tasks, and enhance product intelligence. • Partner with cross-functional teams to design solutions that align technical feasibility with business value. • Experiment with new development approaches, including agentic and adaptive system design.
• Lead the design and implementation of scalable, distributed backend services and APIs • Drive architecture decisions for major components and cross-team integrations • Mentor, guide, and support other engineers through design reviews, pairing, and informal coaching • Collaborate with front-end, data, and infrastructure teams to define end-to-end solutions • Ensure reliability, observability, security, and performance across production systems • Define and improve engineering practices, architecture patterns, CI/CD pipelines, and tooling • Own critical services through the full development lifecycle—including operation, monitoring, and on-call support • Evaluate and integrate new technologies and approaches to improve robustness and developer experience • Work directly with product and cross-functional partners to influence technical direction and roadmap planning
Senior Software Engineer
NooksVirtual salesfloor for SDR and BDR teams to dial together, get real-time coaching from managers and stay engaged.
• Participate in the decisions on “how” we deliver software. (Architecture, languages, decision delegation, contracting, DIY, model selection and integration). • Partner on the “what, when, who and why” of our software with Design and Product. • Lead a major feature or application. • Support junior engineering talent with mentorship and/or technical guidance. • Build secure multi-tenant services on public cloud platforms like AWS or GCP. • Build, architect, and consume APIs and backend services as part of the platform ecosystem, with an emphasis on automation, testing, and security. • Advocate for improvements to product quality, security, and performance and their impact on your team and others. • Interact with customers and partners, assisting them with integration of our services.
• Investigate and resolve production issues across Feefo’s Java-based services, ensuring timely and effective outcomes. • Diagnose application behaviour using logs, metrics, and debugging tools to identify root causes rather than symptoms. • Work closely with Software Engineers and Technical Leads to escalate, reproduce, and fix complex issues. • Contribute fixes, improvements, and defensive changes back into the codebase where appropriate. • Support incident response and post-incident reviews, helping improve system resilience and prevent recurrence. • Collaborate with Product, Data, and Customer teams to translate real-world issues into technical understanding. • Improve observability, documentation, and runbooks to make support and troubleshooting faster and more predictable. • Spot patterns in issues and raise proactive improvements to reduce future support demand. • Maintain a strong focus on platform reliability, stability, and customer trust.




