✨ Find and Track Job opening faster with JobMate Extension!

Image 2Add to Chrome - It's Free
August 28, 2024
Gecko Robotics Logo

Embedded Software Engineer - New Graduate

Gecko Robotics,

Pittsburgh, PA

This is an old job. It may expired or is no longer available.

The employer may not accept applications or may not be hiring.

Role at a Glance 

Gecko is seeking recent graduate Embedded Software/Firmware Engineers who are excited to build mission critical solutions deployed to real-world environments. In this role you will help develop components and systems in the embedded robotics platform and work closely with electrical engineers to integrate platform components into multiple robots that can inspect a variety of physical assets. You will design, implement, test, and deploy software and firmware for real-time distributed systems. You will also collaborate with engineers from other disciplines (electrical / mechanical / software) to bring-up and troubleshoot complex systems.

Gecko’s engineers work in a hands-on, fast-paced environment. We’re seeking highly self-motivated individuals who thrive in a small company environment and are passionate about developing great products, solving challenging problems, and seeing the impact of their work.

What You Will Do 

  • Work with hardware design engineers to implement and test microcontroller firmware for a variety of applications including such as system control and monitoring, peripheral I/O, device drivers, power management, and motion control.

  • Take ownership of components and systems and drive them through the full development cycle (design / implementation / integration / maintenance).

  • Assist in the development of embedded communication protocols to enable real-time data flow throughout the system.

  • Assist in the development of embedded software and firmware distribution mechanisms to enable rapid scaling of the robot fleet.

  • Enable real-time system telemetry from trace data capture through analysis.

  • Support build and test infrastructure to validate designs.

  • Improve the team’s automated test and simulation capabilities.

  • Develop embedded Linux kernel drivers for integration with custom-designed hardware.

  • Develop embedded Linux software services for robotics applications.

  • Maintain and develop the Linux distribution and embedded software runtime environment.

  • Implement a multi-tier compute architecture between microcontrollers and embedded computers.

  • Contribute ideas  to the software architecture so that our stack grows in a way that is performant, scalable, and maintainable.

  • Collaborate with team members to brainstorm ideas and receive mentorship from senior engineers.

  • Work cross-functionally with hardware, integration, software, and mechanical engineers hands-on in the lab to test and troubleshoot robots.

About You

Required Skills

  • BS/BA in Computer Engineering, Electrical Engineering, Computer Science, or related technical field.

  • 1+ years of experience in deployment, design, analysis, and debugging of firmware for distributed electronic systems and electromechanical systems.

  • 1+ years developing and deploying Linux-based embedded software systems.

  • Proficient in embedded C.

  • Fluent in software fundamentals including software design and maintainability.

  • Experience with embedded build toolchains and debuggers.

  • Ability to read and interpret PCBA schematics to develop and troubleshoot firmware.

  • Ability to perform ad-hoc data analysis using tools such as Jupyter and Python.

  • Ability to document designs using UML statecharts, block diagrams, sequence diagrams, etc.

  • Ability to apply design methodologies to enable robust and reliable systems.

  • Attention to detail shown through continuous improvements and following best practices within the team, and throughout the organization.

  • Ability to work well and integrate with electrical engineers.

Preferred Skills

  • MS/MEng in Computer Engineering, Electrical Engineering, Computer Science, or related technical field.

  • 2+ years of Embedded Software experience.

  • 1+ years developing scripts for build support, automation, and software testing in a common language such as Python.

  • 1+ years deploying inter-process communication (IPC) middleware for embedded software services.

  • 1+ years designing and instrumenting concurrent embedded systems using stateful components.

  • Track record of working closely with electrical engineers to troubleshoot system issues by analyzing schematics and testing boards using standard lab equipment.

  • Experience using software infrastructure tools such as Docker, Git, Make, CMake, and Ninja.

  • Prior experience deploying Yocto-based systems.

  • Prior experience deploying FreeRTOS or Zephyr to implement a concurrent real-time system.

  • Familiarity with C++ or Rust.

  • Familiarity with STM32 microcontrollers.

  • Familiarity with ROS2.

  • Familiarity with the NVIDIA Jetson and Tegra platforms and SDKs.

  • Familiarity with Jira and Confluence or other project planning and documentation tools.

Similar Jobs