Engineering · Full-time · Piedmont, Italy
Senior System Software Engineer, IOS
This is a senior position for a Systems Engineering role on the iOS Engineering team at Headspin. We are building tools to automate, instrument, and ultimately enable remote control of Apple mobile devices. You have experience reverse engineering closed-source software, digging into device internals over USB, and building production-grade back-end services.
What you will do
Your role on the team will be to support our efforts to deliver a first class iOS, iPad OS, and TV OS global device cloud. You will build products and contribute to features that enable our customers to test, inspect, and measure the reliability and performance of their mobile apps in a virtualized interactive environment with real devices. You need to be just as comfortable writing mobile applications to leverage supported device frameworks as you are diving into disassembled code to figure out how a proprietary device service operates. This is not an app development role and requires a deep understanding of operating systems internals to succeed.
You will be part of a team-wide collaborative effort to research the Apple software ecosystem and develop novel products that accomplish that which cannot be done with off-the-shelf tooling. You will need to be up to the challenge to develop software that extends the horizon of what is possible. We are enabling mobile software development teams to achieve their best work and therefore you will also need to be able to diagnose customer issues when they arise and use your findings to strengthen our product.
Necessarily skills
Deep familiarity with operating systems and networks
Comfortable with a debugger, disassembler, packet sniffer, hex editor, etc.
Experience reverse engineering using software tools such as Hopper, IDA Pro, Ghidra, Capstone
Ability to work in MacOS and Linux command-line environments
Experience developing in Go, Python is preferred
Basic knowledge of Objective-C, Swift, Apple development ecosystem, and mobile app technologies
Required Experience
Required education
Location
India (remote)
Required qualifications
Must be able to handle open-ended research tasks without pre-determined solutions
Able to collaborate on developing project specifications
Able to read and implement technical specifications
Focus on self-motivated problem solving
Able to communicate technical details to non-technical support staff in a solutions-oriented manner