Software Engineer - Mobile, iOS
Required skills
- Swift
- SwiftUI
- Swift Concurrency
- App Store
- RESTful backend services
- Computer Science fundamentals
- iOS design patterns
Nice to have
- reactive programming
- Scrum/Agile
Role summary
Compass is seeking an iOS Engineer to build a delightful mobile platform for home buying/selling. You will collaborate with Product, Design, and Engineering teams to deliver features, ensuring adherence to best practices and operational excellence. Responsibilities include component development, code reviews, testing, and documentation. The role requires 2+ years of iOS development experience with Swift, familiarity with modern Swift practices (SwiftUI, Swift Concurrency), and experience with RESTful APIs. Knowledge of CS fundamentals and iOS design patterns is essential. Exposure to reactive programming is a plus. The position offers a base salary range of $126,000 - $141,000 annually, along with bonuses, stock options, and comprehensive benefits.
At Compass, our mission is to help everyone find their place in the world. Founded in 2012, we’re revolutionizing the real estate industry with our end-to-end platform that empowers residential real estate agents to deliver exceptional service to seller and buyer clients.
We are looking for an iOS engineer to help Compass build a mobile platform that makes the home buying or selling experience delightful. You will work with other engineers and your Product and Design counterparts to contribute to team design, scoping, and prioritization discussions for well-defined features. You will independently build components and deliver features with some guidance, ensuring our implementation meets software engineering best practices.
Outside of product-driven projects, you will work with other engineers to determine how to push our platform forward, devising engineering-led initiatives that ensure we can work quickly and efficiently while maintaining a high standard of operational excellence.
What you will do:
What we look for:
Compensation:
The base pay range for this position is $126,000 - $141,000; however, base pay offered may vary depending on job-related knowledge, skills, and experience. Bonuses and restricted stock units may be provided as part of the compensation package, in addition to a full range of benefits. Base pay is based on market location. Minimum wage for the position will always be met.
Perks that You Need to Know About:
Participation in our incentive programs (which may include eligible cash, equity, or commissions). Plus paid vacation, holidays, sick time, parental leave, and recharge leave; medical, tele-health, dental and vision benefits; 401(k) plan; flexible spending accounts (FSAs); commuter program; life and disability insurance; Maven (a support system for new parents); Carrot (fertility benefits); UrbanSitter (caregiver referral network); Employee Assistance Program; and pet insurance.
Do your best work, be your authentic self. At Compass, we believe that everyone deserves to find their place in the world — a place where they feel like they belong, where they can be their authentic selves, where they can thrive. Our collaborative, energetic culture is grounded in our Compass Entrepreneurship Principles and our commitment to diversity, equity, inclusion, growth and mobility. As an equal opportunity employer, we offer competitive compensation packages, robust benefits and professional growth opportunities aimed at helping to improve our employees' lives and careers.Notice for California Applicants
Los Angeles County Fair Chance Notice
Sample Compass interview questions
- 1
Build a distributed logging service for large-scale systems.
system designmedium - 2
Count Anagrammatic Substrings Count the number of anagrammatic substrings from one string present in another. Input: s = "abab", p = "ab" Output: [0, 1, 2] Explanation: The substrings "ab", "ba", and "ab" starting at indices 0, 1, and 2 respectively are all anagrams of the string "ab".
codingmedium - 3
Merge K Sorted Linked Lists Merge K sorted linked lists. Input: lists = [[2,2,3],[1,5]] Output: [1,2,2,3,5] Explanation: Extracts the smallest current node iteratively using a priority queue to build a single merged and sorted linked list.
codingmedium - 4
Longest Consecutive Sequence Determine the length of the longest consecutive elements sequence. Input: nums = [0,3,7,2,5,8,4,6,0,1] Output: 9 Explanation: The longest consecutive sequence is 0 through 8 (length 9), utilizing a hash set to check connectivity in linear time.
codingmedium - 5
Sort a String by Frequency Sort a string by the frequency of its characters. Input: s = "cccaaa" Output: "cccaaa" or "aaaccc" Explanation: Both 'c' and 'a' appear three times, so sorting them by descending frequency keeps them grouped equally.
codingmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Marketing AdvisorCompass · Huntington Beach, CA · Onsite
- Sales Development SpecialistCompass · San Francisco, CA · Onsite
- Sr. Embedded Software EngineersRivian and Volkswagen Group Technologies · Palo Alto, CA · Onsite
- Software EngineerPublicis Groupe Holdings · Westminster, CO · Hybrid
Agentic AI Director of Software EngineeringJPMorganChase · Columbus, OH · Onsite
Associate Embedded Software Engineer, Early CareerViasat · Carlsbad, CA · Hybrid
