Our client is looking for a skilled, motivated and dedicated Lead Software Application Developer who would like to be part of their team.
Purpose Of The Job
To lead the software application development function within the company. To provide expert input into defining the company’s digital architecture and best practice standards.
Key responsibilities include but not limited to the following:
Coding and development:
- Utilise established development tools, guidelines, and methods for handling development task
- Maintain detailed documentation and project files concerning progress, problems, and required changes, and provide regular reports on such to the ICT Team and Management.
- Develop at all stages of the interface component design from conception through to execution
- Develop reusable, efficient, and scalable code
- Writing new code or modifying code to enhance system functionality
- Develop new software applications.
- Develop real-time transaction processing systems that can support millions of transactions daily
- Complete coding and development in line with agreed timelines.
- Develop/ Build efficient and secure API/integration with other systems (internal and external systems)
- Lead company development and automation projects.
Code Quality Management
- Adhere to the defined procedures for code management, code reviews, coding standards, naming conventions and security standards
- Perform testing to ensure any changes made to the system are of a high standard and the system hasn’t regressed
- Perform code reviews to ensure current code meet meets quality and best practice standards
- Ensure code version control is in line with best practices standards
- Adhere to change control processes
- Help maintain code quality, performance, and application responsiveness
- Create unit and integrated system tests to show that the developed functionality works as intended
- Create and execute functional test scenarios (dev testing)
Analysis & Design
- Assist in the creation of user story definitions.
- Analyse system change requests to provide work estimates
- Convert user stories into a system design that addresses a business problem (fit-for-purpose solutions)
- Design application user interfaces that are fresh (modern) and exciting
- Design APIs and external system interfaces for integration with third-party applications
- Participate in research and innovation, analyze internal systems against current technology trends and provide recommendations.
- Maintain knowledge of current and emerging technologies/products/trends related to digital innovative solutions development
Database Design and Management
- Design database structures/ architecture to provide for efficient performance and security controls.
- Monitor system databases to identify and resolve issues.
- Ensure data integrity and database security.
- Optimise databases for high performance
- Write queries to extract data and create reports
Support and maintenance
- Monitor everyday activities on the system and provide support to end-users.
- Evaluate and improve application performance and high-availability features
- Perform root cause analysis on bugs to find and fix the cause of a problem in an integrated system
- Adhere to system change control process
- Communicates status and escalates risks and issues appropriately and timeously
- Ensure application management audit report issues are addressed
- Compile monthly reports for the area of responsibility and submit them to senior management
- Resolve problems across multiple platforms (Dev, QA, Production, etc)
- Attend to support tickets with the agreed SLA targets.
- Collaborate with the infrastructure team(s) to solve technical issues affecting software applications.
Training & People Management
- Train and mentor junior developers and interns
- Perform post-development system training for employees
- Develop system documentation (e.g Manuals & SOPs)
- Facilitate end-user training
- Performance management junior developer(s)
- Participate in the development and implementation of the company software application-related policies and procedures.
Financial & Supplier Management
- Contribute to the ICT budget formulation by determining needs for the area of responsibility.
- Supplier management for the area of responsibility to ensure the company gets value for money for contracted services.
ICT Continuity & Security
- Participate in the software applications’ risk identification on regular basis.
- Identify and communicate to management software application project risks.
- Work with the infrastructure team to deploy, test and manage software patches that may affect the company software application.
- Work with Database Administrator(s) to ensure databases are backed up and can be restored.
- Work with the ICT infrastructure teams to design the best fit disaster recovery for the company software applications and partake in disaster recovery simulations.
Minimum qualifications, experience and knowledge:
- NQF 6 National Diploma/ B. Degree: Computer Science/Information Technology/Information Systems or equivalent qualification with major subjects in software development
- Valid driver’s license (code 8)
- 5 – 7 years experience as a Software Developer with 2 – 3 years experience as a Lead/Senior developer.
- 2 years’ NetCore API. 3 years experience in HTML, JavaScript and jQuery.
- A Minimum of 3 years of Microsoft SQL server experience.
- Bootstrap experience.
- Understanding WSDL integration, DHA integration, CIPC integration and Banks integration is an added advantage.
- C#, .Net, Microsoft SQL / Microsoft development certification (added advantage), Project Management (added advantage)
If you do not hear from us within 2 weeks after closing date, please consider your application unsuccessful.
Desired Skills:
- C#
- SQL
- Project Management