News

C++ Software Engineer

05.19.2020

Share on

Kudan in Bristol, UK 

Title: C++ Software Engineer
Level: Senior
Salary: Competitive
Location: Bristol

About us

At Kudan, we’re constantly pushing the cutting edge of computer vision technology. To always keep moving forward we evaluate state-of-the-art approaches to machine vision, together with performing ground-breaking research.

We are looking to expand our team with engineers who are passionate about state-of-the-art computer vision to help us continue to produce leading SLAM software for the global market.

You will be jointly responsible for the complete pipeline of visual processing from sensor evaluation and selection, through data processing pipelines, to SLAM evaluation tools. You will be aiding our team by implementing existing research approaches as well as performing research and development of our SLAM software.

You will be working with a team of best-in-class computer vision and SLAM software engineers to ensure best performance of our SLAM software. Your work will ensure that we deliver the best mass market SLAM system. Ideally you would be interested in having a generalist approach, picking up ad-hoc tasks as well, to make sure your team can do their job.

Job Responsibilities

  • Proactively participate in design and architecture discussions and suggest potential improvements to the existing and future products as well as internal tools
  • Collaborate with product managers, team leaders, and other stakeholders to understand product requirements and generate innovative proposals and ideas
  • Lead on a full cycle of design and development from the initial proof of concept prototype to the final fully tested and evaluated product
  • Be autonomous, driven and proactive and be able to work independently with minimum supervision and ability to mentor and manage more junior members of the team
  • Propose new ideas and share them within the team and also be able to represent their work to the technical and non-technical staff
  • Be comfortable with writing and maintaining documentation across the codebase and also for the developed features
  • Contribute to the software development lifecycle, including requirements analysis, design, implementation, testing, deployment, and maintenance
  • Develop clean, efficient, tested and maintainable code for various software components and modules alongside active contribution to code reviews
  • Be confident with profiling and be able to optimise software performance and memory usage to meet performance requirements
  • Stay up-to-date with emerging technologies and industry trends related to C++ development
  • Active contribution to debugging and optimisation of any reported issues and bugs
  • Document the progress of assigned tasks and write reports on the evaluation and results which could be used for business and product evaluation
  • Enthusiastic team player with excellent (written and verbal) communication skills and ability to efficiently collaborate with other engineers

Skill Requirements

  • Bachelor’s or Master’s degree in Computer Science or “STEM” (Science, Technology, Engineering and Math) or related working experience
  • Minimum 5 years of industrial experience in software development, with a strong proficiency in modern C++ programming language
  • Solid understanding of software engineering principles, algorithms, and data structures
  • Experience with object-oriented design and design patterns in C++
  • Proficiency in software development tools and standard libraries for C++, e.g., STL, TBB, etc
  • Experience with multi-threaded programming and parallel computing in C++
  • Knowledge of software development methodologies and experience with source control software, e.g., Git, and project management tools, e.g., Jira, Confluence, etc
  • Experience with performance acceleration with SIMD / AVX / NEON
  • Experience with GPGPU development (e.g. CUDA, OpenCL, Vulkan)
  • Experience with C/C++ build tools (e.g. Make and CMake)
  • Experience with Test Driven Development (TDD)
  • Experience with containerisation (e.g. Docker)

Nice to haves

  • Experience with embedded software platforms
  • Game engine development experience
  • Experience in system administration of Linux, Mac and Windows servers
  • Experience with cloud service providers (e.g. AWS)
  • Experience with Robotic Operating Systems (ROS)
  • Experience working on 3D computer vision or similar areas in an industrial environment
  • Experience with SLAM, structure from motion, Lidar, IMU, and sensor fusion
  • Experience with open-source optimisation and maths libraries, e.g., Boost, Eigen, g2o, GTSAM, Ceres, etc
  • Hardware background
  • Experience working in an Agile, Scrum, SAFe environment

Benefits

  • A fun, supportive and engaging environment
  • Opportunity to work on cutting edge technologies with the top talent in the field
  • Competitive compensation package with 28 days holiday plus UK bank holidays
  • Internal mentoring and training initiatives
  • Flexible working hours
  • Private medical insurance
  • Health cash plan
  • Regular team building and office snacks

To Apply

Please click this “contact us” with the subject “C++ Software Engineer” and include your relevant experience and background in the message field.

Share on

Recent Posts