Camera Software Engineer (C++)

  1. Home
  2. C++
  • Company Endava
  • Employment Full-time
  • Location Belgrade, Serbia
  • Submitted Posted 3 weeks ago - Updated 10 hours ago

Company Description

Technology is our how. And people are our why. For over two decades, we have been harnessing technology to drive meaningful change.
 
By combining world-class engineering, industry expertise and a people-centric mindset, we consult and partner with leading brands from various industries to create dynamic platforms and intelligent digital experiences that drive innovation and transform businesses.
 
From prototype to real-world impact - be part of a global shift by doing work that matters.

Job Description

Development is the largest discipline at Endava. Our developers design, build, and release software products in multiple programming languages, frameworks, and libraries. Always collaborating with cross-functional project teams, our developers are adaptable problem-solvers with a client-oriented mindset.  

We are looking for a Camera System-Level Android Engineer to join one of the multiple well-organized scrum teams working on the android-based firmware/OS for video bars and tablet controllers. We hope you can bring your expertise and contribute to both the maintenance of the existing functionalities and new feature development. A sense of ownership and proactivity is more than welcome.

Our client is a famous tech company that among other products also creates beautifully designed and engineered audio and video products, backed by the artificial intelligence, analytics, and insights to take you far beyond mere connectivity and let you be seen and heard with incredible clarity.

This is a hybrid (remote/office) position. Mostly, there is no frequent need to exchange the equipment and hard dependency on office space, but the account team comes two times per week to satisfy project needs and make sure that social part is not being missed.

Responsibilities:

  • Develops software components following IT industry standards, tools, and practices.
  • Participates in all activities of application development such as backlog refinement, estimation, implementation of the requirements, etc.
  • Collaborates with project stakeholders to understand the client requirements, architecture, and priorities.
  • Escalates risks, issues, and concerns related to development activities.
  • Participates in the review of the work done by development team members.
  • Learns and applies new technologies, practices, and tools as appropriate to the project.
  • Participates in internal tech communities, events, etc.

Qualifications

Key requirements:

  • 4-10 years of experience in C/C++ development
  • Experience with any of embedded Linux distributions like Yocto, Buildroot, or OpenEmbedded for creating custom Linux images
  • Familiarity with camera interfaces such as USB (UVC), MIPI CSI, HDMI, and Ethernet (RTSP, RTP).
  • Familiarity with image formats JPG, PNG and RAW and video compression standard h.264, h.265 
  • Good understanding of different common programing paradigms (OOP, Functional, etc.).
  • Familiar with design/architectural patterns and clean code principles
  • Understanding of version control systems like Git or similar
  • Experience with testing and mocking frameworks
  • Familiar with communication protocols and standards such as HTTP, REST, JSON, TCP/IP.
  • Basic knowledge of Agile methodologies (e.g., SCRUM, KANBAN).
  • Basic Knowledge of CI/CD tools and practices
  • Good problem-solving skills and analytical thinking
  • Excellent communication and teamwork abilities
  • Intermediate English proficiency, at least
  • Educational background in computer science or equivalent

 

In addition to the essentials, it would be great if you have:

  • Experience in Android (AOSP) development
  • Knowledge of Android Camera HAL, Camera Manager, binder, HIDL, AIDL
  • Gstreamer or OpenCV experience
  • Experience with drivers, especially with V4L2
  • Knowledge of FFmpeg for video manipulation, transcoding, and streaming
  • Knowledge of the Android SDK/NDK, Connectivity, Permissions, so as SELinux, networking protocols and TLS is very beneficial

Additional Information

Discover some of the global benefits that empower our people to become the best version of themselves:

  • Finance: Competitive salary package, share plan, company performance bonuses, value-based recognition awards, referral bonus;  
  • Career Development: Career coaching, global career opportunities, non-linear career paths, internal development programmes for management and technical leadership;
  • Learning Opportunities: Complex projects, rotations, internal tech communities, training, certifications, coaching, online learning platforms subscriptions, pass-it-on sessions, workshops, conferences;
  • Work-Life Balance: Hybrid work and flexible working hours, employee assistance programme;
  • Health: Global internal wellbeing programme, access to wellbeing apps;
  • Community: Global internal tech communities, hobby clubs and interest groups, inclusion and diversity programmes, events and celebrations.

Loading similar jobs...

C Developer Jobs

Forge your path in the heart of programming excellence! Explore career opportunities in C/C++ and C#.

© 2024 Created by C Developer Jobs. All rights reserved.