Senior Software Engineer
Mukuru
- Cape Town, Western Cape
- Permanent
- Full-time
- Collaborate with cross-functional teams to define, design, support and deliver new features
- Design and implement new features and functionalities for web-based applications
- Ensure that solutions are in accordance with team standards and initial requirements
- Actively participate in team code reviews, which helps us grow and improve code-quality
- Contribute towards internal knowledge sharing sessions on developed solutions and best practises
- Contribute towards well documented, quality, tested, reusable and efficient code
- Conduct and assist with troubleshooting, debugging and optimization of solutions
- Contribute towards picking the right tool and approach for the problem at hand
- Stay up-to-date with emerging trends and technologies in PHP development
- Attend monthly performance meeting with Team Lead
- Attend all required training courses for new products
- A minimum of 5 years of experience in PHP development and object-oriented programming
- Strong proficiency in MySQL, HTML, CSS, and JavaScript
- Database management experience (data migration, transformation, and scripting)'
- Applied understanding of design patterns and principles
- Knowledge of microservices architecture and RESTful API services
- Experience with modern Git workflows (Pull Requests, Code Reviews, CI/CD)
- Ability to develop complex web-based applications using PHP and related technologies
- Strong understanding of web application architecture and security principles
- Knowledge of modern PHP frameworks such as Laravel, CodeIgniter, or Symfony
- Experience with front-end development technologies, including CSS, HTML, and JavaScript
- Strong debugging and problem-solving skills
- Experience with Agile Software Development Methodologies such as Scrum/Kanban
- Excellent communication and collaboration skills
- Ability to work independently and as part of a team
- Grade 12 or equivalent (Essential)
- Bachelor's degree in Computer Science or a related field (preferred)
- Divide the work into smaller components to ensure the focus is on a specific area (in line with Scrum practice)
- Analytical mindset and good problem-solving skills
- Good verbal and written communication skills and the ability to work with others at all levels
- Good time management skills
- Ability to work within a structured delivery environment and in accordance with best practices & standards
- Ability to work remote as and when needed, with own reliable internet connection