
Vacancy: Intermediate Backend Developer PHP & GOLANG
Physical location of position: Olivedale, Johannesburg
Position of reporting manager:
Application Development Manager
Company Culture:
We’re a company of people, not numbers. We work closely, care about each other, and also trust each other to do the right thing.
Culture and Values:
As a company, we put a lot of effort into maintaining this culture, and frequently survey ourselves to ensure we’re on track. Annual culture days enable us to explore the feedback, and we have captured our culture in our mantras.
It is imperative that our entire team understands what we stand for, and to stand up for it!
Purpose of the job
As an intermediate backend developer at Smoke CI, the ideal candidate will be responsible for writing clean, maintainable, and well-documented code while adhering to strict coding standards and best practices. You will collaborate with cross-functional teams to deliver high-quality features on time, troubleshoot and optimise existing code, and ensure alignment with company values and cultural expectations.
This role requires a strong understanding of clean code principles, proficiency in CakePHP and Go (Golang), and the ability to write efficient SQL queries. You will actively participate in code reviews, peer collaboration, and continuous learning to stay updated with the latest advancements in technology.
Salary & Benefits: Market-related TCTC per month – Based on skill and qualification of the candidate
Financial Benefits: Funeral, Death and Disability Policy (Group Life Policy)
Other Benefits:
o 15 Days annual leave per annum
o Some leave days may be “gifted” from the Company to you during our annual shut-down over the December – January period
o Company social committee managed by the staff to decide how we do social events and team building – driving our really amazing Company culture
o Flexible weekly working hours
o Close-knit professional team that looks after each other!
We are big supporters of individual growth and learning and this is something we incorporate into the business constantly. We have budgets to help with studies, Personal Development Plans (PDPs) to ensure mentorship and coaching, as well as processes to expose you to new technologies.
Job Responsibilities
Code Quality and Development:
- Write clean, maintainable, and well-documented code (60% PHP, 30% Golang & 10% Node.js) that adheres to organisational coding standards (e.g., PSR-12 for PHP).
- Ensure all new and modified code passes quality checks in Codacy.
- Follow clean code principles, including meaningful naming conventions, single-responsibility functions, DRY (Don’t Repeat Yourself) principles, and proper error handling.
- Debug and optimise existing code to improve performance, scalability, and maintainability.
- Write efficient and syntactically correct SQL queries with minimal assistance, leveraging indexing, joins, and query optimisation techniques.
Documentation:
- Document all new functionality and features in Confluence within 1 week of feature completion.
- Include clear descriptions, technical details (e.g., APIs, database changes, workflows), and instructions for testing and deployment.
Testing and Quality Assurance:
- Write comprehensive unit tests, integration tests, and ensure high code coverage to guarantee reliability and stability.
- Conduct manual and automated testing to validate feature correctness and alignment with user requirements.
- Collaborate with QA teams to resolve bugs and usability issues before deployment.
Collaboration and Communication:
- Actively participate in peer code review sessions with senior developers, providing and incorporating constructive feedback.
- Collaborate effectively with cross-functional teams, including designers, QA, Business Analysts (BAs), and Customer Success Managers (CSMs).
- Communicate progress, challenges, and blockers clearly and proactively to stakeholders.
Project Delivery:
- Deliver features on time and according to specifications outlined in Business Requirement Specifications (BRS) or Jira tickets.
- Manage time effectively, prioritise tasks, and meet deadlines without compromising quality.
- Proactively identify risks, dependencies, and potential blockers to prevent delays.
Continuous Learning and Improvement:
- Stay updated with the latest advancements in CakePHP, Go (Golang), and related technologies.
- Apply new knowledge to improve code quality, efficiency, and maintainability.
- Share insights and best practices with the team to enhance collective expertise.
Alignment with Company Values:
- Demonstrate alignment with the company’s core values, cultural expectations, and long-term vision.
- Contribute to a collaborative, inclusive, and high-performing team environment.
Experience &
knowledge required
- Minimum of 3 – 5 years’ job-related experience.
- Minimum 2 years of experience in a SQL and related databases, with a preference for those with MySQL experience. Bonus points for non-relational DB experience, e.g., MongoDB
- Proficient understanding of PHP MVC frameworks in either CakePHP, Laravel or Symfony
- Knowledge of MVC frameworks
- Knowledge of RESTful API design
- Proficient knowledge of front-end technologies, such as JavaScript, HTML5, and CSS3
- Proficiency in common PHP or web server exploits and their solutions
- Familiarity with limitations of PHP as a platform and its workarounds
- Creating database schemas that represent and support business processes
- Proficient understanding of code versioning tools, such as Git and/or Bitbucket.
Minimum qualification
Diploma or Degree in computer sciences or any other related professional and recognised I.T. qualification. (Experience in the field will be recognised and considered as a substate to a qualification)