Software Engineer, iOS
Job description
About the role
You will spearhead the technical implementation for Ditto's App Builder, owning the design and delivery of critical features from initial concept through production deployment. In this role, you will partner directly with end-users to resolve complex issues involving SDKs, architecture, performance, and scaling to ensure their success. You will be the iOS expert responsible for defining and enforcing best practices for developing mobile applications using Ditto at scale across demanding environments. You will advocate fiercely for customer needs, collaborating closely with engineering and product teams to debug, reproduce problem reports, and escalate when necessary to find robust solutions. You will work hand-in-hand with developers and product managers to design and build intuitive interfaces, both UI and API, that meet their evolving needs. Finally, you will support application development teams by delivering requirements and pipelines that ensure security, authentication, integration, testing, and production distributions are reliable and efficient.
Key facts
What you'll do
- Architect and implement new capabilities within Ditto's App Builder to drive customer outcomes.
- Lead the resolution of intricate customer challenges related to SDKs, performance, scaling, and architecture.
- Establish and maintain iOS best practices that ensure Ditto remains a trusted standard for large-scale mobile development.
- Serve as the customer's voice within the engineering organization, translating their needs into actionable technical tasks.
- Collaborate with product and engineering partners to craft robust interfaces, including UI components and backend APIs.
- Diagnose and troubleshoot issues in distributed systems by analyzing code intent, logs, and stack traces with precision.
- Mentor internal teams on effective debugging strategies for complex, network-constrained scenarios.
- Support the delivery of security, authentication, and integration requirements for production pipelines.
- Validate application deployments to ensure stability and performance across diverse mobile environments.
- Drive the creation of design documents and technical specifications that align development with customer expectations.
- Contribute to the improvement of CI/CD workflows to accelerate release cycles without compromising quality.
- Act as a technical partner to end-users, ensuring their applications built with Ditto meet operational and strategic goals.
- Promote knowledge sharing across the team to elevate the collective understanding of mobile distributed systems.
- Help define test strategies and automation to validate functionality in real-world, low-connectivity conditions.
Requirements
- Hold a minimum of 3 years of professional experience in an active software development role.
- Demonstrate proficiency in developing applications using Swift for iOS platforms.
- Bring experience with networking protocols and communications such as REST, TCP, UDP, and QUIC.
- Show a strong track record of developing with databases on mobile devices, managing local and sync scenarios.
- Prove your ability to read and understand the intent of code, logs, and stack traces in distributed environments.
- Exhibit expertise with test automation frameworks and a solid grasp of common CI/CD practices.
- Communicate effectively in writing, as asynchronous communication is the primary mode of collaboration.
- Thrive in a distributed team environment where written architecture and design documents are central to execution.
- Align with Ditto's commitment to building a diverse and inclusive team that reflects a wide range of perspectives.
- Commit to the mission of enabling developers to build resilient, real-time applications regardless of network conditions.
- Work comfortably in an environment that values grit, curiosity, and adaptability.
- Engage with cutting-edge peer-to-peer synchronization technology that operates offline and at the edge.
- Support the delivery of solutions across aviation, retail, travel, hospitality, defense, and other mission-critical sectors.
- Embrace the challenge of solving the world's hardest connectivity problems alongside a globally distributed team.
Nice to have
- Build applications using multiple languages such as Kotlin, Java, Rust, and Javascript.
- Develop across multiple mobile frameworks including iOS, Android, Flutter, and React Native.
- Work with lowcode and nocode software platforms as well as a variety of APIs.
- Create libraries, frameworks, and SDKs tailored for distributed platforms.
- Design solutions that leverage mesh networks, Bluetooth Low Energy, Wi-Fi, and other mobile transports and radios.
- Conduct network administration, performance testing, and deep troubleshooting of connectivity issues.
Practical notes
This position is located in Atlanta, Georgia and follows a hybrid schedule.
Equal Opportunity Employer
Ditto is proud to be an equal-opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristics. Ditto is committed to diversity in its workforce and encourages applicants of all backgrounds to apply.