Software Engineer
Fusion
Full-TimeRemoteSri Lanka
Posted on 19/10/2026
About the Role
As a Software Engineer, you will play a crucial role in designing, developing, testing, and maintaining robust software applications within our dynamic engineering team. This position offers the opportunity to collaborate closely with product managers, designers, QA engineers, and fellow developers to deliver reliable, scalable, and user-centric solutions. You will be expected to contribute technical expertise across the software development lifecycle, ensuring that our applications meet high standards of quality and usability.
What You'll Do
- Develop, test, and maintain software applications according to project requirements.
- Write clean, efficient, and well-documented code that is scalable and maintainable.
- Collaborate with cross-functional teams, including product managers, designers, and QA engineers, to gather and refine requirements.
- Integrate APIs and third-party services into our software solutions.
- Participate in technical design sessions and contribute to architectural decisions.
- Engage in code reviews to ensure adherence to best practices and code quality standards.
- Troubleshoot and resolve software defects, performance issues, and bugs.
- Support continuous improvement by actively participating in team discussions and suggesting enhancements.
Key Responsibilities
- Design, develop, test, and maintain software applications.
- Write clean, efficient, reusable, and well-documented code.
- Collaborate with cross-functional teams to understand requirements and deliver solutions.
- Identify, troubleshoot, and resolve software defects and performance issues.
- Participate in code reviews and follow software development best practices.
- Develop and maintain APIs and integrate third-party services.
- Contribute to software architecture and technical decision-making.
- Maintain technical documentation and support continuous improvement initiatives.
- Follow secure coding practices and ensure application quality and reliability.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related field, or equivalent practical experience.
- 2–4 years of experience in software development.
- Proficiency in at least one programming language, such as Java, Python, JavaScript, or C#.
- Experience with databases and SQL or NoSQL technologies.
- Understanding of REST APIs, data structures, algorithms, and object-oriented programming.
- Familiarity with Git and version control systems.
- Knowledge of software testing, debugging, and development methodologies.
- Strong analytical, problem-solving, and communication skills.
Nice to Have
- Experience working in agile or scrum-based development environments.
- Exposure to cloud computing platforms such as AWS, Azure, or Google Cloud.
- Familiarity with containerization tools like Docker or Kubernetes.
- Knowledge of continuous integration and continuous deployment (CI/CD) practices.
- Experience with front-end frameworks such as React or Angular.
- Prior involvement in code review processes or mentoring junior engineers.
Why Join Us
- Opportunity to work on impactful and user-focused software projects.
- Collaborate with a talented and supportive engineering team.
- Contribute to a culture of continuous improvement and innovation.
- Gain exposure to diverse technologies and real-world problem-solving.
- Be part of a team that values technical excellence and professional growth.
Benefits & Perks
- Typical opportunities for professional development and ongoing learning.
- Collaborative and inclusive work environment.
- Exposure to modern technologies and best practices in software engineering.
- Flexible work arrangements may be available, depending on team and project needs.
- Supportive leadership and mentorship from experienced professionals.
- Access to resources that encourage personal and career advancement.
- Recognition for contributions and opportunities to take on new challenges.
