The senior software developer will be responsible for developing solutions to satisfy asset lifecycle management requirements, guiding other developers during the development process, giving attention to usability and consistency across the AVEVA product suite.
You will participate in software development, provide development documentation, and ensure work is reviewed and tested at all stages of development; always striving to support the overall aim of AVEVA products to be market leaders.
In addition to the above this role will also include involvement during defect triaging and implementation of a solution for defects identified in existing software solution.
Key responsibilities
- Research possible product enhancements, including understanding priorities.
- Participate and comment in review sessions.
- Implement (or oversee implementation of) approved enhancements to products; reporting on progress against estimate and highlighting unexpected technical issues.
- Help and guide other developers during the whole development lifecycle.
- Write development documentation and create promotion material for implemented product enhancements.
- Provide Support to Business Units, Sales and Pre Sales and 3rd level support to customers, for issues relating to the usage of the developed products in production releases.
- Co-ordination of work with that of other individuals working on enhancement and bug fixes to the product.
- Providing Technical Analysis within Projects.
- Preparation of detailed task breakdown and estimates.
- Suggestion of architectural design and the best fitting technology.
- Ensuring that content matches the approved specification (i.e. no omitted requirements, and no scope-creep).
- Ensuring that new developments are designed to take advantage of existing facilities in all appropriate AVEVA products.
- Consideration of cybersecurity aspects during development and review cycles.
- Merge changes into the Configuration Management system and ensure the subsequent integrity of code.
- Ensure Staff are made familiar with new product capability and encourage re-use of new code by preparing and giving presentations and demonstrations.
- Report inconsistencies across AVEVA design and security standards to management.
Essential requirements
- A Computer Science, Math or equivalent Degree or experience.
- At least 3 years of experience in software development.
- Experienced in using the Visual Studio development environment.
- Competence in object-oriented software design, with appreciation of coding and design for maintainability, extensibility, testability, and reuse.
- Familiar with agile software development processes especially Scrum.
Desired skills and competencies
- C#, .Net, Full Stack Development
- Good communication skills, working with a broad range of people, including Product Owners, Testers & Product Support across sites.
- Task based, multi-site configuration management, e.g. ADO and Git.
- Developing software deployed to the Azure or on-premises.
- Test Driven Development.
- Technical depth in one of the following disciplines:
- Desktop application development
- Web frontend development
- Web backend development
- Knowledge of Mock frameworks.
- Good breadth of knowledge across all the design patterns.
- Knowledge about Human factors and ergonomics (HF&E).
- Pair Programming, Continuous Integration.
- Public speaking and presentation skills.
- User interface and user experience design.
- Ability to deliver against content, quality and date.
- Ability to create effective unit and integration tests using any kind of Unit Testing framework.
- Ability to estimate tasks, using task breakdown and advice from colleagues.
- Methodical and organized.
- Self-starter, demonstrating ownership of tasks from inception to delivery.
- Able to propose multiple solutions to challenges and adapt to changing requirements.
- Responsive to the needs of management, colleagues, and business representatives.