B.Sc (Electronic and/or Computer Engineering) or similar qualification.
Postgraduate degree in the fields of Software or Hardware Engineering (optional).
Experience:
8+ years of appropriate experience in embedded software design/development and architecture.
5+ years of experience in working with the company's products
5+ years of experience with deploying, configuring, and porting RDK software stack.
Excellent hands-on experience with Architecting and Designing for Embedded Devices.
Prerequisite to have hands on experience with GStreamer and Yocto.
Prerequisite to have in-depth knowledge of Irdeto middleware architecture and software stack.
Excellent hands-on experience in using SOC provided tool chains.
Strong knowledge of embedded software development, integration, debugging/troubleshooting, testing, configuration, support and maintenance processes with multiple vendor components.
Strong knowledge of Satellite operator E2E network components and security requirements.
Strong knowledge of embedded C/C++ and core Java programming languages
Strong knowledge of embedded hardware systems, real-time & Linux operating systems.
Strong knowledge of Loader, Flash, Memory Mapping and other HW interfaces to SoCs, DDR, HDMI, Ethernet, USB, SATA, MoCa, AV amplifiers, IR remote systems, HD TV technologies.
Strong knowledge of Database Design and Management tools (SQLite, etc.).
Experience with SDLC Tools, e.g. IBM Jazz, Jira, HP Quality Centre
Experience with Architectural design tools like Enterprise Architect, IBM Rational or similar.
Strong experience in Systems Design Methodologies (UML and other Modelling Techniques).
Experience in Mentoring and Leading Technical Design Teams and good with Whitepapers and Technical presentations.
Exposure to various SDLC methodologies like Agile, Waterfall, Hybrid, DevOps etc.
Vendor Management: Software Integration with multiple component vendors.
Knowledge of Hardware Design and Components for STB.
DVB (e.g. DVB-S, DVB-S2, DVB-T, DVB-H, DVB-IP), ISDB, MPEG, H.264, H.265, UHD, HDR, File compression techniques and interactive TV knowledge.
Strong knowledge of STB software components like on-chip/off-chip drivers, Middleware(e.g. OpenTV, MHP and/or Irdeto) technologies, UI framework.
Understanding of Satellite Tx/Rx including satellite bands UHF/VHF/Ku-band.
CA systems and sub components.
Dolby Digital Systems.
Knowledge of Encoders, Transcoders, Schedulers, Modulators, Scramblers, Key server, EPG etc.
Understanding of Encryption, Decryption, Multiplexing.
Understanding of Business Systems like Billing, Subscriptions etc.
Strong understanding of IP networking and protocols e.g. HTTP, FTP, WS, FTP, UDP, UPnP.
Video Streaming and Control Protocols (TCP/IP, UDP, RTP, RTMP, Multicast handling, RTSP, DIAL, SSDP, HTTP)
RF signal distribution systems (including LNB, DiSEqC, Unicable/SATCR switches, etc).
Exposure to Digital modulation systems such as QPSK, 8PSK, QAM etc.
Designing Solutions with Regulatory, Compliance and Certifications associated with security, network, wireless and RF standards.
Responsibilities:
Requirements analysis and designing Integration Strategies aligned with STB Architecture.
Research industry wide solutions and recommend tools and technologies.
Prototyping and creating Proof of Concepts for new features and solutions.
Integration strategies & dependency mapping for the various work packages of the release
Influential in company-wide technology decisions.
Mentorship of Technical Teams.
Ensure enforcement of the Company processes and policies with team members
Adherence to the milestone driven hybrid process & policies applicable to the Decoder Development team.
Develop, enhance & enforce development processes & policies with team members and 3rd party software component vendors.
Contributes to product proposals
Participates in pre-product discussions with stakeholders
Suggests product requirements for existing technologies
Writes and maintains technical requirements specifications (functional, non-functional)
Reviews requirements specifications
Advises on priority of defect fixes needed
Is responsible for identifying & resolving technical risks
Monitors the evolution of standards that are relevant to the business / projects
Active role in Change Request / Enhancement requests process for technical impact assessments
Breaks down product use cases into technical system / component use cases
Leads the core team for systems / components based on existing products to meet the customer needs
Defines and reviews system architecture & component specification documents
Defines and reviews interface documents
Defines and reviews the interfaces with third party suppliers
Performs analysis of requirements including gap analysis
Reviews list of materials (BOM) impacted by design
Considers trade-off between design sophistication and time-to-market when making architectural decisions
Maximizes re-use of existing components
Preserve IP by writing patent applications
Provides guidance on requirements and system architecture to Developers, QC, Systems Integration & Systems Engineers
Reviews testing specifications / plans to ensure key parts of the system are not excluded
Ensures the delivered solution meets the business technical requirements for moderately complex systems
Reviews training materials - providing training as needed
Responsible for identifying & resolving technical issues
Provides input to the analysis of in-field issues & defects
Will be called on to help own and drive ORITs or other hit squad efforts
Breaks down high level use cases into component level use cases, identifying modules impacted
Seeks clarification from system & solution architects as well as product team
Contributes to requirements reviews
Breaks down requirements into use cases for component backlogs
Works with product team (BAs) to understand functional & user requirements / behavior
Responsible for the component design including some of the following:
Design patterns and framework to use
Implementation technologies
Third-party or Open source components
Collaborates on Interface Definitions / APIs with other component providers
Considers trade-off between design sophistication and time-to-market when making architectural decisions
Tracks design decisions that result in technical debt
Owns the evolution of the component design / architecture
Ensures implementation respects rules of agreed framework
Applies best practices of software design
Involved in implementing the design, often writing framework code / foundation architecture
Offers guidance to developers, QA & Integration teams
Provides training on component if needed
Participates in ongoing Change Request Processes
Will be called on to help own and drive ORITs or other hit squad efforts
Responsible for ensuring top technical issues assigned to component are resolved to completion
Advises on risk & impact of defect fixes
Supports integration teams in triage, offers advice / guidance if needed
Responsible for Integration strategy for all components related to the decoder stack and head-end components.