Job Purpose
· To evaluating the needs of the company and determining how they can create support for those needs, using IT whilst organising the development of a systems solution.
· To use techniques such as technology capability modelling, architecture patterns, industry best practice and gain understanding of current systems, processes, and constraints.
· To work closely with other architects, IT management and business stakeholders to promote a consistent approach to and understanding of projects and strategies.
· To maintain a technical understanding of one or more components within an application / product, providing support for technical queries, live incidents and problems.
· To ensure that the technical integrity and quality of the applications / products is maintained across their lifetime, developing any technical changes being proposed.
· To build knowledge of how technical strategies are defined to provide business solutions.
Main Accountabilities
Requirements Gathering
· Provide input to the production of clear functional and non-functional requirements (e.g. capacity, availability, response times, etc.).
· Support business clients in defining ’testable’ requirements.
· Understand technical constraints of live application / product, support business clients in understanding any ‘requirement versus cost’ trade-offs.
Architect Development and Management
· Contribute to the production of end-to-end system technical designs that involve applications / products within domain, collaborating with other internal and supplier teams as required.
· Maintain end-to-end system design components, ensuring quality and integrity throughout the software development lifecycle.
· Understand the various phases of the software development lifecycle.
· Undertake impact assessment of change requests against applications / products within domain.
· Review test strategies to guarantee the quality of the delivered software assist in the diagnosis of system problems encountered during testing.
· Collaborate with other component design and build teams, ensuring that end-to-end system design is followed.
· Deliver to all technical engineering quality standards / benchmarks.
· Complete assignment work to budget, time and quality requirements. Document all work in accordance with agreed standards, and with re-use in mind.
· Support the handover of software into production mode , providing the relevant IT operations teams with information and education relating to the system technology and function.
· Assist in the resolution of live incidents and system problems as and when required.
· Identify proactive remedial strategies to prevent future software problems and to improve the quality of delivered software.
Competencies
Soft Skills
· Win together through collaboration & teamwork.
· Excellent communication skills
· Analytical mindset
· Project & resource management aptitude
· Collaborative work
· Persuasion & negotiation skills
· Demonstrate integrity, initiative and commitment when interacting with colleagues & clients.
· Be aware of personal development needs and work to gain the experiences and training necessary to progress professionally and remain current..
Knowledge and Expertise
· 8+ years in software engineering
· IT infrastructure and containers development
· Engineering & Software architecture design
· Business analyst
· DevOps
· Project & product management
· End-to-end software development lifecycle
· Software development methodologies, e.g. waterfall, agile, SCRUM
· Awareness of leading-edge tools, techniques and services within IT
· Software development using Java
· Software development consisting of some of the following languages and technologies:
· RESTful API Design
· Application servers (JBOSS, WildFly)
· Container Technologies (Docker, K8s, OpenShift)
· Databases (Oracle / SQL)
· Version Control Software (Git)
· J2EE / Quarkus Frameworks
· BPM (Camunda)
· Maintaining an in-depth understanding of relevant and up to date technical knowledge, applications and techniques.
· Using technical knowledge to create new opportunities and solutions.
Qualifications
· MA in Computer Science or Software Engineering preferred
· Project management and leadership skills essential
· Experience in developing IT and cloud infrastructure
· Experience in software design and architecture
· In depth understanding of business analysis processes and techniques
· Experience working with and analysing computer hardware and software
· Extensive knowledge and experience working with operating systems