Job Summary
The purpose of a Software Development Engineer is to develop code and implement the application as specified within the project plan and according to the client requirements. The Software Development Engineer generally work within teams, with the product owner and delivery manager assigning tasks and providing job support to aid the developers to deliver the application according to the client’s requirements.
Primary Responsibilities for the Role
Design, Implement and Maintain world-class Software
- Understands the technical design specification and commits to the deliverables.
- Ensures a clear understanding of the functional and technical design specifications and escalates any matters to the product owner and / or system architect prior/ or during development.
- Develop code and build the system according to the approved design and in accordance to Adapt IT Education programming standards.
- On instruction build prototypes as required by the product owner and / or system architects.
- Release software to clients on request or when required.
Ensure Quality Software Solutions are Developed
- Provide input and analysis on designs included in specifications on request.
- Provide project planning input as required.
- During the implementation of developed software, provide support and liaise with the support team on any issues occurring.
- Perform technical hand overs of major developments to the team, support and consulting team.
- Perform trouble shooting and effectively resolve reported incidents to increase solution stability and reduce intervention required over time.
- Provide technical support to the product owners, business analysts and UI / UX designers.
Design Fit for Purpose Solutions & Algorithms
- Provide input into the technical design specification to ensure the client’s requirements are met.
- Identify and assess risks during the specification process, ensuring that the risks associated with the development is manageable.
- Conducts research into appropriate technologies as directed.
- Provide technical direction and design on software development projects to business analysts and UI / UX designers.
- Identify possible system deficiencies and suggest improvements with guidance from lead software engineers and system architects
- Suggests alternative technical solutions to meet customer requirements more efficiently and effectively.
Developer Testing and Verification
- Tests code developed (including unit testing), prior to handing over software to testers, against the coding standards and design requirements.
- Conduct unit testing on peer code against the coding standards and design requirements, ensuring that testing scenarios are recorded.
- Correct all errors logged throughout the various testing phases and ensure quality coding standards and design requirements are met.
Mentorship / Training
- Provide code reviews on peer code by assisting others in developing and improving on their own skills in order to meet the required level.
- Provides guidance and support throughout the development process.
- Ability to mentor and assist others, and to lead internal training sessions.
- Mentor junior resources on specialised knowledge.
Key Competencies
Technical / Technology Skills
- Extensive understanding the full SDLC application development using Oracle technologies
- Extensive business process knowledge.
- Extensive understanding of programming standards.
- Extensive knowledge of the technical environment and tools used by Adapt IT Eduction.
- Unix
- PL/SQL
- Pro-C
- Java
- Oracle ADF
- XML
- Web Development Products
- SQL Developer
- SQL Performance Tuning
- REST Web-Services (API)
- ORDS (Oracle Rest Data Services)
- Visual Studio Code
- Ms-Word/Excel/PowerPoint/Teams
- Communication/Telephonic Skills
- SQL – Oracle or ANSI standard
- C#
Interpersonal skills
- Uses effective interpersonal and communication skills to gain acceptance of and commitment to plans, ideas and initiatives.
- Shares important and relevant information.
- Gains the cooperation, trust and support of others.
- Seeks a win/win solution with the minimization of a compromise.
- Communicates in a positive manner resulting in action.
- Focuses energy on finding solutions rather than blaming others.
- Acknowledges others’ contributions.
Skills development
- Actively develop individual skills and abilities in order to fulfil a job role more effectively
- Make use of opportunities for development of skills provided.
Strategic Effectiveness
- Views situations from multiple perspectives
- Brainstorms and evaluates multiple solutions/ approaches.
- Open mindedness, unconstrained in thought and approach not accepting the exist status quo, views and assumptions.
- Explore multiple and diverse resources to find solutions.
Living the Values
- Ensuring compliance with all applicable policies, regulations, standards and governance requirements
- Treating all people fairly and consistently, and with dignity and respect
- Being ethical, honest and sensitive in all dealings
- Taking corrective action to address inappropriate decisions or actions
Leading Self
- Taking ownership for own performance and decisions and their impact on the business
- Demonstrating tenacity and resilience even when faced with obstacles
- Seeking opportunities for personal feedback, learning and development
- Acting decisively when tough or quick action is required
Qualification and Experience Requirements
- Minimum 5 - 8 years Oracle development experience
- BSc (Computer Science or Information Systems) /B Com (Information Systems)/Diploma in Information Systems