Software Engineer (Software Engineering/Computer Science) - Year-Long Placement
STFC offers you an opportunity to gain paid practical experience as part of your degree. Each year STFC recruit up to 45 sandwich students who are able to use and develop the skills they’ve acquired at university in a working environment. STFC provides on the job learning while working alongside expert scientists and engineers on real projects. The skills learnt at STFC will aid students in further studies.
The ISIS neutron and muon source is a world-leading centre for research in the physical and life sciences at the STFC Rutherford Appleton Laboratory near Oxford in the United Kingdom. Our suite of neutron and muon instruments gives unique insights into the properties of materials on the atomic scale. Software lies at the heart of many ISIS activities. The Facilities Business Applications group has an opportunity for a sandwich student to join the team to help develop software used by the ISIS facility.
List of Duties/Responsibilities
As part of a team you will be involved in all stages of the software development lifecycle, from requirements capture through modelling, coding, testing and deployment. This will give first-hand experience of developing a product from conception through to maintenance using agile techniques. This placement will enable you to work on various software solutions that meet the evolving needs of our internal and external users.
During your placement you will be expected to:
- Communicate and work with fellow software engineers within the team on a daily basis.
- Communicate with users, scientists and management to understand their requirements and translate these into a specification.
- Design software solutions making use of various modelling techniques such as UML and mock-ups.
- Write clear, well-structured (mostly object oriented) code that implements the design and is easy to maintain.
- Write unit, integration and front-end tests following team practices.
- Take an active role in meetings including team meetings and code reviews.
- Take responsibility for ensuring your code passes all existing tests and new tests and that it deploys correctly to our test server.
- Deploy software solutions to production using our continuous integration server.
- Write documentation for technical and non-technical users.
- Support our users (internal and external) in using existing and new systems (2nd and 3rd line support).
- Training will be provided as necessary. In addition to a full induction and “on the job” training, students will have opportunity to subscribe to professional online tutorial sites, attend conferences, undertake various soft skills training, take part in our organisation-wide Early Careers conference where they can network with other students and graduates.
Personal Skills and Attributes
- This placement will give you the opportunity to put into practice the things you have learned at university and give you brand new skills and exposure to enterprise technologies perhaps not taught at university.
As a starting point we expect you to have:
- A strong academic background with very good module grades at university so far.
- A good understanding and experience of programming in Java, C# or similar language.
- A good understanding of relational database theory and SQL
We also expect you to be able to:
- Work with others on projects and solve problems of varying complexity together.
- Approach your work positively, with an open mind and be organised.
- Write and speak clearly in a way that is suitable for your audience.
- Take initiative and work effectively with limited supervision at times.
- A-levels or equivalent qualifications or experience
- Studying for a degree in computer science, software engineering or any other IT related degree with a strong element of computer programming
Knowledge/Skills and Experience
- Experience of object oriented software development in Java, C# or a similar language.
- Knowledge of relational database design and SQL
- Knowledge of database environments such as Oracle and SQL Server
- Knowledge of modelling and design tools such as UML
- Knowledge of web services and XML
Personal skills & Qualities
- Good communication skills
- Demonstrate good team working capabilities
- The willingness to learn new skills, both technical and non-technical
- Open minded and flexible in relation to the type of work assigned to them
- Good organisational skills
- Excellent problem solving skills
- Ability to take initiative and to work effectively with limited supervision at times
- Experience does not have to be paid experience. For example, it could be some project you have done as part of a university module, a personal project or an open-source/volunteer project you have contributed to.
Remember to mention TARGETjobs when contacting employers!