MultiChoice South Africa's activities involve the operation of Pay-Television and internet subscriber platforms. The MultiChoice South Africa group includes the digital satellite Pay-Television business ("DStv"), which has been in operation since 1995. Other businesses in the group are; M-Net (delivers thematic channels and exclusive content to DSt...
Read more about this company
Participates in pre-product discussions with stakeholders
Suggests product requirements for existing technologies
Contributes to product proposals
Writes and maintains technical requirements specifications (functional, non-functional)
Reviews requirements specifications
Is responsible for identifying & resolving technical risks
Advises stakeholders on what MCA systems can do and also impact on wider scope of E2E system
Monitors the evolution of standards that are relevant to the business / projects
Assists Project & Product management in defining phases
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
Provides guidance on requirements and system architecture to Developers, QC, Systems Integration & Systems Engineers
Ensures the delivered solution meets the business technical requirements for moderately complex systems
Responsible for identifying & resolving technical issues
Reviews lower-level component design
Provides input to the analysis of in-field issues & defects
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
Internal modules design & interactions
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
Qualifications
B.Sc (Electronic and/or Computer Engineering) or similar qualification.
Postgraduate or PhD in the fields of Software or Hardware Engineering (optional).
Relevant industry wide patents preferred.
TOGAF certification preferable.
Experience
Typically, 12+ years of appropriate experience in embedded software design/development, preferably STB.
Excellent hands-on experience with Architecting and Designing for Embedded Devices.
Strong knowledge of embedded software development, integration, debugging/troubleshooting, testing, configuration, support and maintenance processes with multiple vendor components.
Strong knowledge of core Java language.
Strong knowledge of Web technologies (e.g. WS, RESTful, etc.) and scripting languages (e.g. HTML, Javascript, CSS etc.)
Strong knowledge networking technologies, protocols such as - HTTP, WS, FTP, UDP, UPnP, RTSP, RTP.
Strong knowledge of embedded hardware systems, real-time & Linux operating systems.
Strong knowledge of Database Design and Management tools (SQLite, etc.).
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.
Nice to have knowledge of embedded C/C++ languages.
Experience with Architectural design tools like Enterprise Architect, IBM Rational or similar.
Experience with SDLC Tools, e.g. IBM Jazz, Jira, HP Quality Centre
Nice to have of Hardware Design and Components for STB..