Role Description & Responsibilities:
- Estimating, Designing, Developing, Planning and implementing software modules and features.
- Resolve technical issues through Debugging, Research and Investigation, creating new & innovative ways to improve applications.
- Work closely with customer on real time production issues.
- Work closely with a geographically distributed team.
- Specify the software system:
o Define and describe Functional behavior, limitations and Acceptance Tests of capabilities to deliver (What)
o Design and specify How capabilities will be implemented:
- Select algorithms, theories or technologies that will be used.
- Plan an appropriate user interface.
- Identify and manage dependencies with other components.
o Document these selections in a PES (Product Enhancement Specification Document) and in a DES (Design Enhancement Specification Document)
- Develop and validate new functionalities described in PES:
o Code, compile and run unit tests according to Implement processes and Metrics (KPIs), as part of the development pipeline
o Check the progress of dependencies with other components.
- Ensure knowledge sharing within the team about the developments.
- Work towards development convergence:
o Improve code quality up to the Last Build, to reach the defined quality metrics (component metrics, product metrics …)
- As soon as the Software is deployed, track usage metrics and user feedbacks to continuously and proactively improve the solutions
- Regularly assess Metrics and Customers feedbacks to identify areas for code quality or software performances improvement.
- Perform lessons learned and RCA to identify Root Causes of severe issues and propose Improvements actions to prevent such type of issues in the future (trainings, tools, process, operations, ...)
- Resolve quality issues (backlog management):
o Resolution of incidents reports (IRs) reported by the Technical Customer Success or by Product QA teams
- Technological intelligence:
o Keep abreast of the latest technological developments, understand the requirements of our development partners, know about competing products, look ahead for future products, technologies, languages, etc.