Senior Software Engineer Job In London

Senior Software Engineer - BPP
  • London, South East England, United Kingdom
  • via Jobrapido.com
-
Job Description

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 such as Typescript, React, Node.js, Next.js & AWS.
  • 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.


Your First Three Months at BPP

The initial three months at BPP can be both exciting and challenging. Here's a breakdown of what to expect during this period:

Onboarding and Orientation: The first few weeks are typically dedicated to onboarding and orientation. You'll get acquainted with company policies, team dynamics, and the tools and technologies used within the organisation.


1. Learning Curve: Be prepared for a steep learning curve. You'll dive into the codebase, understand the architecture, and start working on smaller tasks to familiarize yourself with the development environment.

2. Mentorship and Collaboration: You may be assigned a mentor or work closely with experienced developers. Collaboration is key during this phase; don't hesitate to ask questions and seek guidance. Everyone understands that you're learning the ropes.

3. Code Reviews: Expect your code to go through rigorous code reviews. It's a valuable learning experience and a chance to absorb best practices from more seasoned team members.

4. Project Contributions: As you become more comfortable, you'll start contributing to ongoing projects. Your tasks may be relatively small at first, but they are essential for the overall progress of the team.

5. Feedback and Iteration: Embrace feedback. You'll receive constructive criticism on your work, which is crucial for improvement. Be open to iterating on your code and learning from every experience.

6. Company Culture: Use these initial months to understand the company culture. Attend team meetings, participate in discussions, and engage with colleagues. Building good relationships is as important as mastering coding skills.

7. Building Confidence: It's normal to feel a bit overwhelmed initially. As you gain experience and start delivering solid contributions, your confidence will grow. Trust the process and your ability to adapt and learn.

8. Celebrating Milestones: Take time to celebrate your achievements, no matter how small. Completing your first feature or solving a challenging bug is a significant accomplishment. Remember, the first three months are about acclimating to your new role, absorbing information, and contributing where you can. Stay curious, be proactive, and enjoy the journey of becoming a proficient software engineer.

;