Participate in cross-functional, agile software development teams to understand and support software development requirements and deliver high quality software. Grade 12 certificate. Exposure with distributed, multi-tiered systems, algorithms, and relational databases (i.e., SQL, MySQL) Computer systems savvy - Basic understanding of key concepts and facts pertaining to computers and other hardware, programming languages, commercial operating systems, web or database systems, network hardware and software, IT security and other IT system technologies.
Work closely with Senior and Lead Software Developers/Engineers and team to support with coding/programming in building innovative technologies in a large, distributed computing environment.
Assist in the design, development, and testing of software applications, using appropriate coding techniques and methodologies.
Demonstrate continuous effort to learn and improve within the team, and search for opportunities to innovate and optimize software solutions.
Utilize applicable technological resources to create conceptual, logical and physical solution on assigned solutions, using learnt coding techniques and methodologies.
Learn and apply software development standards and best practices for coding, unit testing, code reviews, etc. design and code the right solutions starting with broadly defined problems.
With support from Senior Developers Maintain and support existing software applications
Collaborate with other IT and business teams to integrate software solutions with existing systems
Support and Participate in Software Development Lifecycles (SDLC) to deliver high quality software.
Stay abreast emerging software development principles, designs, technologies, and coding standards.
Actively participate in Software Development Community of Practice sessions, including relevant learning and development channels.
Diploma/ Degree in Computer Science, Software/Computer Engineering, Mathematics, IT, related field or in final year of relevant qualification completion
Proficiency with one or more high-level programming languages i.e., C#, Java, Python, Golang, Python, C, C++, PHP, etc.
Exposure to OOP and SOLID programming or design principles.
Familiarity with software development tools such as Git, JIRA, or Agile methodologies
Exposure to Linux toolset and Microsoft Operating systems and/or scripting i.e., Bash or PowerShell
Experience with JavaScript Frameworks i.e., Angular, react, Vue.js, etc.
Cloud environment i.e., AWS, Azure or GCP, etc.
High level of self-motivation and drive to set, meet and exceed on goals and expectations.
Curious and willing to learn – Proactively identifies new areas for learning; seizes learning opportunities and actively uses newly gained knowledge and skill on the job.
Good communication skills – Communicates well both verbally and in writing. Able to explain and simply technical concepts and confidently convey information to stakeholders. Able to compile well-developed and visual reports.
Able to work under pressure and under tight time constraints in a high-volume, fast-moving environment.
Creativity and Innovation - Approaches situations with an open mind and demonstrates a unique way to solve problems as opposed to relying on others.
Use data to investigate problems, detect patterns and extrapolate insights.
Stay updated on the latest research and developments in Security Engineering and adjacent fields to ensure the latest technology, techniques and methods are always applied.
Has integrity and takes accountability for actions and mistakes.