Senior Software Engineer - Continuous Engineering

Our mission is to protect life.
We’re out to make the world a safer place by solving big problems and taking on the public safety challenges of our time. In the next 10 years, we’ll triple the amount of time officers can spend serving their communities. In the next 20, we’ll eliminate paperwork in policing so that officers can focus on what matters. And in the next 50 years, we’ll make the bullet obsolete.

It’s a big mission, but it’s one we’ll pursue relentlessly every single day. 

Culture
Does the thought of designing devices to help save lives and make a difference in the world excite you? Come work in an exciting environment in which you’ll use your passion, experience, and strong analytical skills to help bring new technologies to public safety and leave a positive impact on the world. We cultivate an environment that favors agility, initiative, and creative thinking. Consider this a blank canvas, and you as the artist will help us shape the vision here. Our mission is to protect life, making the world a safer place through smart devices and software services. We genuinely love what we do and are looking for others who share this passion.

Your Impact
You aren’t like everybody else. You aim a little higher. You reach a little further. Your goals in life include more than just landing a great paying job. You do more because it matters. And when it comes to looking for that next opportunity, you want to do work that's rewarding. We're changing the way law enforcement uses technology and are looking for others who share our mission Protect Life. Our mission is making the world a safer place through smart devices and software services.

The ideal candidate must be a creative problem solver who likes to break things and have the technical chops to put it back together better than before; be exhilarated when he/she discovers that complicated bug; and be detail-oriented enough that he/she impresses and catches their peers’ attention. He/She will also need to be a fast learner; proactive and self-directed; flexible team player; and knows and cares what our internal/external customers want from our products. Systems level responsibility for product software and firmware design including writing code, calibration methods, specification writing, code testing, and tool/system testing.

Our Scottsdale-based firmware team is made up of a plethora of talent. You'll gain exposure to cross-train in a variety of languages and products. Our team is versatile and determined, no matter the project or activity. Whatever your goals are, you'll have the freedom to work on projects you're passionate about, and the support of people who will challenge you in new ways.

We recognize the hard work and responsibility of all Axon employees, and try to give back by focusing on employee happiness and generous benefits!

Responsibilities
Work closely with technical support engineers on customer escalations to engineering. This often includes reproducing and fixing bugs reported by customers.
Product improvement and issue troubleshooting
Software development and improvements in field support capabilities such as better diagnostic tools.
Release firmware updates to existing product line. Includes bug fixes and enhancements to improve product reliability.
Work with distributed firmware teams and SaaS engineering teams to guide software development
Collaborate with the hardware team and vendors to optimize power consumption, image & audio quality
Communicate with quality & validation teams to verify the end-to-end customer experience is exceeding expectations using automated testing and telemetry analysis
Work with manufacturing engineers to build applications and tests
Recruit and manage a team of strong embedded / firmware engineers.
Ability to travel to Asia, up to 15% travel
Needs to be able to video chat with overseas teams regularly 

Technologies used in our Platform
Python
C++
Go
Thrift
FFMPEG
Yocto / Open-embedded
Robot Test Framework
CI/CD tools (Jenkins)



Basic Qualifications

BA/BS in Computer Science or BA/BS in Electrical Engineering or equivalent
7+ years of experience developing and/or testing IoT applications
Experience in embedded C/C++ with familiarity in Python or Go.
Experience in Real Time Operating Systems and Embedded Linux. Some exposure to Video SoCs or bare metal development on microcontrollers such as STM32 preferred
Familiar in the following areas of firmware development: BSP porting, video, audio, power management, peripherals such as UART/I2C/SPI, timers, ADC/DAC, encryption, storage, and wireless communication (WiFi, Bluetooth, NFC, Proprietary RF, LTE)
Understanding of: Kernel and driver development, Android porting, threads, inter-process communications, and profiling
Strong understanding of computer architecture & peripherals, embedded systems, event processing, real-time processing, power management
Emphasis on self-diagnostic code via robust fault detection, reporting and recovery, event and state logging
Documentation of design/interface specifications and architecture
Ability to read datasheets, schematics and understand electronic circuitry
Exposure to Yocto, Buildroot and other embedded distros is a plus
Deep knowledge of unit testing, system testing, and integrating quality and test concepts into product engineering.
Emphasis on self-diagnostic code via robust fault detection, reporting, and recovery
Documentation of design/interface specifications and architecture
Solid debugging skills.
Excellent problem solving skills are a must

Preferred Qualifications:
Past experience developing embedded applications
Working knowledge of Yocto/Open-embedded recipes is preferred
Experience with Qualcomm and/or Ambarella chipsets
Ability to lead and interact with team overseas

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.


Back to top