Connecting to LinkedIn...

Principal Software Engineer - MS .NET / C# / JavaScript

Job Title: Principal Software Engineer - MS .NET / C# / JavaScript
Contract Type: Permanent
Location: London, England
Industry:
Salary: Negotiable
Start Date: asap
REF: P/PSE/SARA_1638546185
Contact Name: Sara Rowe
Contact Email: sara.rowe@projectpeople.com
Job Published: about 2 months ago

Job Description

Principal Software Engineer .NET / C# / JavaScript /Angular / React / Azure / AWS

Permanent. London based with flexible working.

Job Introduction

Now is a great time to join the Technology team of leading broadcasting company. Over the last 2 years we have built and migrated a whole host of on-prem legacy systems on to a brand new Application and Integration platform in the cloud - mostly on Azure with some AWS too, and now we have a number of exciting new projects that need new cloud-first solutions.

We build and integrate the complex systems that power the Studios, ensuring they operate at scale, are highly secure, and run with minimal support. Our applications enable the Company to produce and sell world class TV and we expect our software to be delivered to the highest quality.

Our landscape is one of complex distributed systems, microservices, messaging and APIs. Our applications are used around the world 24/7 and we don't like downtime. Our UX must be modern, intuitive, accessible, and attractive. We expect to get hacked so security must be baked in from the start. Our build pipelines are fast and complicated, and our deployments are one-click.

We have hard problems and you should expect to be challenged. We expect our staff to always be learning on the job, to be proactive and to be a team player. We regularly adopt new tools and the latest versions of frameworks that we use to get things done and we expect you to do your best work here. Your colleagues will be knowledgeable and supportive and will help you to grow and you will share your knowledge widely too.

The Company offers an inclusive workplace where the principles of fairness, respect, equality, dignity, and autonomy are promoted and are part of our everyday goals and behaviour. We select candidates for our positions based on merit and as an equal opportunity employer we value diversity and all the benefits it brings.

What is the role?

Reporting to the Software Engineering Manager, you will be a key member of the engineering leadership team within the development team. Every day, you will work closely with your project team to deliver high quality software, coaching and mentoring engineers through their day-to-day technical decision-making, supporting product owners to prioritise their backlogs and helping analysts and testers understand complex systems. Above all you will lead delivery of high-quality software.

You will help the team define best practices and lead by example to help them achieve effective delivery and engineering excellence. You will be in a key position of influence amongst your engineering peers and will bring insight of the opportunities and challenges faced by our users to help define technical strategy.

You will run stand-ups, support end users, diagnose issues in production, perform code reviews, plan releases, build deployment pipelines, write (and review) lots of code.

What are the responsibilities?

Technical

  • Design and development of effective software that meets strategic business needs for your immediate team and broader Company.
  • Provide knowledge and best practice to the broader Company in areas of specialist knowledge.
  • Provide technical knowledge, insight and leadership to peers and colleagues.
  • Be an expert on the Company's operating environments and play a part in shaping them.
  • Seek out new technologies, tools, and methodologies to evolve our development approaches and processes.
  • Design and review UI/UX to ensure it is accessible, intuitive, performant and consistent

People

  • Work with other senior technical people in the broader organisation to define, document and distribute best practice and standards.
  • Participate in the team's software development methodologies such as pairing, code and documentation reviewing, and continuous delivery.
  • Assist with recruiting, mentoring, and training new team members.

Delivery

  • Guide and encourage continuous improvement of your team's delivery and development processes.
  • Ensure alignment of the team's products and services with BBC technology and architecture strategy.
  • Support the communication of product and technical strategy to stakeholders at all levels.
  • Lead troubleshooting and resolution of issues throughout the product life cycle.
  • Work with project, product, and technical leads to define, shape, and deliver software.
  • Work with third party providers where necessary, providing direction, support, and documentation.

The Ideal Candidate

As an organisation we support all our colleagues in gaining new skills and experience. To be successful in this role you may have experience of some, but not necessarily all, of the following:

  • Expert knowledge of C# and automated testing
  • Deep technical expertise in at least one or multiple of: web development; backend services/APIs, distributed systems & messaging
  • Building one-click build and deployment pipelines that compile, run tests, create cloud infrastructure, and deploy new versions with zero downtime
  • Strong experience of hands-on technical leadership across multiple teams and stakeholder management with both technical and business stakeholders
  • Experience of driving technical improvements in a wider engineering community and best practice across multiple technologies, teams, and locations
  • Can design attractive modern UX that is accessible and attractive and follows a set of brand guidelines
  • Strong communication, able to explain problems and potential solutions in a way that enables a range of colleagues to understand and engage with the pros and cons of proposed technical choices.
  • Proven experience of working collaboratively with people from a range of backgrounds and experience.
  • A track record of iterating and driving increased team performance over sustained periods of time, in terms of technical solution quality, velocity and user success.
  • Significant experience working in areas with technical debt and operational complexity.
  • Strong experience of working with complex distributed systems and microservices/SOA.
  • Monitoring complex distributed systems using tracing, correlations, and dashboards

Tech stack

We use a wide variety of tools and technologies across our teams, and no one is expected to work with or have experience of, all of them. To give you an idea though:

For our APIs and back end services we primarily use C# and dotnet 5/core and aspnet on Azure, as well as persistence layers like MongoDB, ServiceBus and Azure Search.

For our user facing front end products we use web technologies, primarily JavaScript, Typescript, Angular, and NodeJS.

We also create and support reliable and scalable cloud based microservices on Azure and Amazon Web Services, use Git for version control, Teamcity and Octopus Deploy and we use lots of Terraform and Powershell.

Project People is acting as an Employment Agency in relation to this vacancy.