Senior Software Development Engineer
Arxan provides the world’s strongest application protection solutions for software running on mobile devices, desktops, servers, and embedded platforms. Our unique, patented guarding technology:
- Defends applications against attacks,
- Detects when an attack is being attempted, and
- Deter attacks with alerts and repairs.
Arxan is currently protecting applications running on more than a billion apps across a range of industries, including: financial services, high tech/independent software vendors (ISVs), manufacturing, healthcare, digital media, gaming and others. Arxan is looking for a Software Development Engineer to join our product development team, focused on enhancing the features and platform coverage of our mobile and embedded application protection product.
Arxan protects desktop, mobile, and embedded applications from software piracy, tampering and reverse engineering. Our products run as a Linux, Mac OSX and Windows application to protect software for a wide variety of target systems including Android, iOS, embedded Linux, ChromeOS, Tizen, tvOS, Windows IoT, and Windows Mobile.
Successful candidates will have opportunities to work with many different machine and software architectures. You will work with current and future advanced compilers and operating systems from Apple, Google and open source, at a deep and challenging level that will enhance your software skills and knowledge.
As part of the Arxan engineering team, you will execute your development activities using Scrum, a modern team-based rapid and agile methodology which keeps process overhead low and development productivity high.
Arxan is an energetic environment in which initiative and innovation coupled with teamwork, openness, and customer focus are valued. We welcome candidates who thrive on challenge in a fast-paced, high-tech, dynamic environment and who value success to join our team. Successful candidates will achieve the following technical goals while working at Arxan:
- Understand the behavior of a standard compiler, linker and loader
- Design, develop and test object oriented systems using C++ for execution on Linux, Mac OSX and Windows
- Document research, specifications and design results clearly, with an emphasis on explaining why decisions were made
- Understand and manipulate the low-level format of compiled and linked PE, ELF, and MACHO binaries
- Analyze and debug applications on a variety of different target operating systems and architectures with and without a reproducible test case
- Write unit and system test cases that verify software functionality
- Understand and write small pieces of code in ARM and x86 assembly
- Research and break down nebulous requests into smaller, well-defined tasks with accurately estimated effort
- Think like an adversary that is attempting to attack a binary; utilizing tools such as IDA Pro
While working at Arxan, you will utilize the following technologies:
- Linux, Mac OSX and Windows
- Android and Windows Mobile
- Android Studio, Apple Xcode, and Visual Studio development environments
- C, C++, Java, Objective-C and Swift compiled languages
- Perl and Python scripting languages
We’re looking for a driven and self-motivated person with:
- 5+ years of C/C++ work experience
- 5+ years of working with ARM assembly
- Familiarity with working on Linux, Mac OS X, and Windows platforms
- Familiarity with working with Android Studio and Visual Studio
- Familiarity with Perl and Python scripting languages
- Knowledge the behavior of a standard compiler, linker and loader
- Experience with one or more binary image formats especially ELF
- Experience with using disassembly tools such as IDA Pro