Software Engineer job vacancyin Port Elizabeth.
As a Mid-Level Software Engineer, you will be a pivotal member of our development team, bridging the gap between foundational development and strategic technical leadership.
You will operate with increasing autonomy, tackling complex technical challenges and contributing significantly to the design, development, and delivery of our software solutions.
Minimum Requirements:
- Relevant Diploma or Degree in Software Development or similar qualification from a recognised tertiary institution
- Minimum of 3 years’ experience as a Software Engineer
- Strong Proficiency in C#
- Solid knowledge of database systems (SQL) and experience with ORM technologies.
- Deep and practical understanding of data structures and algorithms.
- Strong understanding and practical experience with Agile methodologies (Scrum, Kanban) and DevOps practices (CI/CD).
- Expertise in using Git for version control.
- Experience with major cloud platforms (AWS, Azure, GCP) and containerisation technologies (Docker, Kubernetes).
- Experience with automated browser testing frameworks like Selenium is a significant bonus.
- Foundational understanding or practical experience with Artificial Intelligence (AI) and Machine
- Learning (ML) integration and Cybersecurity Fundamentals.
Personal Attributes:
- Exceptional problem-solving and critical thinking skills, with the ability to analyse complex requirements and devise innovative solutions.
- Strong communication skills, both written and verbal, with the ability to articulate technical concepts clearly and listen actively to feedback.
- Excellent collaboration and teamwork abilities, fostering a positive and productive environment within cross-functional teams.
- High adaptability and a commitment to continuous learning in a rapidly evolving technological landscape.
- Effective time management and prioritisation skills, with a proven ability to deliver high-quality work within deadlines.
- Demonstrated empathy and self-awareness, contributing to positive interpersonal dynamics and professional growth.
- Proactive mindset, identifying areas for improvement and taking initiative to address them.
Duties and Responsibilities:
Software Development Lifecycle:
- Design, develop, test, deploy, maintain, and enhance robust and scalable software applications and features across the full software development lifecycle.
- Implement efficient, high-quality, and maintainable code, strictly adhering to best practices and established coding standards.
- Actively participate in all phases of the SDLC, including software analysis, code analysis, requirements analysis, and the development of comprehensive software verification plans and quality assurance procedures.
- Troubleshoot, debug, and resolve software defects and operational issues by analysing root causes and their impact on system performance and quality.
- Contribute to the architectural design and implementation of new features and capabilities, including scalable microservices and back-end components.
- Create and maintain clear, comprehensive technical documentation for all aspects of the development process, facilitating knowledge sharing and future maintenance.
Collaboration & Communication:
- Work effectively and seamlessly with cross-functional teams, including product managers, QA engineers, designers, and other developers, to define and refine project requirements.
- Communicate complex technical concepts and solutions clearly and concisely to both technical and non-technical stakeholders.
- Collaborate closely with users and stakeholders to understand information needs, analyze system flows, and investigate problem areas to ensure solutions meet actual needs.
Mentorship & Leadership:
- Assist and potentially mentor junior engineers, sharing technical knowledge, best practices, and providing guidance on project tasks or troubleshooting.
- Contribute to breaking down larger work sections into manageable tasks for junior colleagues, fostering their growth and development.
- Operational Excellence & Continuous Improvement:
- Stay updated on industry trends, emerging technologies (e.g., cloud computing, AI/ML), and best practices through continuous learning and professional development.