Software Enginer
Mercury-ao · Dubai, Dubai, United Arab Emirates
Apply & track with Apply EdgeRole DescriptionWe are seeking a skilled and solution-oriented Software Engineer to design, develop, test, maintain, and improve software applications and technology solutions. This role involves working across the software development lifecycle to create reliable, scalable, secure, and user-focused systems that support business and technical objectives.The Software Engineer will work closely with product managers, designers, analysts, QA specialists, DevOps teams, and other technical stakeholders to understand requirements and translate them into effective software solutions. The role requires strong problem-solving abilities, attention to detail, and a practical approach to software design and development.Key responsibilities include analyzing functional and technical requirements, designing software components, writing clean and maintainable code, developing new features, improving existing applications, and integrating systems and services. The successful candidate will contribute to both new development initiatives and the ongoing enhancement of existing platforms.The role may involve developing web applications, backend services, APIs, databases, cloud-based solutions, mobile applications, enterprise systems, or other software products depending on project requirements. The engineer should be comfortable working with modern development practices and adapting to different technologies when necessary.Software quality is an important part of the position. Responsibilities include writing and maintaining unit tests, debugging issues, reviewing code, identifying defects, and collaborating with QA teams to ensure applications perform reliably. The role will also support troubleshooting of production issues and implementation of appropriate technical solutions.The Software Engineer will participate in code reviews, technical discussions, architecture planning, and development meetings. Clear documentation of code, system behavior, technical decisions, and implementation processes is expected to support maintainability and effective collaboration.The position may also involve working with databases, APIs, third-party integrations, version-control systems, CI/CD pipelines, cloud platforms, monitoring tools, and development environments. The successful candidate should understand how different components work together within a modern software ecosystem.Security, scalability, performance, and reliability should be considered throughout the development process. The engineer will help identify technical risks, improve application performance, address vulnerabilities, and contribute to the continuous improvement of development standards and engineering practices.The role also requires staying informed about relevant technologies, frameworks, development methodologies, and industry practices. A strong engineering mindset, willingness to solve complex technical problems, and commitment to producing high-quality software are essential.QualificationsDegree or equivalent qualification in Computer Science, Software Engineering, Information Technology, or a related field is preferred.Strong understanding of software development principles and programming concepts.Proficiency in one or more programming languages such as Java, C#, Python, JavaScript, TypeScript, C++, Go, or similar.Good understanding of object-oriented programming, data structures, algorithms, and software design principles.Familiarity with web development, backend development, APIs, databases, or application development.Experience working with relational or NoSQL database technologies is an advantage.Strong understanding of software testing, debugging, and quality-assurance practices.Familiarity with Git or other version-control systems.Understanding of REST APIs, web services, system integration, and authentication concepts.Familiarity with cloud platforms such as Microsoft Azure, AWS, or Google Cloud is an advantage.Knowledge of CI/CD, DevOps practices, containers, or automated deployment is beneficial.Ability to read, understand, and contribute to technical documentation.Strong analytical and problem-solving skills.Ability to investigate technical issues and develop practical solutions.Strong attention to detail and commitment to code quality.Ability to participate effectively in code reviews and technical discussions.Good understanding of application security, performance, scalability, and reliability principles.Strong communication and teamwork skills.Ability to collaborate effectively with technical and non-technical stakeholders.Organized, proactive, adaptable, and capable of managing multiple development priorities.Relevant software development certifications or technical training are welcomed.