Software/Firmware Development Engineer F/H
-
Etablissement : ASN UK - Greenwich (London)
-
Type de contrat : CDI
-
Temps de travail : Temps plein
-
Lieu London
The company
Connect continents, countries and populations
Alcatel Submarine Networks (ASN) is the world’s only fully integrated provider of turnkey submarine network solutions. Part of Nokia, we bring all the products and know-how needed to design and build optical communication links across the world’s oceans.
ASN offers its expertise and products to ensure a geographic coverage of optical communication networks across the globe.
Post description
Purpose of the Job:
To develop and maintain software for the electronic components in ASN bespoke Power Feed Equipment.
The ASN PFE is used to provide the HV electrical power undersea communication cable systems, with very high, 99.999%, availability.
The software is used on dedicated hardware where it is ‘mission critical’ to the system running with only occasional operator interaction. The firmware uses various communication protocols to interface, control and monitor the performance of the PFE.
Responsibilities:
Understand and scale up specifications of software / technical solutions:
- Participate in the technical choices of architecture and "working groups"
- Provide an estimate of the software development timescale
- When necessary, prototyping on target to remove technical uncertainties.
Interact continually with the “software development” and "hardware development" team, and validation engineer.
Design a software / technical solution that achieves the expected functionality, within the constraints of the overall system
Perform tests of the technical / software solution (unit and then pre-integration) to test compliance and performance and write reports.
Review and comment on the strategy and test plans.
Advocate for evolutions and technical choices to change the system
Document the implementation to allow other stakeholders to understand the structure of the realization and the technical choices made during the realization
Use internal tools and participate in their evolution / improvement
Maintain rigorous version control of all issued software
Profile required
Requirements:
The capability to understand the product and system behavior and requirements and translate these into robust software is key.
Essential Experience : -
• Writing ‘C’ code at the ‘bare metal’ level. I.e. ‘bit bashing’ to configure and manage the hardware.
• Use of any DSP chip
• Familiarity with the use of associated test equipment to confirm / debug. E.g. scopes, comms analysers, …
• Reading manufacturers data sheets/guides and work out how to configure and use the hardware capabilities in a complex multi-function chip.
• Writing efficient code (memory space or run time), and if need be occasionally write in machine code (this is also necessary for things that higher level languages don’t support. E.g. Enable / Disable interrupts, set & clear some specific chip modes (protected, shadow, …)
• Understand the process of linking to map the code / registers to the hardware. I.e. need to know how to set up a linker command file to manage the available memory resources, copy code from Flash to Ram as necessary etc.
• Understanding the various build modes and libraries to select / manage the right ones. (E.g. large Vs small memory model, fixed Vs floating point, etc.)
• Writing interrupt handlers in a multi interrupt system, managing priorities etc.
• Using various communication protocols such as:-
RS232/424
SPI
CAN Bus
USB
Ethernet
• Close liaison with hardware and system design engineers, other team members.
Experience of the following would also be beneficial:
• Understanding control theory (Z-transforms, filter algorithms)
• VHDL programming for FPGA or CPLD chips
• Real Time, mission critical, embedded control systems
• Configuration, management of an IDE
• Software development lifecycle
• Software development
Jscript/CSS/HTML
Python
C/ C++/C#
VxWorks/Linux
Qualifications:
Degree or equivalent in a relevant subject
Minimum of 5 years’ experience in relevant software environment
Réf: 469e5840-4e6e-4eaa-9355-0abcde7766de
Le poste n'est plus à pourvoir.