Principle Backend Developer
This is an excellent opportunity to join an outstanding company that provides cutting edge solutions to the telecoms, automotive and logistic industries. Our client is a XXmillion turnover business with decades of successful product innovation and growing sales.
They require a Principal Software Engineer / backend developer with significant .NET and Azure knowledge, who won;t be fazed by any problems when facing into the unknown. Any ticket on the backlog you are expected to be able to pick up and implement in a timely way that meets or exceeds the quality expectations, standards and business value goals.
The Role:
Software Engineers are responsible for engineering all of the systems, products and services.
This means being responsible for the software design, code implementation, test coverage and operation of effective
software and supporting toolsets within specific business and technology domains.
The role holder spends their time Exploring, Investigating, Developing, Enhancing and sometimes Decommissioning
our provided Tools, Product and Services all with the aim of delivering the backlog, roadmap and overall corporate
strategy with their success being measured by outcome value achieved and alignment to the agreed priorities.
This involves translating requirements into quality (meet required metrics) technical solutions then creating code for
products and services adhering to our engineering standards that’s maintainable, supportable and with minimal risk to operate and able to be deployed safely into a production environment for use by customers and colleagues.
The Principal Software Engineer is the top of the Individual Contributor within the engineering track and
as such ensure software deliverables meet quality standards and are delivered effectively. They are the go-to person
within their Centre of Excellence for tricky implementations; any problem should be easily resolvable by a Principal
Engineer. They intimately know the design, topology, methodology and wellbeing of their centre of excellence and can help, guide and support all other engineers on achieving successful outcomes.
Key to being successful is being responsible for creating a diverse, inclusive, and welcoming environment.
Key Responsibilities:
People
• Leadership of the engineering change within their centre of excellence able to guide and support other software
engineers in problem solving, code implementation issues and related challenges.
• Able to work in close partnership with others – Heads of Engineering, Solution Architect, Technical Programme
Manager and Leads to help to shape the engineering approaches, share knowledge and their experience.
• Able to influence colleagues in a range of different approaches to solve problems to gain wider or better results
and/or drive bigger benefits.
• Able to review code output and make constructive suggestions for future improvements.
• Represent the company externally at conferences, panels and industry events to ensure it is viewed as the leading
innovator within the engineering / signalling industry.
• Act as a thought leader – the principal point of contact for expertise on software issues, industry trends on developing technologies within their Centre of Excellence and seen as a role model, exemplar of demonstrating company values.
Process
• Accountable for resolving technical conflict when it arises able to balance a range of different viewpoints and
perspectives then apply their domain knowledge to provide guidance and support to their Engineering Lead when
making decisions.
• Guiding and developing, senior, mid-weight and associate team members through general guidance on best
practices in order to ensure the development of world-class software.
• Can take any task from the backlog and can shape, then break them down into defined, implementable tasks/subtasks that align to company Technology Standards and meet the Definition of Done/Story/Epic’s Acceptance Criteria.
• Routinely pairs with others along with reviewing and giving constructive feedback on others’ code.
• Review and writes tests using automated test-driven techniques to ensure code quality and future reliability.
• Provide frequent and accurate updates on ticket progress, expected timelines, work level outstanding,
dependencies, risks, issues and duration spent to Delivery Programme Managers.
• Is accountable for documentation accuracy and writes, updates and reviews all domain documentation.
• Comfortable to contribute in group discussions/workshops on design and technical models, articulating contexts
and boundaries and the rationale behind them, shaping the wider application landscape and identifying risks.
• Lead troubleshooting and resolution of issues throughout the product life cycle, including providing out-of-hours
support for incident resolution and performing root cause analysis.
Technology
• Skilled with full understanding of the systems delivered, technologies utilised, and approaches taken within their
domain (Centre of Excellence).
• Has understanding and can provide context on historical choices and can rationalise and validate future decisions
along with highlighting risks or areas that now require re-engineering.
• Work closely with Product to understand and translate roadmap items and needs into improvements in the domain, translating requirements into tasks and code and developing high-quality code that can lead to rapid delivery. This includes owning the scope, shape and prototyping aspects of technical implementations.
• Apply in-depth knowledge of multiple programming languages, associated frameworks, and the respective tool
ecosystem to create elegant solutions to problems.
• Adopt new languages and new paradigms and produce proof of concepts to evaluate new tools, applying them to
the problem domain where they deliver significant benefit.
• Continually learning and maintaining knowledge of the industry and competitor developments.
Ideal Experience and Knowledge Sought:
• Demonstratable experience designing, and building distributed systems, for scalability, availability and
performance and running whole system landscapes.
• Experience acting as a technical authority within a domain that uses multiple technologies.
• A pragmatics and viable track record of delivering large-scale, well architected complex solutions at pace.
• Confidently and competently share knowledge to other users, customers, and other team members.
• Strong understanding of running production systems in a secure, reliable and performant way.