Software Engineer - Data & AI

The ECA International Group

We are seeking a talented and motivated Software Engineer to join our Technology & Engineering team at ECA International. The successful candidate will be responsible for designing, developing, and maintaining software solutions that meet the needs of our clients and internal stakeholders. As a key member of the development team, you will work closely with other engineers, product managers, and designers to deliver high-quality software that supports our business objectives.

Key Responsibilities:

  • Software Development: Design, develop, and maintain software applications using modern programming languages and frameworks. Ensure that software solutions are scalable, reliable, and efficient.
  • Collaboration: Work closely with cross-functional teams, including product managers, UX/UI designers, and QA engineers, to gather requirements, design solutions, and implement features. Participate in code reviews and provide constructive feedback to peers.
  • Problem-Solving: Analyse complex problems and identify the most effective solutions. Write clean, maintainable, and well-documented code to address technical challenges.
  • Testing and Debugging: Write unit tests and perform debugging to ensure software quality. Collaborate with QA teams to identify and fix bugs and ensure the reliability of software solutions.
  • Continuous Improvement: Stay current with industry trends, emerging technologies, and best practices in software development. Continuously improve code quality, development processes, and tools.
  • Documentation: Create and maintain technical documentation, including system designs, API documentation, and user guides. Ensure that documentation is accurate, up-to-date, and easily accessible.
  • Support: Provide support and troubleshooting assistance to internal teams and end-users. Address software issues and implement solutions promptly to minimize downtime.

Requirements

Qualifications:

Essential:

  • Bachelor’s degree in Computer Science, Software Engineering, or a related field.
  • Proficiency in one or more modern programming languages (e.g., Java, C#, Python, JavaScript).
  • Strong understanding of software development principles, including object-oriented design, data structures, and algorithms.

Desirable:

  • Master’s degree in a relevant field.
  • Experience with cloud platforms, microservices architecture, or DevOps practices.
  • Familiarity with Agile methodologies and tools such as Jira or Trello.

Experience:

  • Proven experience in software development, with a strong portfolio of completed projects.
  • Experience working in a collaborative team environment and contributing to software development projects.

Skills and Behaviours:

  • Technical Expertise: Strong programming skills and knowledge of software development best practices.
  • Problem-Solving: Ability to analyse problems, identify solutions, and implement them effectively.
  • Collaboration: Excellent teamwork and communication skills, with the ability to work well with cross-functional teams.
  • Adaptability: Ability to learn new technologies and adapt to changing project requirements.
  • Attention to Detail: Strong attention to detail, with a focus on writing clean, maintainable code.
  • Continuous Learning: Commitment to continuous learning and professional development in software engineering.