Intellivision Entertainment Company Logo

Intellivision Entertainment

IRVINE, California - United States
View all jobs at this company »

Android/Linux Firmware Engineer

Description

You will take on a senior software development position, working with our hardware and firmware teams on a new video game console to develop system-level Android software to make the system run. Your job will be primarily at the level of the operating system and tools. You may also be required to write drivers or HAL components for various custom devices that will be in the system. Experience developing various low-level components for embedded systems is important.

Other senior engineers will also be brought on board, depending on the anticipated level of effort required to complete the product in a timely manner.

This is not an app-level development position. It’s full-stack development. There will be some app work, but it’s not the focus.

The system will run on a modern SoC (fast, multi-core ARM CPU) running a highly customized version of Android. This device is definitely not a phone and will not look anything like a phone, so a fair amount of customization is to be expected. You must have experience getting Android systems up and running on target hardware. It’s non-trivial if you have never done this.

A game console will of course require numerous drivers. Many will be off the shelf, but you and your team will have to develop or modify some of them and integrate them into the overall system in collaboration with our firmware and hardware personnel. C/C++, Java and assembly language should be your weapons of choice.

You and the other system software developers will share responsibility for writing what amounts to a new “Home” screen for the console, plus all of the software plumbing for downloading content from our servers, launching apps, and providing numerous menus and other user experiences to players. You will also be involved in writing the code that communicates with our wireless hand controllers.

We are a new startup company developing a Game Console. This is a high-performance hardware platform that is size- and cost-constrained, so getting every MIP of performance out of the hardware is imperative. You should be highly concerned about speed, optimization, memory allocation, cache architectures, and so forth. If you don’t know why O(n^2) is bad, then swipe right!

Desired skills include:

5-10+ years experience building and shipping embedded systems using Linux or Android
Embedded Android: 3 years (required)
C/C++/Java
Ability to interpret hardware schematics and datasheets
Comfortable using the Linux command line
Experience with Android/Linux device drivers and bootloaders
In-depth knowledge of AOSP internals and Android NDK APIs
Understanding of Android HAL
Experience implementing Android Native Daemon services
Experience implementing Bluetooth communication protocols
Game development experience is a plus
Experience with OpenGL and Vulkan is a plus
Experience with wireless communication technologies is a plus
Comfort with “user experience” design is a plus