The Principal Engineer is responsible for the technical leadership for complex strategic systems and product development, including designing and documenting technical frameworks and architectures and leading the implementation from a development and engineering perspective.
- Responsible for providing technical leadership in Agile development teams
- Ensuring architecture design is realized in the end product
- Support and influence selection and adoption of core technologies, development tools and standards in conjunction with Architects, Directors and Senior Engineering Managers
- Key contributor to defining and governing development standards and processes working with Engineering management
- Partner with product owners, architects and managers across the enterprise, to identify business needs and appropriate technical solutions.
- Development of prototypes and Proof of Concept applications as required to prove new architectures and technologies
- Lead the development of core frameworks and services
- Communication and stakeholder management of technology and business stakeholders
- Provide technical guidance and coaching to engineers to support business and operational partners.
Knowledge & Skills
- At least 8 years experience in software engineering with at least 2 years in a technical lead role
- Excellent understanding of business challenges around delivery of Digital solutions at pace within a large organisation;
- Ability to translate and articulate business requirements in terms appropriate to the audience; ability to determine the best technical solution to meet a business outcome.
- Experience with Domain Driven Design, Micro Services, API First, Cloud Stacks, Structured and Unstructured Databases and Big Data Platforms.
- Have a strong architecture background with deep knowledge of large scale enterprise business systems and solutions integration. Provide technical thought leadership and proven ability to compare and contrast different technologies to meet a business requirement and influence key stakeholders leading to adoption. Have in-depth conceptual functional and non-functional knowledge of:
- Service architecture - Experience of API and service based architectures using REST APIs, micro-services and utilising JSON for web applications
- Enterprise scale distributed NoSQL solutions including: MongoDB, in-memory databases and caching solutions adopted for globally distributed Digital solutions
- CI/CD - tools such as Confluence, Jira, Jenkins, Git, Stash, SonarQube, Performance centre
- Cloud Technologies - PaaS/IaaS/SaaS –Amazon Web Services (AWS), Azure, etc
- Methods and delivery - DevOps processes and experience. Strong understanding of lean and agile methods of software delivery including Scrum, Kanban, Lean User Experience (UX), XP
- User Interface (UI) - Solid awareness of cross-browser/device “responsive” development. Standards compliant HTML, Cascading Style Sheets (CSS), Bootstrap
- User Interface (UI) - Knowledge of implementation considerations for UI technologies including jQuery, AngularJS, Node.js, Ember.js, React, Dojo, Backbone.js
- High availability and contingency solutions
- Excellent written and spoken communication skills with experience of successfully influencing others, negotiating effectively and winning over audiences with compelling and persuasive presentations
- Detail oriented with a passion for Quality
Can do, Will do attitude.