- What timezone will you be working in? Are all team members working in the same timezone? This is especially important; otherwise, you may end up working a 24-hour shift. Imagine if the person responsible for making code design decisions sits in another timezone or country; you will end up wasting a lot of time waiting for them to come online.
- How long does it take for the app to run on the device from click to running mode? You don’t want to wait for a long time between runs. Less than thirty seconds should be fine.
- When developing a feature, as a developer, how do you test it? Can we test each feature independently?
- Red flags: If the developer says they need to run the app every time to test the feature, then you can figure out that the app is not modularized, and there are a lot of dependencies between modules.
- Performance review, e.g., stack ranking (code review)? How is the bonus distributed, yearly or from the date of joining?
- How large is the codebase? How is the code structured, e.g., PODS, Swift package manager? What’s the supported Swift version?
- How much of the code is in Objective-C and Swift?
- Time spend maintaining old code versus writing new features?
- What’s the supported Xcode version and iOS version? Companies don’t upgrade their code base for a long time, so you might need to work on older versions of Swift.
- On an average how many years does it take for an engineer to get promoted to Staff/Principal ?
- In most companies, this is the highest level. From here, you can figure out how many years.