Basingstoke, United Kingdom
The senior software engineer is responsible for ensuring the delivery of the agile team meets agreed upon architecture standards. They participate in the advancement of solutions within their business portfolio through prototyping new concepts in conjunction with business area architects. May research third party/cloud solutions to ensure successful integration of the technology. The Senior Software Engineer plays a critical role in mentoring software engineers of all levels to ensure we are growing future talent within the agile teams.
Principal Duties and Responsibilities
- Provides technical leadership and direction for all EPIC features delivered
- Collaborates with architects on the application of agreed upon coding standards process, tooling and frameworks required for the delivery of features in the product backlog
- Completes the design of components of an application that supports and advances the reference architecture.
- Contributes to architecture roadmap for business area(s) by recommending options from third party/cloud solutions and participating in Proof of Concept (POC)/Prototyping initiatives
- Ensures that solutions delivered have an excellent customer experience, are secure and scalable, comply with best practices and open standards.
- People at this level will look for ways to utilize modern technologies to solve business problems – including AI, Digital platforms, and automation.
- Actively looks for solutions that are buy over build and are cloud based.
- Stays abreast of external trends and new functionality by third party/cloud solutions, identifying and socializing opportunities for expanded business applicability
- Ensures application solution design conforms to agreed upon quality attributes such as performance, fault tolerance, etc.
- Ensures product backlog has appropriate technical stories and participates in their prioritization
- Provides ongoing and appropriate mentorship for Software Engineers
- Plays an active role in improving collaboration between business and IT
- Responsible for application solution quality from design and implementation to deploy and run. Participates in definition and maintenance of software standards
- Responsible for the design, implementation, and maintenance of new and existing features for the existing portfolio of applications for a business area
- Responsible for communication and collaboration with key stakeholders in the delivery of features
- Design, codes, configures, unit tests, maintains, and documents software deliverables using agreed upon standards and tools.
- Maintains depth of technical understanding of third party/cloud solutions and Client’s implementation of solutions.
- Evaluates technical impacts from and coordinates implementation of new product releases.
- Participates in sizing and estimation activities within the agile team
- Communicates daily with the Scrum Master or Team Lead and the Agile team on progress made and planned progress for the coming day and reports any impediments that are blocking their progress
- Participates in code reviews and sprint retrospectives; ensuring their ideas for team continuous improvement are communicated so that the overall process and team can improve sprint by sprint and readily receives feedback for self-improvement
- Focuses on delivering business priority and value at all times
- Responsible for ensuring the quality of existing and new features through both manual and automated testing and use of continuous Integration techniques where practical
- Demonstrates an interest in software architectures and seeks to design solutions in alignment with Company stated architecture and standards
- Participate in Proof Of Concept work and prototyping when necessary
- Collaborates with Business Analysts to confirm understanding of business requirements relating to features to be delivered and to help the Business Analyst define requirements that can be delivered from a technical perspective
- Collaborates with User Experience (UX) designers to ensure designs produced can be translated efficiently into working solutions for feature delivery
- Collaborates with the agile team to establish the definition of done for each of the stages of production within the team
- Collaborate with Test Engineers and Senior Test Engineers as to ensure that software meets the definition of done; ensuring successful transition of work to the next stage of production during the sprints
- Ensures an innovation culture in the team by continuous improvement of deliveries and participates in evaluating new processes and technologies that can be applied to future feature delivery
- Collaborates with Technical Support Engineers to transition software features to a production environment ensuring that the deliveries meet application performance criteria, release standards; and ensures application and system stability.
- Automates testing of software to industry standards of software automation ensuring very high quality application/solution delivery and efficient regression of existing features
- Ensures that the latest project progress is known to the agile team by ensuring Application Lifecycle Management (ALM) tools are up to date and participating in daily standups outlining progress made, progress planned and detailing impediments
- Thinks with the mind of the end customer at all times, ensuring solutions seek to improve the customer experience and delight their customers.
- Ensure the continued protection of Client’s information, by following all applicable Information Security policies and procedures and by reporting suspected weaknesses in information security controls to the Information Security Officer.
- Embed and contribute to the Conduct Risk Framework, wider Solvency II systems of governance principles, Treating Customers Fairly requirements and the Risk Management Framework as it applies to the role and divisional activities and drive improvements as required.
- Comply with Client’s Code of Conduct and other Company Policies and Procedures as appropriate to the role.
- Bachelors preferred, or equivalent relevant business experience
- Shows evidence of strong analytical abilities
- Takes a logical, analytical approach to problem solving and pays close attention to detail
- Knowledge of Agile development/methodologies
- Self motivated and results oriented; able to motivate others
- Takes an innovative approach to problem solving
- Demonstrates strong focus on quality delivery and delighting customers; holds self to high standards of delivery
- Demonstrates excellent oral and written communication skills; experience leading groups of people through discussions, technical or otherwise
- Strong team player; able to lead and work effectively within a team and more broadly with people from a variety of backgrounds and areas across the organisation.
- Strong experience of test driven development (TDD) and unit testing, leveraging automation toolsets
- Strong experience in continuous integration