Reporting to the Lead Software Developer the Senior Software Developer is responsible for Software Design and Development deliverables on a program, multiple projects and/or small changes across the company.
The Senior Software Developer works as part of a cross functional team to design and develop first class IT solutions that support the business, supporting the Lead Software Developer to ensure that strategies, tools and specialist skills are available.
- Designing and implementing standards for the technical design of software solutions that support the Business and IT strategies
- Producing detailed designs for software solutions that allow you and other team members to develop against.
- Identifying technical options and associated benefits, costs & risks.
- Ensure that development practices and software solutions meet the IT security constraints and guidelines
- Understanding the implications of feasibility of systems design and integration
- Reviewing of other team members technical designs to ensure adherence to standards, strategies and to support learning and development of the team
- Promoting awareness of
- Emerging technologies and techniques
- Test Driven Development
- Object Oriented and SOA design
- Use of Design Patterns
- Contributing to maintaining architecture and design consistency across the team.
- Contributing to the strategy for continuous integration and setting up automated software development and release pipelines
- Managing continuous integration and deployment within the team
- Defining the coding standards in collaboration with the team
- Contributing to defining R&D techniques including setting up proof of concepts.
- Developing and amending the code as documented in the design and ensuring it meets the specification, follows standards, is performant and is maintainable
- Ensuring that software solutions are delivered on time, and to high standards of quality
- Contributing to code reviews both as reviewer and reviewee
- Working closely with change managers and testers to understand requirements and plan a solution
- Contributing to each time box planning session, including providing development estimates and ensuring that all tasks are covered in the delivery plan
- When production problems occur, responding efficiently and effectively to address issues to minimise business disruption
Leadership and Management
- Inspiring and motivating individuals and teams by demonstrating drive and enthusiasm to achieve
- Coaching and mentoring team members to ensure the standard of the development remains high
- Contribute to the definition and monitoring of departmental Analysis Standards, police, processes and procedures
- Contrite to the review and introduction of industry best practices, tools and techniques
- Contributing to the design and implementation of performance and quality measurement metrics.
Standard Business Principles and Accountabilities
- We have defined standards of performance to meet external and internal customer requirements. All staffs are expected as part of their day to day job role to meet and where possible exceed customer expectations of service and seek value for money in all aspects of their work.
- To promote and implement our Equal Opportunities, Customer Service and Performance Policies in all areas of work, both internally and externally.
- Duties may involve having access to information of a confidential nature that may be covered by the Data Protection Act, be commercially sensitive or relate to customer information. In such circumstances confidentiality must be maintained at all times in accordance with the company’s policies. If you are unclear at any time, refer the matter to your manager.
- All employees have a statutory duty of care for their own personal safety and that of others who may be affected by their acts or omissions. Employees are required to co-operate with management to enable us to meet its own legal duties and to report any circumstances that may compromise the health, safety and welfare of those affected by our undertakings.
- Undertake all reasonable personal development activity designed to support you in your role.
Skills and Experience
- Experience of application development within medium to large team developing complex business systems.
- Experience of developing effective user interfaces
- Working knowledge of web service based integration
- Experience of mentoring and coaching more junior team members
- Expert knowledge in Microsoft .Net technologies, Microsoft SQL Server and supporting technologies
- Design skills, particularly around Object Orientation and Service Orientated Architecture
- Test Driven Development
- Continuous Integration
- Strong working knowledge of relational database design and SQL
- Practical experience of development methodologies e.g. Agile, Scrum and iterative development
- Able to work effectively across multiple change projects or change activities simultaneously
- Ability to think creatively and generate innovative solutions
- Performance Tuning
- Software Architecture patterns and Principles
- Team Foundation Services
- UX Design
- Awareness / experience of working with Solution Architects
- GCSE passes or equivalent in English and Maths
- 2:1 Degree or above in Software Engineering related subject