Job Introduction
BPP Education is entering a new phase of its growth and evolution, attracting thousands more students each year and expanding into new verticals and new markets globally. The BPP Product & Technology (P&T) organisation is evolving rapidly, and driving transformation of its platforms, digital products and experiences, in order to help BPP Education scale and meet the growth of the business in the coming years.
We have recently launched our BPP Product & Technology blog on Medium so to hear more about us and what is going on please do check it out - https://medium.com/bpp-technology`
What does the day to day look like as a Senior Software Engineer at BPP:
Join us as a Senior Software Engineer at BPP, where each day unfolds with a blend of innovation, collaboration, and continuous improvement.
Reporting to the Engineering Manager, your role is pivotal, bringing your technical expertise to our growing product engineering teams. You'll leverage modern software development practices to deliver business value at an agile pace. Beyond designing and building highly complex systems, you'll showcase your leadership prowess through the mentorship of junior team members.
In this key role, we're transforming BPP Education into a customer-centred, design and data-informed hub. Your contributions are vital in building products that not only meet but exceed our users' needs across our education ecosystem.
Your influence extends beyond coding; you architect solutions that redefine standards, ensuring clean, efficient, and well-documented code in alignment with our coding practices. Engaging in collaborative code reviews, you champion quality and future maintainability, fostering a collective commitment to excellence.
Your impact goes further as a mentor, guiding other engineers. You impart not just knowledge but a culture of best-in-class engineering—embracing clean coding, pair programming, strategic debt management, and the prowess of cloud-native solutions.
In your pursuit of continuous improvement, you're not solely reliant on metrics; you dive into observability metrics and user feedback, steering our technical progress with insightful analysis.
Staying ahead is not just a practice; it's inherent. You're not merely aware of industry best practices; you're at the forefront of emerging technologies and trends, ensuring our software engineering landscape remains cutting-edge.
Join us on our mission to be the best engineering team in the higher education sector in the UK, to deliver innovative and user-centric software solutions that enhance the academic experience for students, faculty, and staff!
What we are looking for from you:
- Proven experience as a senior (or similar level) software engineer working in an agile environment.
- You will have deep knowledge of modern full stack and cloud technologies focusing on Node.js, Typescript, serverless AWS, Terraform and React
- You will be an expert in test driven development practices using frameworks such as Jest, Cypress and React Testing Library.
- You will be passionate about fostering an inclusive environment, supporting the learning and growth of a diverse group of engineers.
- You will be an excellent communicator and storyteller able to articulate your thinking to a diverse group of stakeholders.
Our Interview Process
We have designed our hiring process to be efficient and to help you show your best self. Our interview process is three rounds:
- A 30-minute call with a member of our talent team.
- A technical screen with a hiring manager, this will typically be with one of our Engineering Managers or Heads of Engineering.
- Final interview – This will include a technical interview for 90 minutes with two of our Software Engineers alongside a values interview for 45 minutes which will be a behavioural and competency-based interview.
Our Talent Acquisition team will be your main point of contact and prep you for interviews. You will meet 4 to 5 individuals in engineering, ensuring a diverse panel to reflect our inclusive hiring practices and be given opportunities in each interview to ask them questions. We will provide interview feedback to every candidate that interviews with us and our average interview process takes between 2-3 weeks in total.
How we work at BPP
We have offices all over the UK, however our Product & Tech roles are primarily based out of our offices in London (soon to be near Waterloo) Our overarching flexible working principle is - We're all trusted, engaged in what we do, and are all individually best placed to balance the varying demands on our time from work, family and any other commitments we might have.
The emphasis is on looking after our responsibilities and achieving great things, not watching the clock. Unless you're a remote worker, we expect you to be in the office a couple of times a week, aligned to the days your colleagues are in, to build better relationships and get the benefits of face-to-face communications, as well as those ad hoc discussions that aid problem solving.
Our Technology Stack
We use a modern technology stack that allows for rapid iterative delivery using the best-in-class standards and principals that drive up quality and focus on the customer experience. We are building a service-based architecture driven by events and are cloud native with AWS.
On the front-end we are creating amazing user experiences for our customers with Next.JS, React &Typescript, using Node & Python on the server side and GraphQL to power our middleware APIs.
At the core of our products is our data, we leverage a combination of relational and non-relational data stores such as RDS, Redis & Dynamo.
To productionise our digital products, we use Terraform to provision our infrastructure and GitHub Actions as our CI/CD pipeline. In our pipelines we run our Unit, Automation and Security tests to keep our quality bar high.
We leverage tools such as Localstack to replicate the AWS environment on our development machines and ensure that we have the best developer experience possible.
In AWS, we are leveraging much of its native functionality. Fargate is used to host our web applications that are built on Next.js. We are using AWS AppSync to power our GraphQL middleware and AWS EventBridge as our serverless event bus. We are utilising other core features of AWS that enable us to create solutions for our customers.
Behind all of this, we make community driven decisions on all things tech by leveraging RFC’s (request for comments) and ADR’s (architecture decision records). This ensures that we document our decisions and that decisions are informed and agreed upon by the technology community.