As a Senior Software Engineer, you’ll work with and sometimes lead an Agile team tackling real-world problems. So you’ll be familiar with a range of software engineering methods, languages and frameworks, like JavaScript, Java, C++, Node, Python, Rust, Go and .NET. With your knowledge you’ll ensure best practice at all times, seeking out opportunities to learn and develop not just your abilities, but those of others – whether that’s liaising with technical and non-technical customers or mentoring junior team members. And whether you’re reviewing pull requests or defining review, branching and deployment strategies, you’ll assist key projects and in doing so, influence the wider engineering community. You’ll have the autonomy to undertake your role, whilst being supported by those around you. You’ll have a lot of freedom. You’ll work closely with colleagues, and we’ll trust you to decide the best way to get things done to meet the needs of the mission. Above all there is a strong purpose to your work as a Software Engineer for GCHQ. You’ll be central to our work to keep the country safe. As a Senior Software Engineer, you’ll want to show us your potential and aptitude – we’re not looking for you to be ‘ready-made’. You may have experience working in, and leading, Agile project teams. With sound communication skills, you’ll demonstrate a keenness to collaborate with people of all levels of technical ability and have experience mentoring and developing the engineering skills of others. With your knowledge of modern computer languages and frameworks such as C++, GoLang, Java, JavaScript, .NET, Node, Python, Rust or Cloud (AWS, Azure, GCP), you’ll contribute to the architecture and design of new and existing systems – and deliver positive outcomes for the business. Resilient and self-motivated, you’ll work with minimal guidance and critically assess your outputs, as well as the work of others inside and outside the team. And, with your previous experience in a technology role (such as Software Engineering, Quality Assurance, Technical Architect or Networking), you’ll establish best working practices and confidently evaluate customer and business requirements. And of course, you’ll keep up with new and emerging technologies, and look to lead in their adoption to solve mission problems. As a minimum you’ll have experience of being in a role with hands-on coding and have previously taken ownership of a project or piece of work. This may include experience in one of these roles: Multi-skilled Software Engineering, Cloud Engineering, UX, Site Reliability Engineering, Front-End design, Agile, Solution Architecture, Data Engineering, and Machine Learning Operations. Examples of potential training for a Senior Software Engineer include: AWS Cloud Practitioner Certification AWS Developer Certification AWS Solution Architect Certification Certified SCRUM Master Microservices Architecture Training Advanced Fundamentals Patterns Advanced Linux & CLI User Experience Internal Training – for example Team Leadership (difficult conversations, leading a team etc.) Cloud Academy Pluralsight O’Reilly Subscription.