Overview:
The role involves leading a smaller squad within the wider software engineering function, responsible for the development, enhancement, management, maintenance, and integration of the company’s systems and applications. You will work as part of the overall software engineering team, collaborating closely with other business units to design new systems or enhance existing ones in line with evolving business requirements.
Key responsibilities include adherence to agile methodologies and principles, ensuring efficient and iterative delivery. Additionally, the role includes mentoring new team members and providing technical guidance to support their onboarding and professional development.
Responsibilities:
Lead the development of key GoFibre business systems working with the Head of Software Engineering
- Collaborate across the wider technology function on the strategic system direction balancing in house and purchased solutions to maximise operation effectiveness.
- Direct people management responsibility and providing mentorship and support to team members. Setting clear goals and expectations for individual team members and the team as a whole.
- Designing, developing, and implementing software solutions, often leading the technical design and architecture discussions.
- Responsible for development and maintenance of integration between internal systems
- Design and development of other software working with the Head of Software Engineering
- Responsible for regularly updating the leadership team on projects, owning & escalating issues with arise through to resolution
- Creation of efficient and accurate detailed technical documentation
- Contributing to design and technical decisions within the team
- Responsible for performing code reviews
- Be the role model in quality documentation development to align with in team working practices
- Lead and participate in Agile development processes, including sprint planning, stand-ups, and retrospectives.
- No budget responsibilities with FTE, but minimisation of the operational overhead as part of solution developed.
Mentoring: Coaches junior and mid-level engineers, sharing knowledge and best practices.
- People Leadership: Being a great boss, inspiring your team to perform at their best
- Problem Solving: Tackles complex technical challenges with innovative solutions.
- Code Reviews: Provides constructive, insightful feedback to improve team output
- Cross-Functional Collaboration: Works effectively with team colleagues, stakeholders and third party contractors.
- Clear Communication: Explains complex technical concepts to non-technical audiences.
- Conflict Resolution: Navigates disagreements constructively and diplomatically.
- End-to-End Ownership: Takes responsibility for the full lifecycle of features or systems.
- Proactive Attitude: Identifies areas for improvement and drives change without being asked.
- Reliability: Delivers consistently and meets commitments.
- Long-Term Vision: Aligns technical decisions with business goals and future scalability.
- Risk Management: Anticipates potential issues and mitigates them early.
- Innovation: Brings new ideas and evaluates emerging technologies for potential adoption.
Requirements:
Minimum of 5 years professional experience of python or C#/ Dynamics/ Vue development
Professional experience of PostgresSQL or other SQL databases
CI/CD experience, preferably with Gitlab
Experience of building and interacting with APIs
Experience in Agile tooling, like JIRA & Confluence
GIT Experience
Software Design & Architecture
System Design: Ability to design scalable, maintainable, and secure systems.
Design Patterns: Proficient in applying appropriate patterns to solve architectural problems.
API Design: Creates intuitive, robust, and well-documented APIs.
Programming & Development
Language Mastery: Deep expertise in one or more core languages (e.g., Python, C#, JavaScript). Microsoft Dynamics knowledge required.
Code Quality: Writes clean, efficient, and testable code.
Testing: Implements unit, integration, and end-to-end tests using modern frameworks.
Tooling & Productivity
Version Control: Expert in Git workflows (e.g., GitFlow, trunk-based development).
IDEs & Debugging: Efficient with development environments and debugging tools.
Package Management: Manages dependencies and builds using tools like npm, pip, Maven, etc.