Software Developer, Level II - SeaPower in Rio de Janeiro, Rio de Janeiro at Kraken Robotic Systems Inc.
Explore Related Opportunities
Job Description
NEW CAREER OPPORTUNITY
Build your career with Kraken Robotics. Make a difference to others. If innovation drives you, and you want a career that makes a difference to the world, helping humanity overcome the challenges in our oceans – safely, efficiently, and sustainably – then come join us at Kraken Robotics.
Kraken Robotics is currently seeking a Software Developer, Level II - SeaPower. This position can be fully remote within Brazil or hybrid/in-office in Rio de Janeiro or Salvador.
The Software Developer Level II will be responsible for designing, developing, and maintaining backend software components within Kraken’s SeaPower ecosystem. This role involves working on features and tools that support Kraken’s subsea battery systems—such as battery chargers, diagnostic applications, and simulation models for batteries and power communication systems.
The position requires ownership of assigned development tasks, collaboration with cross-functional teams, and active participation in all stages of the software development lifecycle. Operating within a fast-paced, deadline-driven environment, the Intermediate Developer will contribute to delivering reliable, high-quality software while expanding technical skills and influencing product direction.
Roles and Responsibilities
- Feature Development: Independently design, implement, test, and maintain backend components within the SeaPower application ecosystem, ensuring code quality and alignment with project requirements.
- Software Development Lifecycle: Take active ownership of assigned features through all development stages, including requirements analysis, design, implementation, testing, and documentation.
- Code Review & Mentorship: Participate in code reviews to maintain high-quality standards and begin providing guidance and feedback to junior developers.
- Cross-Functional Collaboration: Work closely with product managers, hardware teams, and other engineers to coordinate development efforts and deliver features on schedule.
- Test Automation & DevOps: Contribute to enhancing test coverage and improving CI/CD pipelines to support reliable and efficient software delivery.
- Requirements Analysis: Collaborate in refining functional and technical requirements, helping to translate them into clear, actionable development tasks.
- Documentation & Process Adherence: Maintain clear and up-to-date technical documentation and adhere to established software development processes and quality standards.
Qualifications and Experience
Educational Background
- Bachelor's degree in Computer Science, Computer Engineering, or a related field.
- Nice to have: Master's degree in Computer Science, Computer Engineering, or related technical fields
Professional Experience
- 3-6 years’ experience with high-level device software development, tools, and practices.
- Professional Skills/ Technical Competencies
- Strong proficiency in Linux-based system development.
- Strong knowledge of modern C++ (C++14/17/20), STL, and object-oriented design
- Experience writing automated tests: unit, integration and end-to-end.
- Familiarity with build systems (CMake, Make) and debugging tools (gdb, Valgrind)
- Experience using development tools and libraries such as Git, GTest,
- Familiarity with containerization using Docker
Nice to have:
- Knowledge of basic electrical engineering concepts.
- Exposure to microservice development using gRPC/protobuf
- Experience with Python
- Familiarity with Agile Scrum methodologies.
- Experience with software-hardware interaction and system-level design.
- Exposure to CI/CD technologies, especially , GitLab CI and/or Buildbot
- Experience with Autoproj or other build systems for robotics
- Experience with robotics frameworks (e.g., ROS and/or ROS2)
- Experience with simulation environments (e.g., Gazebo)
Personal Skills
- Self-motivated and capable of working independently.
- Ability to adapt to changing work environments and manage competing demands.
- Strong written and verbal communication skills.
- Ability to work effectively in a globally distributed team environment.
Willingness to Travel:
- At least once a quarter to one of Krakens offices if fully remote.