The Senior Software Engineer provides analysis, technical design and coding skills to enable the ongoing development and maintenance of the company portfolio. A Senior Software Engineer also takes on a mentoring and technical guidance role for other Software Engineers. You will be assigned to project based development authorized via Product Lifecycle Management (PLM), maintenance tasks, sales related development or customization tasks.
Undertake software development tasks as allocated including coding, writing technical specifications, testing and code release.
Achieve a high level of quality and meet agreed timeframes with minimal requirement for rework.
Assist with modelling recommended solutions.
Perform development tasks according to specifications identified and / or supplied.
Ensure all changes to the application are clearly documented with particular awareness of the need for others to interpret the code / design.
Ensure documentation is maintained to the prescribed standards (clear English style, highlighting reasons for change in straightforward business terms, in addition to an appropriate level of technical detail).
Adherence to company security and Policy Framework.
Ensure the technical design maintains a balance between functionality, usability and maintainability.
Assist with technical troubleshooting and resolution of reported issues relating to projects or product development.
Design appropriate short term patches for immediate release to customers, and for inclusion in periodic current release Service Packs.
Escalate all project risks to the Project Manager or Manager.
Attend client sites when requested to undertake consulting or programming advice.
Ensure all allocated tasks are followed up in a timely and professional manner.
Where applicable provide second level technical support to diagnose technical issues effecting customers.
Be involved in product related end-user training activities as required.
Provide mentoring and technical guidance to other software engineers.
Provide feedback to management in regards to technical or process improvements.
Proactively work with cross functional teams and stakeholders.
Liaise with other staff members, including support and implementation consultants, as directed.
Other duties as required.
Degree in Information Technology or in a related field
At least 5 years of experience in software development preferably ERP related.
Experience in one or more significant business applications, preferably Enterprise Resource Planning (ERP) based.
Knowledge of procedural and/or object based language development.
Knowledge of any 4GL language.
Understanding and experience of software engineering environment and the Software Development Lifecycle (SDLC), including Agile Methods.
A highly analytical approach to problem solving and an ability to apply lateral thinking techniques to such problems.
An ability to find the most expedient and appropriate method to solve a software problem while minimising risk.
A breadth of design level thinking which can see the “bigger picture” in recommending possible long term solutions, while dealing in real time with shorter term approaches to meet specific challenges.
Understanding of Quality Assurance procedures and the Engineer’s responsibilities within such processes.
Understanding of transaction-based business systems and basic accounting.
Understanding of Business Intelligence and Analytical Reporting.
Experience in mobile application development platforms.
Experience in web related technologies.
Preferred skills and attributes:
Pro-active attention to detail.
Customer Service skills.
Accuracy and time management.
A mindset dedicated to quality.
Lateral thinking, and ability to predict likely run-on effects of code change.
Keen awareness of consequences of poor quality.
Initiating actions to prevent and rectify non-conformity.
Identifying, recording and disseminating observed quality problems.
Limiting further development or delivery of non-conforming software until the deficiency or unsatisfactory condition has been corrected.