Job Summary
We are looking for a Software Developer to design, develop, test, and maintain software applications and systems. The role will work closely with engineering, product, and other technical teams to deliver reliable, scalable, and efficient software solutions.
Key Responsibilities
- Research, design, develop, test, and maintain software applications and utility programs.
- Analyse user and business requirements and translate them into effective software solutions.
- Develop clean, efficient, scalable, and maintainable code.
- Enhance existing software and develop new features and functionalities.
- Identify, troubleshoot, and resolve software defects and technical issues.
- Develop and execute software testing and validation procedures.
- Participate in code reviews and maintain technical documentation.
- Collaborate with software, product, QA, and hardware engineering teams.
- Integrate software with hardware systems and support system integration activities.
- Monitor and optimise software performance, reliability, and scalability.
- Stay updated on new technologies, programming languages, frameworks, and industry best practices.
- Support software deployment, upgrades, and ongoing maintenance.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, Information Technology, or a related field.
- 4+ years of experience in software development or a related technical role.
- Proficiency in one or more programming languages such as Python, Java, C++, C#, JavaScript, or TypeScript.
- Good understanding of software development principles, algorithms, data structures, and databases.
- Experience with Git or other version control systems.
- Experience in software testing, debugging, and troubleshooting.
- Strong analytical and problem-solving skills.
- Good communication and teamwork skills.
- Ability to work independently and manage multiple tasks effectively.
- Knowledge of cloud platforms, APIs, Linux, CI/CD, or DevOps practices is an advantage.