Industry/Sector
Not Applicable
Specialism
Software Engineering
Management Level
Senior Associate
Job Description & Summary
At PwC, our people in software and product innovation focus on developing cutting-edge software solutions and driving product innovation to meet the evolving needs of clients. These individuals combine technical experience with creative thinking to deliver innovative software products and solutions.
Those in software engineering at PwC will focus on developing innovative software solutions to drive digital transformation and enhance business performance. In this field, you will use your knowledge to design, code, and test cutting-edge applications that revolutionise industries and deliver exceptional user experiences.
Driven by curiosity, you are a reliable, contributing member of a team. In our fast-paced environment, you are expected to adapt to working with a variety of clients and team members, each presenting varying challenges and scope. Every experience is an opportunity to learn and grow. You are expected to take ownership and consistently deliver quality work that drives value for our clients and success as a team. As you navigate through the Firm, you build a brand for yourself, opening doors to more opportunities.
Examples of the skills, knowledge, and experiences you need to lead and deliver value at this level include but are not limited to:
- Apply a learning mindset and take ownership for your own development.
- Appreciate diverse perspectives, needs, and feelings of others.
- Adopt habits to sustain high performance and develop your potential.
- Actively listen, ask questions to check understanding, and clearly express ideas.
- Seek, reflect, act on, and give feedback.
- Gather information from a range of sources to analyse facts and discern patterns.
- Commit to understanding how the business works and building commercial awareness.
- Learn and apply professional and technical standards (e.g. refer to specific PwC tax and audit guidance), uphold the Firm's code of conduct and independence requirements.
Level:
Senior Associate
Team:
- Delivery Excellence
- Tech Enablement
- We are seeking a highly skilled and motivated Back
- End Engineer to join our growing platform team. The successful candidate will have at least 4 years of experience in back-end engineering and will be responsible for designing, developing, and maintaining highly scalable, distributed systems using Node.js, NestJS, MongoDB, and Azure services.
- This role involves hands-on development, system design, collaboration with cross-functional teams, and a strong focus on performance, reliability, observability, and scalability. The ideal candidate brings a consultative mindset, deep understanding of microservices and event-driven architectures, and the ability to effectively leverage GenAI tools throughout the SDLC.
Key Role Information:
Experience:
4+ years’ experience
Must Have:
Node.js, NestJS, MongoDB, REST & GraphQL APIs, Azure Service Bus/Event Hub, CI/CD (GitHub workflows), distributed systems, GenAI tools in SDLC, observability (e.g., DataDog)
Nice to Have:
Next.js, Nx monorepo setup, serverless architecture (Azure Functions), test automation frameworks
Key Responsibilities
- System Design and Development
- Design and implement distributed back-end services using Node.js, NestJS, and MongoDB within a microservices architecture.
- Deliver secure, production-ready APIs (REST and GraphQL) that meet SLAs for performance, availability, and reliability.
- Leverage Azure services such as Service Bus, Event Hub, and Functions to build resilient and event-driven systems.
- Framework Development and Operations
- Develop reusable and scalable service templates and frameworks to accelerate development and ensure consistency.
- Implement observability, monitoring, and alerting using tools like DataDog, ensuring end-to-end visibility of service health.
- Contribute to improving CI/CD pipelines, GitHub workflows, and trunk-based development practices.
- Performance, Reliability, and Optimization
- Optimize service performance through efficient data modeling, indexing, and caching strategies in MongoDB.
- Ensure non-functional requirements (NFRs) such as performance, reliability, and observability are addressed early in the design phase.
- Participate in load and stress testing efforts to identify and remediate bottlenecks in distributed environments.
- Collaboration and Communication
- Work closely with front-end engineers, product owners, QA, and DevOps to ensure end-to-end quality and alignment.
- Actively participate in agile ceremonies, providing technical input in planning, grooming, and retrospectives.
- Communicate design decisions, trade-offs, and technical recommendations clearly to both technical and non-technical audiences.
- Continuous Improvement and Mentorship
- Apply GenAI tools across the SDLC for documentation, testing, code generation, and analysis to drive productivity and quality.
- Mentor junior engineers through code reviews, design discussions, and pair programming.
- Continuously evaluate emerging technologies and frameworks to enhance platform capabilities.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Engineering, or related field.
- Proven experience in back-end software engineering, distributed systems, and microservices architectures.
- Proficiency in Node.js, NestJS, and MongoDB, with strong understanding of schema design and optimization.
- Experience integrating with Azure cloud services including Service Bus, Event Hub, and Functions.
- Deep knowledge of RESTful and GraphQL APIs, including security and query performance tuning.
- Hands-on experience using GenAI tools for code assistance, documentation, and analysis.
- Solid understanding of CI/CD pipelines, GitHub workflows, and monorepo (Nx) setups.
- Familiarity with observability and monitoring tools such as DataDog, and readiness to lead post-deployment support efforts.
- Strong analytical, problem-solving, and communication skills.
- Experience working in Agile and DevOps environments.
Travel Requirements
Up to 20%
Job Posting End Date