Senior Software Engineer – Applications

September 18, 2023

Job Description

Our Client’s Wireless Team is currently seeking a Senior Software Engineer – Applications to innovate, design, and develop software for embedded systems. This role offers a unique opportunity to join a talented team of engineers working on a diverse technology stack, ranging from low-level drivers up to Linux applications communicating with the cloud. In this position, you will be working closely with product managers, R&D, Hardware, and QA teams to deliver software solutions for the next generation of Our Client’s flagship product in a fast-paced agile environment. A successful candidate will be able to define requirements and specifications, lead technical discussions, and mentor junior team members.

What you will do in the position:

· Work independently and with fellow seniors on the development of new complex firmware and software for embedded systems.

· Participate in identifying and defining requirements and specifications for a given project.

· Assist in documenting and reviewing overall architecture and individual software components.

· Attend design team meetings to provide input into the overall architecture of projects.

· Support Sustaining Engineering in solving design errors and/or modifications of existing released products.

Required Qualifications:

· 5+ years of experience in Software Engineering

· Expertise in C/C++ languages

· Ability to read schematics

· Familiarity with common peripheral protocols (SPI, UART, I2C, etc.)

· Experience using tools such as logic analyzers and oscilloscopes

· Proficiency with version control systems (GIT, SVN, etc.)

· Working knowledge of Linux kernel configuration or driver development

· Knowledge of object-relational databases (SQL / PostgreSQL)

· Knowledge of Node / Node.js application development

Preferred Qualifications:

· Practice in Agile development

· Experience with Real-Time Operating System (RTOS)

· Experience with ARM Cortex-A Processors

· Networking (TCP, UDP, RTSP, Client/Server apps) experience

· Familiarity with Linux SDK build systems (Yocto / Buildroot)

· Familiarity in implementing Security features (encryption, key management, secure boot)

· Familiarity with Bluetooth Low Energy (BLE)

Familiarity with front-end development