Senior Software Developer
Senior Developer £55k - £60K Richmond - London Successful candidate will be required to obtain SC clearance and will need to have resided in the UK for the past 5 years or more. In this varied and challenging role, you will create, develop and enhance these innovative and high-profile services, ensuring that they are capable of handling the latest digital records as diverse new record formats are transferred to the archives for permanent preservation and access. You will have the opportunity to work on new initiatives, currently in discovery phase, as well as working on the development of live services. We are a recognized research organisation, and you may also have the opportunity to contribute to our programme of technical research, and to talk about your work at conferences and meetings You should be passionate about technology and information management, and your own skills development. Your creativity and experience will be essential to the organisation to inform and shape the design and development of new processes and services. You will be motivated to find solutions to complex problems and will frequently look for opportunities to do things better. You will liaise with Heads of Department, technical staff throughout the Digital Directorate, and colleagues across our company and beyond; the role will be varied and challenging. Our new services will build on our award-winning Digital Records Infrastructure (DRI) which securely stores our rapidly increasing digital collection, operating at petabyte-scale to ensure the long-term preservation of vital public records. Government websites, the records of significant public inquiries, the decisions of senior officials, ministers and prime ministers and the nation's digitised history from the 11th to the early 21st century are all to be preserved in the system. We currently operate a series of batch-processing workflows constructed predominantly in Scala, Java, XSLT and XML Schema running in a Red Hat Enterprise Linux environment. You will influence the future design of the system and will be responsible for helping to set technical direction, mentoring staff, undertaking code review as well as writing high quality, robust code yourself. You will be an expert in one or more programming languages, with a good level of knowledge of others; familiarity with Linux would also be an advantage Responsibilities Lead on and undertake design, development and maintenance of our digital products and services: setting technical direction, developing code, supporting less experienced members of the team and working with external suppliers when necessary Work closely with the Lead Developer and liaise with key stakeholders, ensuring that the needs of the business are met effectively and developing a range of services in line with The digital strategy Develop and promote the use of relevant software development standards to ensure product quality Mentor team members in existing and new technologies, undertaking code review and agreeing goals for continuous self-improvement Undertake production system support, taking ownership of issues through to successful resolution so that the operation / availability of our systems is maintained effectively Be an active part of the wider external development community, identifying good practices we can adopt and sharing our experiences Evaluate and recommend relevant software technologies and products to ensure that The we gain optimum benefit from technological advances Develop and maintain a high degree of knowledge of digital preservation technologies and the latest world-wide developments in the field ensuring that TNA colleagues are kept appropriately informed Represent the Digital Archiving department as and when necessary, and take an active role in departmental and directorate planning Essential Skills Strong track record in technical development and in delivering complex, production-quality applications. Excellent experience of programming in Java. Excellent working knowledge of XML Schema; experience of processing large XML documents or languages such as XQuery and Schematron would be a bonus. Experience of development in a Red Hat Enterprise or CentOS Linux environment Working knowledge of Test-driven / Agile methodologies. Highly motivated and able to work independently or as part of a multi-disciplinary team, maintaining strong working relationships both within an organisation and externally. Excellent ability to analyse and problem solve, and good organisational skills coupled with the ability to work to a high degree of accuracy. Desirable skills Experience of developing, deploying and debugging applications on Tomcat. Good understanding of Source Control Tools, such as Git. Experience of continuous integration (Jenkins) / testing methodologies (TDD / BDD). Experience of Scala or a desire to learn Scala.