Karelics is a robotics software company located in Joensuu. We develop software to enable intelligent autonomous robots in the construction industry. Our ambition is to allow robots to work intelligently and safely with people. …or without people.
We are currently looking for an experienced Senior Robotics Engineer to join the development team of our Karelics Brain product in our office in Joensuu, Finland. The profile of the ideal candidate for this position should include at least 4+ years of experience developing custom ROS/ROS 2 software for production-grade robots in various settings (Industrial settings are considered a plus), a strong software engineering background, experience working with multiple robotics platforms and a proactive attitude towards self-improvement, learning, and solving problems.
What will be some of your day-to-day responsibilities:
- You will work in a team of motivated professionals
- You will develop ROS 2 packages (in Python and C++) and features for already existing proprietary packages for the Karelics Brain product.
- You will align periodically with the Cloud product development team and keep a strong connection with them. You will develop and maintain communication end-points between the Karelics Brain and Cloud according to their and the client’s needs.
- You will periodically be assigned to handle the release of new versions of the Brain product.
- You will develop software to manage robots on construction sites
- You will research, create, and add new tools to improve your and the other developers’ quality of life
- You will occasionally contribute to open-source projects and integrate these projects into the Karelics ecosystem
- You will participate in the company development roadmap, working with different robotic companies, working with construction companies, and solving their problems with robots.
- You will write technical documentation and articles about your work with us, which will be shared on our blog with the rest of the robotics development world.
- You will serve as a point of support and stability in the team. With your skills and experience, you will inspire and motivate your team members and push them forward in their careers.
Apply for this role if most of the things listed below fit your profile:
- You hold a Bachelor’s degree in a technical field such as computer science, computer engineering, robotics, artificial intelligence, etc
- You have a passion for building robots and robotic systems.
- You have experience writing and deploying custom software to various types of robots
- You have 4+ years of experience with ROS/ROS 2
- You are proficient in C++ and Python
- You write clean, readable, maintainable, and tested code.
- You have strong software engineering skills. You know the most popular design patterns and tend to integrate them into the software solutions you are developing. You follow the SOLID principles of development.
- Experienced in covering the code you write with unit tests—experience with the Python unittest library, googletest, and other testing frameworks.
- You are knowledgeable with core areas of robotics theory such as inverse kinematics, path planning algorithms, SLAM theory and methods, control theory, etc.
- You have experience with build automation and CI/CD tools and pipelines.
- Experience with git, and Linux and frequent use of the command line in your daily work.
- Experience with containerization and working in containerized environments (Docker).
- You have a proactive attitude towards debugging and solving problems.
- You have the ability to test robots in various types of environments.
- You have strong communication skills in English (verbal and written).
- You are a team player, always willing to help those around you, share your knowledge and experiences, teach others, and generally contribute to the well-being of the team and the work environment.
It would be fantastic if you:
- Hold a Master’s degree in a technical field such as Computer Science, AI, Robotics, or something related.
- Have experience working with various simulation and robot debugging tools such as Gazebo, Rviz, Groot, rqt, and Foxglove Studio.
- Have worked previously with various types of sensors generally used in robotics systems, such as depth cameras, 2D/3D Lidars, Ultrasonics, Infrared time-of-flight sensors, UWB trackers, etc.
- Have experience working with the Nvidia Jetson family of computers and generally with Nvidia libraries.
- Have experience debugging robotic systems from the software perspective: checking logs, using rosbags, etc.
- Have experience in debugging hardware and electrical systems.
- Have experience with microcontroller programming.
- Have worked before with robot task or fleet management systems.
- Have extensive knowledge or industry or academic experience in any of the following areas: SLAM, Indoor Navigation, Outdoor Navigation, and Path planning algorithms.
- Are knowledgeable about (or have experience with) AI, Computer Vision, AI vision models used in robotics, deployment of custom AI models at the edge on robotic systems, and training and testing AI models.
- Have some form of Finnish language proficiency
We are offering:
An attractive salary.
Flexible working hours, with the possibility to work both from home and from the office.
Relaxed vacation throughout the year.
Sports and culture benefits.
Support in your professional growth.
The possibility to participate in conferences, trade fairs, technical talks, and other events.
Extensive occupational health insurance plan
Working in a team of experienced professionals from diverse backgrounds, from which you can learn and with whom you can exchange plenty of ideas and experiences
Company events (hangouts, board-game evenings, sports activities such as skiing, tennis, football, etc.)
Possibility of traveling for work
Please send us your CV and a cover letter at email@example.com.
Please also attach some practical examples of code or projects you have worked on.