Senior C++ Software Eng

1 week ago


Derby, United States RANPAK Full time
Job DescriptionJob Description

Sustainability, plastic pollution and climate change have never been more at the forefront of our world as they are today.

At Ranpak, sustainability has been in our DNA since our founding in 1972. Ranpak’s goal then was to create the first environmentally responsible system to protect products during shipment and today, our mission remains the same: To deliver sustainable packaging solutions that help improve supply chain performance and costs, reduce environmental impact, and support a variety of growing business needs globally. The development and improvement of materials, technologies (such as automation) and total solution systems have earned Ranpak a reputation as an innovative leader in eCommerce and industrial supply chain solutions.

Ranpak’s drive to innovate gave birth to R Squared Robotics, a startup division aimed at bringing robots to warehouse automation. At R Squared, we focus on developing robotic systems that can be used to solve challenges currently being handled by human labor in the warehouse environment. The robotic systems being developed at R Squared along with Ranpak’s customer base create a strategic position for both groups to dramatically revolutionize the warehouse.

R Squared Robotics is located in Shelton, Connecticut. Ranpak’s corporate headquarters are in Concord Township, Ohio with European and Asia Pacific headquarters in Heerlen, the Netherlands and Singapore City, Singapore, respectively. Ranpak operates five manufacturing facilities located in Nevada, North Carolina, Missouri, The Netherlands and Czech Republic.

Ranpak’s customers span across a variety of industries including automotive parts, electronics, eCommerce, machinery and homegoods. Our customers include Amazon, IKEA, Sephora, Misfit Market and BMW.

Ranpak Holdings Corp. is a New York Stock Exchange listed company (NYSE: PACK).

Summary:

R Squared Robotics is focused on solving problems in logistics by leveraging 2D and 3D computer vision. R Squared is seeking to hire a senior C++ software engineer with preferred experience in machine perception. This role will be responsible for leading and providing guidance to the software development team, designing and implementing flexible software architectures as well as working on internal tools and libraries. The candidate’s software development skill is critical to address the complexity of the problems we are solving, while making sure our product is scalable with a short time to market for new features.

Essential Duties & Responsibilities:

  • Lead the software (C++) development effort, design software architecture based on requirements.
  • Developing software ready to be deployed in our robotic systems
  • Developing and maintaining internal libraries and tools
  • Optimizing software and supporting continuous integration efforts
  • Ensuring code quality
  • Performing integration and interface testing with robotic hardware
  • Mentoring the software team with problem solving and training

Qualifications:

Minimum Requirements

  • BS/MS/PHD degree in Computer Science or closely related field.
  • Strong written and verbal communication skills
  • Strong problem-solving skills
  • 5 or more years of experience developing C++ software used in production systems
  • Experience with full life cycle software development including design and implementation, unit testing, integration testing and software configuration management.
  • Ability to write efficient, maintainable and scalable C++ software and libraries.
  • Very strong experience with C++ software development
    • Proficient with Modern C++ (C++17) language features and standard libraries
    • Experience with commonly used C++ opensource software libraries such as Boost
    • Experience with asynchronous programming
    • Experience with multithreading and parallelization
    • Experience with template meta programming
    • Experience with profiling and performance optimization
  • Understanding of software engineering concepts such as:
    • Abstraction
    • Resource management
    • Code efficiency
    • Object-oriented programming
    • Design patterns
    • Test driven development, etc.
  • Knowledge in data structures and algorithms
  • Experience with CMake, C++ build system and toolchains
  • Experience with Git and Docker
  • Strong Experience with Linux
    • Proficient in Bash
    • Experience with Debian based distributions
    • Experience with package managers
    • Knowledge of Linux filesystem structure
  • Experience with agile software development

Preferred Technical Skills

    • Experience with machine learning
    • Familiarity with robotics and machine perception
    • Experience with opensource computer vision libraries such as OpenCV and PointCloudLibrary (PCL)
    • Experience with parallel computing such as multi-threading and SIMD
    • Experience with linear algebra libraries such as Eigen
    • Experience with CUDA
    • Experience with web applications
    • Experience with CI tools such as Jenkins or TeamCity