Apply Edge Start your job search

Software Enginer

FH INGENIEROS · Dubai, Dubai, United Arab Emirates

Apply & track with Apply Edge
Role DescriptionA Software Engineer is responsible for designing, developing, testing, deploying, maintaining, and improving software applications and technology solutions. The role involves translating business and technical requirements into reliable, scalable, secure, and maintainable software while collaborating with product, design, engineering, quality assurance, infrastructure, and business teams.Key responsibilities include analyzing software requirements and translating them into technical solutions; designing application architecture, software components, APIs, services, databases, and system integrations; developing clean, efficient, maintainable, and reusable code; building web, mobile, desktop, cloud, backend, frontend, or enterprise applications as required; implementing application features, business logic, data processing, integrations, authentication, authorization, and other system functionality; writing unit tests, integration tests, automated tests, and debugging procedures; identifying and resolving software defects, performance issues, security vulnerabilities, integration problems, and production incidents; conducting code reviews and maintaining development standards, coding conventions, documentation, and version-control practices; collaborating with product managers, UX/UI designers, QA engineers, DevOps engineers, data engineers, architects, and other stakeholders; working with databases, APIs, cloud platforms, microservices, containers, message queues, and distributed systems where applicable; participating in software architecture, technical design, estimation, planning, and engineering discussions; implementing CI/CD pipelines, automated deployments, monitoring, logging, observability, and software-release processes; optimizing application performance, scalability, reliability, maintainability, and resource utilization; supporting production systems and investigating technical incidents and root causes; integrating third-party services, APIs, cloud services, payment systems, analytics platforms, and enterprise applications; applying secure software-development practices and protecting application data, credentials, and infrastructure; utilizing artificial intelligence, machine learning, automation, AI coding assistants, and intelligent development tools where appropriate; contributing to technical documentation, architecture diagrams, development guidelines, and knowledge-sharing initiatives; evaluating new programming languages, frameworks, libraries, development tools, and emerging technologies; participating in Agile, Scrum, DevOps, or other software-development methodologies; supporting system migrations, modernization initiatives, refactoring, and technical-debt reduction; and continuously improving software quality, engineering productivity, system reliability, user experience, and development processes.QualificationsBachelor's or Master's degree in Computer Science, Software Engineering, Information Technology, Computer Engineering, or a related discipline.Strong understanding of software-development principles, object-oriented programming, data structures, algorithms, design patterns, and software architecture.Proficiency in one or more programming languages such as Java, Python, JavaScript, TypeScript, C#, C++, Go, Kotlin, Swift, or equivalent technologies.Strong knowledge of software-development frameworks, libraries, APIs, databases, testing methodologies, and version-control systems.Familiarity with Git, GitHub, GitLab, Bitbucket, or equivalent source-control platforms.Understanding of relational and NoSQL databases such as PostgreSQL, MySQL, Oracle, SQL Server, MongoDB, or equivalent technologies.Knowledge of REST APIs, GraphQL, microservices, distributed systems, authentication, authorization, and system integration.Familiarity with cloud platforms such as AWS, Microsoft Azure, or Google Cloud is advantageous.Knowledge of Docker, Kubernetes, CI/CD, infrastructure automation, monitoring, logging, and DevOps practices is beneficial.Strong understanding of software testing, debugging, code review, quality assurance, and secure development practices.Familiarity with artificial intelligence, machine learning, generative AI, AI-assisted development, LLM APIs, and automation is advantageous.Strong analytical, troubleshooting, problem-solving, and critical-thinking skills.Ability to translate technical and business requirements into practical software solutions.Strong communication and collaboration skills when working with technical and non-technical stakeholders.Ability to manage multiple development tasks, priorities, releases, and deadlines.Understanding of Agile, Scrum, Kanban, DevOps, or other modern software-development methodologies.Strong attention to code quality, security, performance, scalability, maintainability, and reliability.Relevant cloud, programming, software-development, or professional certifications are advantageous.High level of technical curiosity, adaptability, accountability, and continuous-learning mindset.Strong commitment to staying informed about modern software architecture, cloud computing, AI-assisted development, cybersecurity, automation, and emerging software-engineering technologies.