This assignment expired 7 months ago
Mid to Senior Software Development Engineer (for mobile & embedded application protection products)
LinearScope is an international software services and solutions delivery company working for clients in the application security domain. Code obfuscation, compiler changes, advanced engineering is in the heart of product delivery activities.
We are currently looking for mid to advanced level software development engineers to join a product development team, focused on enhancing the features and platform coverage of mobile and embedded application protection products. Our clients' products protect 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 the 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.
Come and join a strong engineering team located in the US, UK, France and Lithuania. Our newest office is located in Vilnius, Lithuania.
If you are interested in this opportunity, please apply online at HitContract and submit your CV for review. Interviews will take place in March and April 2018.
- 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
Job Skills, Technologies and Experience:
- Perl and Python scripting languages
- Jira, Git, Jenkins
- Scrum / Agile methodology
- Linux, Mac OSX and Windows
- Debugging/Reverse engineering
- Android, iOS, Windows Mobile -
- Android Studio, Apple Xcode, and Visual Studio development environments
- C, C++, Java, Objective-C and Swift compiled languages
- Be driven and self-motivated
- Communicate clearly and respectfully with local and remote team members
- Collaborate with the team to meet and exceed the team goals
- Display attention to detail
- Find novel solutions to identified needs
- Deliver quality software within the committed schedule
- Focus on customer needs
- Learn rapidly advancing technologies
- Embrace changing needs and priorities
- Highly motivated, self starter, passionate about engineering/development