Principal Developer

Technology – London

The Role: 

 We’re looking for a dynamic Principal Developer who will report in to the Director of Software Development. As a Principal Developer you will be:

  • Expert in a variety of technical areas
  • Using this expertise and working across disciplines to help multiple teams work effectively
  • Developing capability by facilitating internal mobility, shaping career paths, recruiting talent and facilitating collaboration
  • Identifying, testing and championing the adoption of emerging technologies

You will influence teams to adopt best-practice engineering principles based upon both our and the client’s agreed standards. You will also help to build our wider software and data engineering capability, inputting into strategy and standards and helping other developers reach their potential.

 As an engineer:
  • one or more of Java 8+, NodeJS, JavaScript (ES6),
  • relevant web frameworks e.g. Spring, React, Angular
  • Docker and either AWS or Azure
  • SQL and NoSQL solutions and when to use them
  • writing clean code and clear tests
  • DevOps principles for continuous delivery
  • drawing high-level architectural diagrams to evolve and communicate design
As a leader:
  • building trust with stakeholders and foster high-performing teams
  • coordinating business, resourcing, engineering, architecture and infrastructure needs
  • designing maintainable, scalable and secure services
  • enabling delivery without incurring undue technical debt
  • mentoring and managing other senior software engineers
  • working with other Principal Developers, the Director of Software Development and others to evolve Engine Transformation’s engineering strategy
  • Trouble shooting
Responsibilities:
  • Define and assemble development teams for client projects
  • Define ways of working in the context of specific project engagements
  • Lead the design of solutions and technical architectures
  • Participate in the selection of technologies for projects
  • Oversee the work of development teams, reviewing work, providing feedback and mentoring team members
  • Taking overall accountability for the quality of the development work on the projects you are assigned to
  • Participate in the ongoing development of our technology practice, including recruitment and development of staff and development of working practices
  • Engage in pre-sales activity
Key skills:

Development Management:

  • Recruitment
  • Development planning
  • Coaching and mentoring 
  • Quality management
  • Appreciation of BA and QA disciplines
  • Experience of large project environments

Technical Architecture Development:

  • Design of application architectures
  • Provision of guidance to teams on technical design

Development skills:

  •  Ability to develop and mentor in at least two languages that we use (Java, Node, Javascript, Python, Ruby, PHP)
  • Knowledge of relevant frameworks and modern database platforms
  • Deep understanding of coding practices such as The 12-Factor App
  • Solid experience Continuous Deployment with hands on experience using and configuring dev ops components Behavioural
  • Strong leadership skills with a passion for helping and inspiring others to achieve their best
  • Clear presentation skills
  • Ability to work under pressure 
  • Pro-active and willing to suggest and drive through improvements