DUTIES/RESPONSIBILITIES:
*Work closely with colleagues and customers on a daily basis and primarily through face-to-face communication to complete tasks.
*Discuss progress and notify senior staff of impediments during regular team meetings such as Daily SCRUMS.
*Discuss ideas with colleagues and review tasks and priorities in collaboration with other team members and senior staff.
*Contribute ideas on how the team can become more effective - at regular team meetings such as Sprint retrospectives for example.
*Mentor junior colleagues, analysing their strengths and weaknesses and providing advice and guidance to develop their skills and abilities (particularly their technical expertise).
*Actively listen to the advice and guidance of colleagues and tune behaviour accordingly - for example listen to suggestions from colleagues during pair programming sessions and code reviews.
*Speak confidently to groups of users or peers; Demonstrating ideas, concepts and software and answering questions.
*Discuss ideas with their line manager on ways to improve their performance and advance personal development - at personal development reviews.
*An excellent understanding of an object oriented programming, procedural, declarative or structured querying programming language.
*An in-depth understanding of at least one popular software development methodology (such as Agile).
*A good understanding of the principles of software craftsmanship and good software design.
*A good understanding of relational databases, database design and the Structured Query Language.
*Proven experience using an Integrated Development Environment (IDE) to write software code and produce elegant, robust and maintainable software applications.
*Practical experience using a popular software development framework (such as .NET or Java).
*A command of the principles of good software design using the principles of SOLID and object oriented programming.
*Practical experience of writing manual or automated unit and integration tests.
*A good command of English grammar and good writing skills.
*Practical experience using source control systems.
*The post holder will be familiar with Windows PC and server operating systems.
The post holder must be able to:-
*Analyse requirement's specifications (that maybe provided in a variety of formats) and assess their suitability before proceeding to the software build stage.
*Using technical expertise and experience, guide users and other stakeholders on the most effective way to solve business problems when developing bespoke software applications.
*Analyse the strengths and weaknesses of junior staff and provide advice and guidance, through mentoring, to improve their technical expertise.
*Solve complex technical and business logic problems, providing for the most part, elegant solutions that make use of suitable software patterns.
*Distinguish when it is appropriate to tackle problems using one's own initiative and when to ask for support from colleagues or more senior members of staff.
*Balance the need for adequate software testing and elegant design with the need to fulfil the delivery schedule set out by senior staff, customers and stakeholders.
*Assess the suitability of candidates for software developer roles within the organisation.
*Contribute to Personal Development Reviews by reflecting on his or her own performance and suggesting personal objectives to develop skills and improve.
Reference no: 14074
Jobseeker
Recruiter