Description:
A ROS2 software developer is responsible for developing and maintaining software applications and components within the ROS2 (Robot Operating System 2) framework. The person work on creating software that enables the communication, coordination, and control of robotic systems. The job involves writing code, implementing algorithms, integrating sensors and actuators, and developing software modules that interface with various components of the robot. They collaborate with a multidisciplinary team, including hardware engineers, and system integrators, to design and implement software solutions that meet the requirements of specific robotic applications. The ROS2 software developer may also contribute to the open-source ROS2 community, participate in code reviews, and assist in troubleshooting and resolving software-related issues.
REQUIRED QUALIFICATIONS
To succeed as a SW Developer, RoS2 you should possess the following skills:
- Proficiency in C++/Python: Strong programming skills in C++ and Python are essential for developing software applications and components in ROS2.
- ROS2 Architecture: In-depth understanding of the ROS2 framework, including its concepts, nodes, topics, services, and actions, is crucial for developing and integrating software within the ROS2 ecosystem.
- Robotics Concepts: Familiarity with key robotics concepts, such as perception, localization, mapping, path planning, and control, enables you to develop software that interacts with and controls robotic systems effectively.
- Package Management: Experience with ROS2 package management tools, such as ROS2 Workspace, colcon, and rosdep, is necessary for organizing, building, and managing dependencies of software packages in ROS2.
- Message Passing and Middleware: Knowledge of ROS2 communication mechanisms, such as publishers, subscribers, and message passing, as well as familiarity with the underlying middleware (e.g., DDS), is important for developing software that efficiently communicates and shares data between ROS2 nodes.
- ROS2 APIs and Tools: Proficiency in using ROS2 APIs, such as the rclcpp and rclpy libraries, as well as familiarity with ROS2 development tools like rviz, rqt, and rosbag, enables you to develop, test, and debug ROS2-based software effectively.
- Robot Simulation: Experience with robot simulation frameworks like Gazebo or Webots is valuable for testing and validating software components in simulated environments before deploying them on physical robots.
- Robot Perception and Control: Understanding sensor integration, perception algorithms, and control systems is important for developing software that interacts with sensors, processes sensor data, and controls robotic systems.
- Software Testing and Debugging: Proficiency in software testing techniques, including unit testing, integration testing, and debugging tools, is crucial for ensuring the reliability and robustness of ROS2-based software.
- Software Architecture and Design Patterns: Familiarity with software architecture principles and design patterns, such as the publisher-subscriber pattern, client-server pattern, and state machines, facilitates the development of modular, scalable, and maintainable ROS2 software.
- Version Control and Collaboration: Proficiency with version control systems like Git and the ability to collaborate effectively with a team of developers are important for managing software development and ensuring code quality in a collaborative ROS2 environment.
- Continuous Integration/Deployment (CI/CD): Knowledge of CI/CD practices and tools, such as Jenkins or Travis CI, allows you to automate software builds, testing, and deployment processes in ROS2 development workflows.
WHY JOIN UNIKIE?
At Unikie, You Will Get To
- Build new solutions for our customers and work with cutting edge technologies
- Collaborate along with colleagues who are the top in their field and together with our customers to strive for understanding what they need
- Develop and challenge yourself and learn more from experienced software talents
- Work with modern technologies and be involved to solve complex difficult challenges our customers might be facing
- Have an excellent compensation for your work.
- Work in a global environment that develops modern, secure solutions for pioneers in their field
- Work in a flexible low-hierarchy organization that looks after its own
- In addition to our customer deliveries, we focus on our own R&D, where you can bring your own expertise to if you want