JOB PURPOSE:
As an experienced Software Developer, the role holder will work in-house contributing to the development of a number of different systems for IUK. With a passion for cutting-edge technology, the role holder will provide technical input and innovation to ensure appropriate solutions are in place to meet business requirements. Utilising their strong technical skills, the role holder will provide quality solutions to the business through the use of existing standards and technologies. They will need to have an aptitude to pick up new skills quickly and work with other developers within the team and other areas of the organization.
KEY RESPONSIBILITIES AND ACCOUNTABILITIES:
A Java Developer delivers software components that form part of an IUK product. In this role, you will:
- Write clean, secure and well-tested code
- Follow best-practice guidelines and help to improve those guidelines
- Operate the services and identify issues in the live environment
- Coach and mentor more junior colleagues
This is not an exhaustive list and you might be encouraged to undertake any other duties across the wider directorate, commensurate with the Band and level of responsibility of this post, for which the post holder has the key experience and/or training.
SKILLS NEEDED FOR THIS ROLE:
- Availability and capacity management. You can manage the service components to ensure they meet business needs and performance targets.
- Development process optimisation. You can explain the importance of developing process efficiency and the common ways in which processes are optimised. You can support specific activities to improve development processes. You can spot or identify obvious deficiencies.
- Information security. You can discuss information security. You can design solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services.
- Modern standards approach. You can competently use modern standards approach and guide others in so doing.
- Programming and build (software engineering). You collaborate with others when necessary to review specifications and use these agreed specifications to design, code, test and document programs or scripts of medium complexity, using the correct standards and tools.
- Prototyping. You see prototyping as a team activity, actively soliciting prototypes and testing with others. You establish design patterns and iterate them. You know a variety of methods of prototyping and can choose the most appropriate one.
- Service support. You can help fix faults following agreed procedures. You can carry out agreed maintenance tasks on infrastructure.
- Systems design. You can translate logical designs into physical designs. You can produce detailed designs. You know how to document all work using required standards, methods and tools, including prototyping tools where appropriate. You can design systems characterised by managed levels of risk, manageable business and technical complexity, and meaningful impact. You can work with well understood technology and identify appropriate patterns.
- Systems integration. You can build and test simple interfaces between systems, or work on more complex integration as part of a wider team.
- User focus. You know how to collaborate with user researchers, business analysts and product owners and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story. You can offer recommendations on the best tools and methods to be used.