Mobile Device Software Engineer
Location: Hiawatha, IA
Mobile Device Software Engineer
The Mobile Device Software Engineer is assigned a reverse engineering or development project or projects based on current project queue. The primary job function is the development of software / hardware solutions for the customization, or alteration of cellular devices for use on CDMA or GSM networks. We reverse engineer the device and modify its base software to add or remove features, branding and other customizations. This often involves research into the inner workings of the phone software and hardware to develop a solution that can be deployed by our production and operations staff. We encourage the “hacker” mentality in our company, not in the malicious sense, but in the inquisitive and creative sense. In most cases there is no documentation available for the devices we work on, so we must rely on our experience and creativity to find a solution. Work is project oriented with set goals and requirements.
Required Skills:
- Proficiency in at least one unmanaged version of C (C, C++) and C#. Also as needed the ability to program in Python or other similarly based scripting languages.
- Basic understanding of embedded systems, memory types (NAND vs. NOR) and the concept of how software is loaded to such systems (Flashing, JTAG, etc.).Proficiency in modifying files or images with a Hex Editor.
- Proficiency in at least one unmanaged version of C (C, C++) and C#. Also as needed the ability to program in Python or other similarly based scripting languages.
- Basic understanding of embedded systems, memory types (NAND vs. NOR) and the concept of how software is loaded to such systems (Flashing, JTAG, etc.).Proficiency in modifying files or images with a Hex Editor.
- Understanding of image or file headers and how to parse them.
- Basic Understanding of CDMA & GSM networks, which parameters apply to each and how to customize settings for a specific carrier.
- Understanding of assembly language (ARM a plus) and reverse engineering concepts such as:
- Use of IDA on binary files
- Re-basing Unknown binary formats
- Understanding of serial and USB communications.
- Strong reverse engineering skills and a desire to further enhance those skills.
Additional or Requested Skills:
Android or Linux Experience. Specifically in the creation of custom “ROMs” and the customization of Android or Embedded Linux.
Job Number: BIS-CB
Twitter
Stay up to date by following @SkywalkGroup on twitter
Facebook
Become a fan of Skywalk Group and join the community
LinkedIn
View our Company Profile on LinkedIn
Blog RSS Feed
Subscribe to our blog using our RSS Feed
(What is RSS?)