Overview
Senior Software Engineer on the team developing middleware, media and application development kit for HTML and native applications on the Vizio TV platform.
What you'll do
- Contribute to reviewing product requirements and creating technical requirements.
- Contribute to designing and architecting new products, and to understanding and improving existing software.
- Create prototypes, design documents and technical tasks, and suggest implementation plans.
- Develop core components and perform code reviews to ensure implementation matches the design.
- Develop tools to measure product quality and find defects automatically.
- Within 3 months, triage bugs and implement feature details by cooperating with other teams to gather information and expected behaviours.
- Within 6 months, understand the media stack architecture in detail and identify improvements for a better user experience.
- Within 1 year, be a feature owner who drives development of new features.
What you'll need
- 5+ years of experience in architecture and design, prototyping, software development and implementation planning, code review and unit testing for consumer electronic devices.
- Bachelor's degree or higher in Computer Science, Electronics or equivalent field.
- Proficient in C, C++/C++11, JavaScript, JSON.
- Experience in developing media pipeline stacks.
- Experience in video streaming technologies (DASH, HLS, Progressive Download, etc.).
- Experience in Digital Rights Management (Widevine/PlayReady/FairPlay) and Secure Media Pipeline.
- Knowledge of audio/video formats (H264, HEVC, mp4, CMAF, MPEG2-TS, HDR, Dolby Vision, etc.).
- Experience in media frameworks such as GStreamer, FFmpeg.
- Experience in multi-threaded programming and inter-process communication.
- Good communication and problem-solving skills.
- Self-motivated, proactive and a good team player.
- Multi-threading, CMake build system, cross compilation, Linux understanding (process, filesystem, permission, memory), Linux shared library analysis, Linux IPC/message queues, parsing and analyzing journald logs, debugging core dump files, troubleshooting.
- Boost ASIO, Linux boot-up, Linux interprocess communication, Linux services/daemons, socket programming, OOAD (Object-Oriented Analysis and Design), C++14 and C++17 features (std::optional, std::async etc.).
- Adaptive media streaming client-side integration, media playback, multimedia frameworks (GStreamer, FFmpeg, Wayland / DirectFB), Apple AirPlay media content delivery to player, PlayReady DRM 4.x.
- Collaborate with cross-functional teams; communicate effectively and convey ideas clearly in short time.
- Minimum: Bachelor's degree in computer science, computer engineering, computer information systems, software engineering or related area and 3 years' experience in software engineering or related area; OR 5 years' experience in software engineering or related area.
Nice to have
- WebSockets, REST API, SnapCraft, Docker, Conan package manager, GitHub Actions, CMake, make, Meson build system.
- Unit test frameworks: Catch2, GoogleTest, BDD test framework.
- Rust, Python, Jira, shell scripting.
- Basic understanding of cryptography; basic network TCP/UDP packet filtering and analysis.
- Master's degree in computer science, information technology, engineering, information systems, cybersecurity or related area and 1 year's experience leading information security or cybersecurity projects.
- Background in creating inclusive digital experiences; knowledge of implementing WCAG 2.2 AA standards, assistive technologies and digital accessibility.
- Information Technology – CISCO certification.
Details
- Location: Bangalore, Karnataka, India (Building 10 SEZ, Cessna Business Park, Kadubeesanahalli Village, Varthur Hobli).
- Based in the Bangalore/Chennai office for daily work, with flexibility to manage personal lives.
Read the full description and apply on the company’s own careers page.