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.