The IT Services Team provides IT systems and infrastructure including mobile telecommunication.
They cover application design, development, testing and run a Service Desk providing support for both internal and external services. They also provide Business Intelligence reporting services.
They are a highly skilled agile software development team who embrace new technologies. They are always looking to improve. They investigate new technologies and implement those that improve their systems and development processes.
Who You'll Be
- Design and develop high quality software systems to support their business needs.
- Design and define application architecture.
- To be responsible for the definition and implementation of software design principles, practices, and standards which are aligned with overall business strategies.
- Lead by example, demonstrating best practice and supporting Software Developers and Testers in the team.
The specialist duties and responsibilities of the Principal Developer are to:
- Take responsibility for the architecture definition, system structure, the logical view, the physical view, the architecture principles and security
- Reduce the cost of changes to systems by ensuring appropriate tools, technologies, patterns and standards are adopted
- Provide advice and suggestions to the Software Delivery Manager, Software Delivery Coach and Enterprise Architect on software selection, application stack, databases, libraries, frameworks and technology standards to contribute to the overall Software Delivery Team approach
- Assess the non-functional requirements of new, existing and proposed systems and applications for performance, stability and security
- Act as career mentor for one or more members of the team to provide advice and guidance on career development
- Provide support, advice and coaching to IT colleagues on software development architecture principles and approach
- Work with internal and external customers to identify solution opportunities within the software development area that meet their requirements
- Provide technical leadership on development areas including design, code, unit test, bug fix and documentation
- Maintain and improve source code control, build process, continuous integration, automated testing, coding standards, coding guidelines, project practices, other development processes and tools.
- Identify areas of automation to improve business efficiency and effectiveness
- Work with the team to determine the most appropriate project methodology
- Deputise for the Software Delivery Coach as and when necessary to support development team
- Actively participate in daily stand-ups, contribute and engage in the sprint demo, sprint planning, sprint review, backlog refining and sprint retrospective meetings.
- Work alongside the Product Owner, Scrum Master, Business Analyst, Developers, SDETs and Testers to review and improve product requirements, produce estimates and prioritise features
- Manage their workload and support others in the team to meet the agreed sprint goal
- Routinely improve their own business domain knowledge and be knowledgeable in the domain in multiple areas
- Keep their technical skills up to date with regards to the technologies and identify new technologies which could improve software development, processes and practices
- Produce and document design artefacts as per C4 model
- Build and unit test software in accordance with their QA standards
- Produce high quality code by utilising the latest engineering best practices and tools
- Diagnose, resolve and prevent repetition of software errors
- Produce support and release documentation
- Coach and mentor developers to deliver the best return on investment for them
- Deliver training to developers on technology and practices
- Responsible for appropriate quality in a delivery-driven culture
- Be responsible for making decisions, sometimes in environments where much is unknown, where there may be limited time to explore alternatives.
- Excellent communication skills to ensure key technical decisions are understood by software delivery coach and manager as well as team members
- To work with the leadership team to help inform the strategy and vision of the software delivery team from technical perspective.
- Identify areas of risk (including but not limited to technologies, approaches and requirements) as early as possible, communicate the risk to the stakeholders and negotiate with the stakeholders to reduce the risk
- Carry out any other duties, appropriate with the grade of the post, as requested by the Software Delivery leadership team
What they expect from you
Deliver exceptional customer service to all their customers, both internal and external
Improve the performance of their by seeking new business opportunities and continually reviewing and implementing improved working practices and processes
Support this client in maintaining its compliance with the Conditions of Recognition and additional regulatory criteria.
Skills and Knowledge
- Proven 'hands-on' software development experience in a Senior/Principal Developer role
- Proven experience of leading on software solution design, architecture definition, system structure, the logical view, the physical view, the architecture principles and security
- Proven experience of providing support, advice and coaching to IT colleagues on software development architecture principals and approach
- Experience of translating business specifications into technical specifications
- Strong Microsoft .NET, .Net Core, ASP.NET, MVC, Web API skills, Entity Framework, XML, JSON
- A good working knowledge of SQL server, NoSQL, Azure DevOps, Windows Server, Visual Studio and GIT repository
- Experience in use of solution software design tools and techniques i.e. Visio, UML, BPML
- Experience in building and testing web services; JSON, REST / SOAP
- Understanding of dependency injection containers and frameworks
- A strong knowledge of TDD, BDD/DDD, object oriented concepts and design patterns
- Understanding Continuous Integration/Delivery Pipelines (Preferably with Azure DevOps)
- Excellent debugging and troubleshooting skills
- Strong problem solving skills and attention to detail
- Proven ability to coach and mentor across a range of technical and non-technical skills.
- Excellent written and oral communication skills, including good grammar and spelling
Abilities & Behaviours
- Ability to provide support, advice and coaching to IT colleagues on software development architecture principals and approach
- Ability to respond to feedback positively and willingness to reconsider decisions
- To deal with problems with enthusiasm and a willingness to solve these problems and find solutions
- Aptitude for acquiring knowledge, skills and new technologies
- Ability to maintain relationships with internal and external customers
- Ability to provide advice and suggestions to the Software Delivery Coach and Manager on software selection, application stack, databases, libraries, frameworks and technology standards to contribute to the overall Software Delivery Team approach
- Ability to confidently communicate level of risk of any change on the technical architecture to the Software Delivery Coach and Manager
- Ability to work on your own initiative and work to within deadlines
- Commercial focus
- Good team player
It would be even better if you also had...
- Proficient in use of Entity framework
- Working with Azure platform and services
- Experience working with enterprise service bus and message queues
- Experience working with NoSQL and micro services
- Degree level qualification or equivalent in a relevant subject
- Experience of the educational sector
- Proficient in extending and customising Microsoft Dynamics CRM
- Generous holiday allowance
- Pension scheme
- Great starting salary
- Opportunity for progression
- Flexible Time
- Home Working
Could this be the role for you?
If you’d like to have an informal chat about your potential in this role, book in a call with one of our friendly talent advocates on 0191 620 0123 who can provide details, advise and guide you with your job search.
Alternatively, follow us on our blog, Facebook, LinkedIn, Twitter or Instagram to follow industry news, events, success stories and new role releases.