At RX we build new capabilities to support our global events, creating a market place and connecting Exhibitors and Buyers. The Principal Software Engineer will work as part of a highly motivated and collaborative, distributed cross-functional team. Using a modern tech stack, agile & devops principals to create services that are of high quality and can deploy changes to production with confidence, safely and reliably.
You will be designing and creating core services. Working collaboratively with Technical Leads and Product Owners to validate and ensure delivery teams create a services ecosystem that is consistent, reliable and performant. You will provide technical leadership, researching and producing technical guidelines and documentation in-line with RELX and industry best practices. You will partner with other external teams to align on goals and support continuous improvements.
You will be responsible for adding value and creating business impacts for RX in the following areas:
- Excellence: The focus is on simplifying, innovation, clean design, efficiency, streamlined operations, delivery, high quality, reliable, secure solutions and long-term sustainment.
- Product Leadership: The focus is on delivering products and services on time and above customer expectations, understanding lifetime value concepts, being close to the customer and creating impacts
- Teamwork: The focus is on collaboration, communication, support, being SMEs, continuous improvement, having a collective shared responsibility for solutions, and delivering outcomes.
- Problem solving: The focus is on having a questioning mind-set, utilising systems thinking that enjoys investigating, taking action and feeling responsible for delivering results
- Deep knowledge and understanding of Software Development Philosophies, Methodologies and Processes.
- Experience of defining and successfully rolling out technical strategies and standards across an engineering organisation
- Experienced in Service-oriented architectures and knowledgeable of the benefits of taking a micro-services approach to engineering.
- Advanced understanding and experience in software development, application and infrastructure architecture for enterprise web applications.
- Advanced understanding and experience of all types of testing such as unit (including mocking and behavioural testing), performance, security and other functional requirements testing.
- Advanced understanding and experience of relational and non-relational databases and when to use them.
- Advanced understanding and experience of version control systems, Continuous Integration & Delivery/Deployment Pipelines and why we use them.
- Hands on experience with Cloud infrastructure and services
- A level of Technical Leadership experience that can steer the culture of software engineers and drive the same passion for change.
- Good Documentation writing skills and ability to convey and explain complex technical information to non-technical staff.
- Active participation in the wider Software Engineering community.
You will have experience in many of the following technologies and practices, or equivalent and be ready to learn where gaps exist.
- Agility: Scrum, XP, Pair programming
- Design: SOLID Principles, KISS, YAGANI, Design patterns, Domain Modelling, DDD, CQRS, Event Driven Architectures, micro-services and message Queues
- Testing: Continuous Testing, TDD / BDD, Logging, Integration Tests, Performance Testing
- Software Factory: Git, Build Orchestration, Artefact Repositories, Sonaqube, powershell, green-blue deployments
- Security: OWASP Top 10, Privacy By Design
- Cloud: AWS, Lambda, S3, SQS, SNS, Cloudformation, IaC, chef, Immutable Infrastructure