Software Development Engineer
Role details
Job location
Tech stack
Job description
"Our organisation has worked in partnership with NTech since 2005. As a Network Integrator and Cisco Gold Partner, it is essential that we attract the right quality of candidates with the appropriate level of technical skill for the position as well as the right cultural fit for our Company which enables us to meet the high expectations of our customers.
NTech provide a consultative approach to recruitment, taking time to thoroughly understand our business and Company culture which is reflected in the calibre of candidates that they put forward to us. The understanding of the business enables them to identify the "best fit" for the organisation, job role and the candidates themselves.
NTech's approach as a recruitment partner is excellent and the ratio of placements to opportunities is outstanding. They can be relied upon for an efficient service providing a quick response time without compromising the quality of the candidates. There is an emphasis on quality and not quantity of candidates. I have no hesitation in recommending NTech as a recruitment partner.", The role holder is responsible for software design, development and test within the development team. The current team is ambitious insourcing of CPE firmware development. The core purpose of this role is to contribute to the development of the new CPE software development strategy, in-sourcing the developing capability for our next generation hardware platforms.
The role holder will implement technical developments of the Hub software backlog, utilising Agile development methodologies, in line with industry technical standards and the strategic needs of our broadband product set. The role holder will be expected to act as a development engineer and be the point of contact for one or more components of the firmware.
The role holder will work as part of an Agile software development team and will be expected to develop and deliver high quality code in support of our world class broadband products., * Development team member with responsibility for the development of one or more software components.
- Technical authority for one or more software components.
- Contributes to testing best practices with a primary emphasis on automated testing
- Shall perform ad hoc testing and planned testing either manually or preferably via test automation
Authority/Decision Making:
- Works under broad direction.
- Works alongside other team members to deliver software components for the project
- Responsible for the quality and delivery of own technical work.
- Receives assignments in the form of objectives.
- Work with team leader to establish milestones, personal objectives and may delegate assignments where applicable.
Requirements
-
Likely to have relevant, contemporary and industry recognised qualifications appropriate to the specific function.
-
Likely to have a degree qualification (engineering/science) in relevant area.
-
Relevant professional experience., * Demonstrable experience in software design and development, using the C programming language, ideally on embedded systems
-
Experience developing and debugging in a Linux environment
-
Strong scripting skills, e.g. bash, Python
-
Experience in building and debugging software for embedded systems development, with demonstrable experience of shell scripting, debugging tools, e.g. gdb.
-
Use of code revision, issue tracking and continuous integration tools, e.g. git, Jira, Gitlab
-
Understanding of the hardware and software constraints related to developing home gateways or similar consumer electronic systems
-
Must have experience of working with Agile delivery methodologies such as Scrum, Kanban; iterative planning and task estimation
-
Experience in Linux kernel and driver development is preferred.
-
Experience of building products using OpenWRT or similar
-
Collaborative and innovative approach to problem solving
-
Continuous Integration, Continuous Deployment and Test Driven Development
-
Exposure to, and understanding of drivers behind automated test strategies
-
Working to ambitious timescales
Ideally:
-
Demonstrable contribution to open source projects
-
Experience on one or more of the following: TR-069, SIP(S), Wi-Fi driver development, DECT, cellular interfaces
-
Bootloader experience, e.g. U-Boot
-
An understanding of the TR-069 protocol and TR-181 data model design and use
-
Demonstrable experience of designing or developing embedded containerised environment
-
Has a working knowledge of Home Gateway standards including, but not restricted to: IPv4/IPv6, PPP, IPoE, Wi-Fi, UPnP / Multicast and EoGRE.
-
Experience using JTAG debuggers to bring up and debug hardware