|
Search Jobvertise Jobs
|
Jobvertise
|
Embedded Software Engineer Location: US-MA-Cambridge - 02138 Email Job
| Report Job
Embedded Software Engineer Description: · Work closely with hardware and firmware engineers to design and develop software for embedded systems and devices · Develop embedded Linux applications written in well-structured, maintainable, and efficient object-oriented-focused Python code · Develop scalable and efficient microservice architecture to be used in high-volume distributed embedded systems · Develop efficient and robust low-level firmware C/C++ code for embedded devices based on ARM Cortex-M microcontroller family · Increase stability and robustness of deployed fleets of devices by designing scalable and efficient high-volume metric collection cloud infrastructure capable to aggregate telemetry from remote devices · Utilize cloud platform services (AWS, GCP or Azure) · Perform lab testing/analyzing/troubleshooting issues for embedded devices · Conduct rigorous testing and verification of developed software components to ensure high-quality and bug-free · Collaborate with the QA team in development of robust verification platform to achieve stability and compatibility, verify functionality and performance when integrating software components into the overall system · Develop tools (Bash scripts, Python scripts and GUI applications) for internal use by R&D and Support/Application engineers to automate and streamline routine tasks · Utilize version control systems (Git) effectively to manage codebase and collaborate with other team members through code reviews and team meetings · Create clear and comprehensive technical documentation for software designs, APIs, and integration guidelines to facilitate the work of other team members and ensure maintainability · Participate in code reviews, offering guidance and direction on best practices · Work closely with stakeholders and technical lead to see product through the entire development lifecycle Minimum Requirements:
Master’s Degree in Computer Systems Engineering, Electrical Engineering, Computer Science or a related field or foreign degree equivalent followed by 3 years of progressively responsible experience in software development and working with embedded systems. Experience, which may be gained concurrently, must include: · 3 years’ experience with software design and architecture; · 3 years’ experience working in Linux environment; · 3 years’ experience developing applications in Python; · 3 years’ experience with scripting and automation using Bash; · 3 years’ experience containerizing and deploying applications with Docker; · 3 years’ experience with network devices (routers, switches, load balancers) and an understanding of common network protocols; · 3 years’ experience using version control system (Git); · 3 years’ experience working with in-memory databases (Redis or Memcached); · 3 years’ experience working on cross-functional and/or cross-business projects; · 2 years’ experience working with common hardware communication protocols (UART, SPI, I2C); · 2 years’ experience working with embedded Linux systems, including kernel configuration, device drivers, and application development; · 2 years’ experience working with internal and customer facing API solutions; · 2 years’ experience working in an Agile development environment; · 2 years’ experience working with major cloud platform (AWS, GCP or Azure); and · 1 year of experience debugging tools and techniques (JTAG). Job Location: 185 Alewife Brook Parkway, Suite 401, Cambridge, MA 02138. 40 hours per week, 9:00am to 5:00pm. Salary range: $147,846 to $157,846. Send resume and letter of application detailing experience to Mike Kahn, Vice President of Devices, Elemental Machines, Inc.; 185 Alewife Brook Parkway, Suite 401, Cambridge, MA 02138; mike@elementalmachines.com.
|