• White LinkedIn Icon
  • White Facebook Icon
  • White Twitter Icon
  • White YouTube Icon

+447850 023435

Website built in Manchester by Park Design Labs

PA Consulting

Software

Engineer

London

07/10/19

Job Description

 

Bringing Ingenuity to Life

 

We’re an innovation and transformation consultancy that believes in the power of ingenuity to build a positive-human future in a technology-driven world. Our diverse teams of experts combine innovative thinking with breakthrough-technologies to progress further, faster.

 

With a global network of FTSE 100 and Fortune 500 clients, we’ll offer you unrivalled opportunities for growth and the freedom to excel. Combining strategies, technologies and innovation, we turn complexity to opportunity and deliver enduring results, enabling you to build a lasting career.

 

Isn’t it time you joined us?

 

 

Job Requirements

Become part of the Team

 

Do you find yourself frustrated working with legacy tools or processes; constantly finding the need to innovate new and fit-for-purpose solutions? These are the problems our clients ask us to solve. You'll also need to be a pragmatist, to understand the design constraints of projects and get the job done.

As a developer you will operate within a pod, you and your teammates are responsible for successful delivery of the project release using an agile methodology. We put a lot of trust in you and your pod to meet deadlines, and to find the rhythm and ways of working that suits our clients. You get ownership and control of the processes for taking your code into live.

 

Pods are a small team with a mix of technology skills, we supplement development expertise with DevOps (we emphasise the Dev in DevOps) and Test Automation specialists. The pod works together in a collaborative environment and you might get the chance to develop your DevOps or automation expertise. We also need you to also contribute to developing the pod, perhaps by sharing your expertise in a tool or mentoring teammates.

 

What We’re Looking for

 

Our clients have a vast array of technologies, but we aren't expecting you to have exposure to the whole toolkit!

 

You could be developing new back-end business logic in one sprint, and then looking at implementing a new MVC approach in the next. You probably have a core skillset, either in Java, .NET, or JavaScript, but it's your understanding of data structures, algorithms, libraries and development methods that are most important.

 

Working in an agile development team is highly sought after, where you're applying development practices such as;

  • Agile sprints to deliver incremental code.

  • TDD and/or BDD approaches, considering outcome at design. Knowledge of test automation.

  • Secure development and architectural practices, as well as knowledge of non-functional considerations.

  • JIRA for tracking progress and traceability.

  • Working alongside others in the team to develop design, elaborate user stories and deliver estimates during story pointing.

  • Reviewing code with your teammates to provide assurance on a release.

  • Developing code using CI/CD tools.

  • Working against a branching strategy, contributing code regularly to repo E.g. git, svn or cvs.

  • Resolving root cause analysis and troubleshooting solutions.

  • Using your working knowledge of OOP.

  • Implementing design and concurrency patterns.

  • Writing clean, readable, maintainable and reusable code

  • Appreciating scalability, high availability and disaster recovery requirements.

  • Using fundamental tools and languages E.g. SQL, Unix, CLI tools, PowerShell, Shell Scripting, HTML and CSS.

  • Web application frameworks E.g. ASP.NET, PHP, PERL, Ruby, Python, Play, Spark.

  • External and embedded databases, relational and NoSQL, E.g. MongoDB, MySQL, Flink, Cassandra, SQL Server, Postgres. Developing schema for supporting business logic and data.

  • Developing solutions in the cloud, using either Amazon Web Services (AWS), Google Cloud Platform (GCP) or Microsoft Azure.

  • Microservices architecture, including containers and serverless implementation. E.g. Kubernetes, Docker, OpenShift, AWS Lambda, Cloud Functions (GCP and Azure).

 

PA’s core technology stacks:

 

Java

  • Java 8+

  • MVC, JDBC and RESTful

  • Knowledge of JVM, its limitations, weaknesses, and workarounds

  • Building tools such as Ant, Maven and Gradle

  • Using a range of technologies and libraries in the Java ecosystem.

 

JavaScript/MVC

  • Client-side scripting and JavaScript frameworks, such as jQuery

  • Various MVCs, understanding the difference between them, and when one makes more sense than another. E.g. Backbone.js, Angular.js, React.js, Vue.js, Node.js.

  • Pushing business logic into browser rather than server.

  • Image authoring tools.

  • SEO principles and developing compliant applications.

 

.NET

  • C#

  • .NET Web Framework

  • .NET Core

 

Your Accountability

 

As a Senior Software Engineer, you'll be leading a team or effort. We'll be looking at you to set direction and take responsibility for successfully achieving an outcome or deliverable. You may have a team of people to support, leading a development pod, or else you could be working across multiple pods, providing some centralised expertise necessary for a larger program of work.

  • You'll have expertise in architecture and will feel comfortable leading higher level architectural discussions.

  • Using your experience of the development process, it’s likely you’ll own the overall process across a pod, or multiple pods, building strong principles and putting robust methods and patterns in place.

  • You will be comfortable having conversations with the client regularly, being one of the main points of engagement between the client and the project.

  • Coaching and mentoring the team will be important in the role.

  • Your involvement in shaping bids (working with a bid team) will assist to create approaches or proposals, and perhaps you may also add valuable contributions during presentations to clients in a formal selection process.

  • You'll play an active role in account management.