Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 3.67 KB

File metadata and controls

73 lines (51 loc) · 3.67 KB

Choose Your Task

You may complete either the GUI (Frontend team) task or the ROS 2 (Backend team) task. Both are designed to assess practical software-development skills, but they focus on different kinds of work. Choose the one that best matches what you want to learn and work on.

GUI Task: 3D View Controls

Completing this task will put you on the Frontend team.

You will build a small interface for a provided 3D viewer. The viewer itself is already implemented. Your task is to create simple controls that change the brightness and zoom settings. You will also add preset profiles and save the most recent settings so they persist between browser sessions.

Technology stack

React
React
JavaScript
JavaScript
HTML
HTML
CSS
CSS
Node.js
Node.js
npm
npm

This task may be a good fit if you enjoy

  • Writing JavaScript, HTML, and CSS
  • Seeing immediate visual changes in a browser
  • Building user interfaces and making them easy to use
  • Working with React components and browser state

You will not need Three.js, 3D-programming, or URDF experience. The provided viewer exposes a small, simple API for the controls to call.

ROS 2 Task: Position Controller

Completing this task will put you on the Backend team.

You will create a ROS 2 node that calculates a 2D position from incoming movement values. Your node receives velocity movement commands, updates its position and publishes the result.

Technology stack

Ubuntu
Ubuntu
ROS 2
ROS 2
Python
Python
C++
C++

This task may be a good fit if you enjoy

  • Writing Python or C++
  • Working in a terminal
  • Robotics, messaging systems, and real-time-style logic
  • Debugging program behaviour from command-line output

The provided simulator and checker let you verify your node without needing physical hardware.

Quick comparison

GUI task ROS 2 task
Main goal Add controls to a provided 3D viewer Calculate and publish a robot position
Main environment Browser Ubuntu terminal and ROS 2
Main languages JavaScript, HTML, CSS Python or C++
Best fit Front-end and UI interests Robotics, systems, or back-end interests
Key concepts Components, events, state, persistence Nodes, topics, messages, subscriptions, publishing

There is no preferred task. Pick the one you are most interested in explaining and extending during the interview.

Next step

Once you have chosen a task, return to the main onboarding README and follow the process there.