Senior Embedded Software Engineer will develop the next-generation edge device software that brings AI onto the IoT devices equipped with various cutting-edge sensors. The software which cooperate with cloud platform solves challenging problems in the world of IoT such as centrally managing massively distributed devices, deploying and upgrading applications remotely, securing data end-to-end, and optimizing the placement of workloads onto a set of heterogeneous devices. the edge device works in ultra-low power, so it utilizes not only stable environment but also constraint environment such as high/low temperature, battery powered, under limited network. the device integrates tightly with various sensors/accelerators to reduce power consumption to offer optimal solution for such constraint environment like Smart City, Smart Retail.
We are looking for a highly motivated individual who is willing to learn new technologies and innovate and has strong analytical, problem-solving, and communication skills, as well as the ability to take on multiple responsibilities at once. Must be able to work in a fast-paced environment with teams distributed around the globe.
Responsibilities
In close cooperation with the Team Lead, coordinate the embedded software team in terms of both system architectures designing and implementation.
Coordinate the firmware development in high quality and on schedule to help achieve company business goals.
Interact with the product owners to gather requirements, architect solutions, provide means to deploy and support our software.
Develop Edge Platform Software independent from various of RTOS.
Design and implement dynamic software loading system over the network.
Design and implement highly concurrent and efficient software components.
Lead technical projects and provide guidance to junior engineers.
Work with HR to help grow the engineering team.
Desired Skills and Experience
10+ years of software development experience.
2+ years of software team leading experience in international environment.
Strong system architecture designing experience in embedded software. e.g. RTOS selection, designing power/clock management system followed to RTOS manner.
Deep knowledge to control hardware inside/outside of MCU and design how to manage a service based on such hardware functionality.
Experience designing software that under memory constraint environment such as tiny MCU.
Experience designing and developing peripheral driver such as to control DMAC, I2C, SPI, some specific IP.
Strong development experience in C/C++, Linux and real-time operating system (RTOS)
Experiences with IoT
End-to-end security architecture
Remote management of devices
On-Chip debugger experience.
Socket programming experience.
Concurrent and asynchronous programming.
Experience with Version Control tools.
Excellent analytical skills.
Strong written and verbal communication skills.
The following skills and experience are a plus
Experience developing in Linux environment.
Experience developing in NuttX RTOS.
Sensor technologies and/or specific SW programming (DSP, ISP, FPGA, etc)
Dynamic software loading on RTOS.
Cloud technologies such as AWS and OpenStack.
Knowledge about L2-L7 network protocols including Ethernet, IP, TCP, HTTP.
Debug peripheral buses and GPIO using oscilloscope.
Knowledge about electronic circuit to read schematic sheet and utilize for debugging.
Education
BS or MS in Computer Science, or a related field, required.
Midokura’s vision is to provide a more flexible, customizable and adaptable network infrastructure for companies worldwide through network virtualization. It is Midokura’s mission to unleash the full power of an organization’s networks – while reducing physical network and management costs – by adding Midokura’s virtualization software layer onto enterprise, data center and government machines, in turn scaling to hundreds of thousands of virtual ports from a single physical network
- Travel the world by visiting our overseas offices.
- Flexible hours.
- Free beverages, and snacks.
- Work from home days.
- Reimbursements for commuting.
- Help with apartment searches.
Other software engineer jobs that might interest you...
We use our own cookies and cookies from third parties to measure your activity in this website and improve the service through analysis of your browsing activity. If you continue browsing, we consider that you accept their use. You can change this configuration and obtain more information here.