Job Details
Job Description:
Develops information systems by designing, developing, and installing software solutions.
Key Responsibilities:
- Actively maintains knowledge in one or more identifiable specialisms.
- Provides detailed and specific advice regarding the application of their specialism(s) to the organisation?s planning and operations.
- Recognises and identifies the boundaries of their own specialist knowledge.
- Collaborates with other specialists, where appropriate, to ensure advice given is appropriate to the needs of the organisation.
- Supports monitoring of the external environment and assessment of emerging technologies to evaluate the potential impacts, threats and opportunities to the organisation.
- Contributes to the creation of reports, technology roadmapping and the sharing of knowledge and insights.
- Requirement and Definition Management
- Defines and manages scoping, requirements definition and prioritisation activities for smallscale changes and assists with more complex change initiatives.
- Follows agreed standards, applying appropriate techniques to elicit and document detailed requirements.
- Provides constructive challenge to stakeholders as required.
- Prioritises requirements and documents traceability to source.
- Reviews requirements for errors and omissions.
- Provides input to the requirements base-line.
- Investigates, manages and applies authorised requests for changes to base-lined requirements, in line with change management policy.
- Software design
- Designs software components and modules using appropriate modelling techniques following agreed software design standards, patterns and methodology.
- Creates and communicates multiple design views to identify and balance the concerns of all stakeholders of the software design and to allow for both functional and non-functional requirements.
- Identifies and evaluates alternative design options and trade-offs.
- Recommends designs which take into account target environment, performance security requirements and existing systems.
- Reviews, verifies and improves own designs against specifications. Leads reviews of others? designs.
- Models, simulates or prototypes the behaviour of proposed software to enable approval by stakeholders, and effective construction of the software.
- Verifies software design by constructing and applying appropriate methods. Programming/software development
- Designs, codes, verifies, tests, documents, amends and refactors complex programs/scripts and integration software services.
- Contributes to selection of the software development approach for projects, selecting appropriately from predictive (plan-driven) approaches or adaptive (iterative/agile) approaches.
- Applies agreed standards and tools, to achieve well-engineered outcomes.
- Participates in reviews of own work and leads reviews of colleagues? work. Database design
- Develops and maintains specialist knowledge of database and data warehouse concepts, design principles, architectures, software and facilities.
- Assesses proposed changes to object/data structures, in order to evaluate alternative options.
- Implements physical database designs to support transactional data requirements for performance and availability.
- Implements data warehouse designs that support demands for business intelligence and data analytics.