ROLE PURPOSE: A Senior Software Engineer provides high quality software development outcomes via technical leadership, design and development activities. They take the lead on software feature creation, interacting with multiple team members and provide mentoring where required. They also participate in the development of the software development process and drive the creation and adoption of organizational standards. STRATEGIC RESPONSIBILITIES:
Lead quality development outcomes in software design and development in accordance with organization architecture and standards, participating in and devising solution approaches by analytical thinking
Identify, review and elaborate business requirements from a technical perspective and determine technical solutions
Assist in driving creation and improvement of software development process and quality assurance activities in order to improve product quality
Interact with customer representatives to capture feedback and domain knowledge to assist in ensuring that product development is in line with business objectives
Provide coaching and mentoring to other software development staff
DAILY RESPONSIBILITIES:
Identify, dene and analyZe requirements
Create and review design specications and technical solutions for medium-large features
Implement well structured code aligned to product architecture, driving robustness, modularity and testability
Reviews and provides feedback as an authority in ensuring development standards are performed consistently in line with organiZation standards
Fully participates in and provides feedback on the company's software development methodology, driving improvements
REQUIREMENTS:
Identify, review and elaborate requirements e.g. user stories, business rules and acceptance criteria
Present and negotiate outcomes with customers, management and peers
Provide reliable and repeatable accurate estimates of product change
ARCHITECTURE:
Dene, evolve and improve architectural solutions to satisfy functional and non-functional business requirements in line with the product roadmap
DESIGN:
Create, review and approve design specications for solutions that satisfy functional and non-functional requirements
Procient in effective design practices, ensuring consistent and concise (technical) design artIfacts
Identies and implements appropriate design patterns
Identies and implements improvements to existing features
Break-down, estimate and sequence work based on technical and business priorities
CODE:
Deliver high quality well structured, robust, modular and testable code aligned to the product architecture
Ensure team code is delivered according to organizational standards and best practices
Provide coaching and support to other software development staff to improve the organizational capability
QUALITY ASSURANCE:
Provide mentoring to other software development staff to ensure consistent, robust outcomes
Ensure that development activities are performed in line with desired organizational standards
Provide product quality assurance
PROCESS:
Understand and deliver against the organizational software development methodology
Review, propose and implement improvements to the methodology
Implement and improve the process toolset
Undertakes other work as requested
SKILLS, KNOWLEDGE, EXPERIENCE AND QUALIFICATIONS:
Relevant tertiary qualications (e.g. Bachelor/Grad Dip. Science/Computer Science/Software Engineering, IT Certication or similar) or equivalent practical experience.
At least 3 years experience in software
Development experience: at least 3 years experience in at least one of these elds:
An OO language
Web development
SQL
Android/iOS
Experience with software development and quality processes, especially Agile development
PERSONAL ATTRIBUTES AND QUALITIES:
Positive work attitude and
Clear spoken and written communication, able to interact professionally with a diverse group of customers and
Delivers high quality technical outcomes in line with estimates, meeting product and customer
A high standard in software development
Ability to use initiative and handle and prioritise multiple requests from different