• Grade 12
• An IT qualification would be advantageous
• Building software solutions following industry accepted best practices
• Software development projects that are managed via project a manager and a project plan.
• Applicable programming experience in the programming language in use by the team.
• Hardware configuration and support
• Software support
MAIN OUTPUTS AND RESPONSIBILITIES FOR THIS POSITION
1. Software Solution Design
- Understands technical and functional design requirements
- Assist during design of the software solution
- Assist in physical and logical database design and be able to interpret design diagrams and documents.
- Have and understanding of software engineering techniques such as the use of UML (Unified Modelling Language), Software Development Lifecycle (SDLC), agile development methodologies, etc.
- Be aware of software standards applicable in the organisation. This can include standards for quality, data security and compliance (SAS 70)
- Able to apply knowledge of industry trends and developments to improve service to clients
- Be able to successfully interpret design documentation and build the software solution according to the specified requirement.
- Develop and test technical solutions using the development tools applicable to the team he/she functions in.
- Apply software engineering best practices gained through formal education, policies and work experience, during development of software solutions.
- Review developed solutions and provide constructive feedback for improvements,
- Able to interpret project and development plans and have an understanding of project roles, project goals, and timelines
- Manage time effectively during task execution in order to meet assigned milestones.
- Establish responsible deadlines and personal work plans
- Communicate with team members or relevant stakeholders regarding technical design and implementation of the solution.
- Be able to use team collaboration tools such as document libraries, source control and email.
- Attend meetings in order to understand customer requirements, make design decisions and report on progress
- Assist with installation of hardware environments; provide guidance regarding hardware requirements to host the software solution.
- Analytical Thinking and Attention to Detail
- Anticipating, , Creating and Managing Change (Tolerance for Ambiguity)
- Problem Solving (Includes Reasoning)
- Ethical Behaviour/Honesty/Transparency/Modelling of Values
- Entrepreneurship/Calculated Risk Taking
- Excellence Orientation
- Personal Growth Orientation/Learning Agility
- Resilience/Perseverance/Stress Management
- Results & Solution Focused (Drive, Energy & Follow Through)
- Self-Management (Planning, Prioritising & Time Management)
- Knowledge Sharing (includes Information Management)
- Technical/Professional Competence
What are the most regular and complex challenges in the job?
- Research - Understanding of technology to deliver on business requirements, produce a quality design and develop the most robust solution.
- Problem solving – Debugging of source code in order to find an application error or solve logic problems during building of the solution.
- Internet (Google)
- Books / Product Manuals (documentation) / Online Help
- MSDN Libraries
- Team members
- The Developer is not influenced directly by macro planning. When working in a project driven environment macro planning will be completed by the Programme Manager or other senior resource. Once a project is allocated and a Project Manager is assigned, the Developer is responsible for micro planning through usage of an SDLC.
- A typical planning stage for the developer should include Definition, Design, Develop, Test and Deploy stages of the product which is managed via a project management plan and Project Manager.
- Impact is felt by business once the product reaches the deployment stage
- On products that have been deployed where the developer plays a maintenance role impact on business will be felt once each maintenance task is completed.
- By giving his/her design input on a business requirement the Developer may influence the existing business process.
- The software solution crafted by the Developer may also improve the output of the business process for which the solution was created.
What type of decisions can the jobholder take within his/her area of accountability and what type of decisions will typically be referred to the direct manager for sign off?
- Application of the correct technology to solve the problem
- Developing the software according to applicable standards for security, data integrity, compliance etc.
- Successful completion of tasks within the agreed timeframe by the Developer.
- Extensive regressive testing before code or solution in deployed
- Technical Specifications and decisions
- Proposed business process changes
- Hardware and Software toolset to be used. (Example: Approval to purchase additional software licenses or hardware to implement the solution)
Please provide examples on the context, range and complexity of subject matters being communicated by the jobholder, as well as the context, format and process of communication used to reach the target audience.
- Project progress through meetings, progress reports and task management tools
- Technical meetings with peers to facilitate technical decision making
- Team collaboration tools (electronic publication and approval of design documents, meeting minutes, standards and policies)