The Senior Software Engineers main role is to design, build, and maintain software applications in their respective domain.
This is a hands-on technical development role and post holders will be highly proficient software engineers in at least one area of web / application development.
They will often take responsibility for small to medium d projects and will be expected to oversee the work of junior / mid-level software engineers.
The role involves working with a range of stakeholders : business product owners, Scrum Masters / project managers, other development teams, infrastructure, Service Desk, and the Press architectural team in order to design software solutions and to resolve issues.
Work closely with development team lead, business owners, analysts, project managers / scrum masters, and relevant other parties to understand and shape requirements for new development / troubleshooting of existing development.
Assist the Development Team Lead / Solution Architects with analysis and design of the over-all solution architecture.
To take responsibility for designing some components of an overall solution.
Creates elements of the software specification document set including : Class Diagrams, sequence Diagrams, and DB design amongst others.
To write project briefs, proposals, and implementation plans where required and on small to medium d projects for providing initial estimates.
Work with the UX / Product Teams and Product Owners in building world class website experiences for our customers
Responsible for the delivery on assigned modules / tasks.
Code, test and troubleshoot software programs utilizing the appropriate hardware, database, and programming technology.
Provide assistance to QA and service desk personnel as needed to diagnose system problems and to review / repair legacy code if required.
Review changes in code and the environment to understand and minimise negative impact on system performance.
Work closely with the infrastructure, build and release, database, and other related teams to ensure swift and efficient deployment of code releases to live (production) environments.
Build reusable components, templates, code and libraries.
Optimize applications for maximum speed and scalability
Supervision of junior / mid-level software engineers to complete deliverables within a given project / maintenance task.
Prepare reports and analysis regarding issues, incident in progress, opposing ideas and appropriate recommendations or conclusions.
To maintain and actively seek to utilise subject matter expertise across a range of technology trends and domains (to include electronic publishing, web & mobile development, and social media trends).
Participate in Agile and Scrum best practices as we strive for continuous integration and delivery