Title: DevOps Software Engineer (For ROS2 and C++ Applications)
Location: Melbourne, FL 100% Onsite
Length of Contract: 6 Month Contract-to-Hire
Hours: 40 hours per week
Process: Resume submittal, 2 Rounds (30-60 minutes; two 1-hour interviews) Virtual via MS Teams. Round 1 with the Hiring Manager and Round 2 will be with several team leads.
Full Background Check and Drug Screen: Required
Scope of work: Client makes aerospace/hardware, but company is not currently tooled for large scale development/release/support software as a product (more hardware). They do deliver embedded SW code to their hardware product but they re doing something different this time around. Client currently has 7 developers, a few more on related projects but this team is making a software product and they do not have the infrastructure for large, scaled deployment and releases here most of the prior DevOps folks they have worked with or interviewed came from an environment with an existing system in place, so need someone that has helped build this from the ground up. Ideal candidate will come from a DevOps background in a warehouse, or environment with large industrial/manufacturing equipment ideally semiconductor or robotics background at the device level, as opposed to Cloud or SaaS.
There is a support of QA development, a QA engineer who handles some of the DevOps responsibilities but need someone more with this profile to help scale up their environment and applying the right tools being used for their environment using ROS2/C++ applications. This will be more focused on Desktop applications and NOT a Cloud or server-side DevOps profile. Since they re more hardware/aerospace, they re looking for DevOps point person who has exposure/experience with ROS and C++ Applications to help him slowly scale up as they lack a refined process for software tooling/software products.
Duties/Responsibilities:
Day to Day will involve working with the current development and test teams to understand how to configure the device they are going to deploy the code on, execute the suite of operation tests, deploy the code, and develop a demo-ready mindset of bringing this forward to production. Will need to Sit down with the team and figure out how to define test cases, and which tools to use, etc. Customer s goal is to respond to a customer inquiry within hours as opposed to weeks. Candidate will build out the deployment pipeline for building the SW while addressing any UAV specific concerns on safety and security and ensure a smooth handshake between the participants. Ultimately, they will harden a solution for deployment to production and minimize downtime.
- DevOps Background who s worked for industrial, warehouse automation, automotive, Semiconductor, Hardware with Robotic or Embedded software, or aerospace industries/environments who may be using technologies like ROS2 and C++ Applications.
- ROS2 software knowledge (or hands-on experience Preferred): Need to manage traffic application, Using fast DDS messages that Ros2 uses in that layer Candidate needs to know what kind of SW tooling would be required covering ROS2? Does this candidate have these Linux/docker containers issues? How do we manage the release when there s multiple targets and multiple containers and need the right conversion control in place? Basically, this candidate needs to know how to integrate the right tools/environment surrounding ROS2 software and be able to ramp/adapt quickly up. ROS has their own distribution and update they, therefore, this candidate needs to have some understanding of Ros2 in terms of having a cadence, or continuous integration with that OS What tools would be compatible/use/What tools to look for? Some exposure ROS2 or general knowledge about ROS2 or at the very least: willingness to learn ROS2 if there s only basic knowledge of the OS.
- Exp with release management on C++ application (Note: Basic knowledge of build/release C++ application is different than when build/releasing in web, python, or java when talking about tools and parts of the build process. C++ is the primary language they re using in the environment. Need to understand release management for C++ apps which is slightly different form web or python apps).
- Release infrastructure release orchestration tools to get the code out and managed: release management, using Ansible/Terraform for Deployment, but open to hearing from the candidates for these tools or anything tools they might think is better. Being comfortable about having this technical conversation surrounding this tool.
Necessary Skills (MUSTs):
- DevOps Background who s worked for industrial, warehouse automation, automotive, Semiconductor, Hardware with Robotic or Embedded software, or aerospace industries/environments who may be using technologies like ROS2 and C++ Applications.
- ROS2 and C++, and release management on these applications
- Docker (Must)
- Gitlab (Must)
- Familiarity with VS Code (IDE they use)
- Knowledge of Jetson Class of embedded Devices for deploying their software to
- Know how to or have had prior experience Re-deploy infrastructure from scratch not just deploying the small portion of the system when an update is required (Not just someone who can system patch to keep things functioning only). They re looking for someone who can tear everything down and re-deploy from scratch and know how to recover from faults. Someone who can recognize that they need to reproduce the environment with a clean slate because if there s a problem, they can tear the whole thing down and re-spin it around. Someone who can recognize that as opposed to just system patching and doing the bare minimum to only keep the existing bad infra in place.
Desired Skills: (Nice to Have)
- Jira for bug tracking.
- Xray (Test Case management QA Tool) or similar