Systems Software Engineer, Device Engineering
This is an Mid-level position for a Systems Engineering role on the Device Engineering team at
Headspin. We are building tools to automate, instrument, and ultimately enable remote control
of mobile devices. You have experience digging into device internals over USB, debugging
systems, 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 mobile 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 mobile device software
ecosystems 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.
● Ability to work in MacOS and Linux command-line environments
● Experience developing in Go, Python is preferred
Bonus skills
● Experience reverse engineering using software tools such as Hopper, IDA Pro, Ghidra,
Capstone
● Knowledge of Objective-C, Swift, Apple development ecosystem, and mobile app
technologies
Required Experience
● 2 - 6 years of software development experience
Required education
● Bachelor’s degree in Computer Science or related field
● Master’s degree in Computer Science or related field strongly preferred
Location
● India (remote)
Other required qualifications
● Must be able to handle open-ended research tasks without pre-determined solutions
● 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.