# Software Engineer - Data & AI

**Company:** [The ECA International Group](http://jobs.workable.com/companies/e8d4Rzd58KouLiRq28fzZw.md)
**Location:** London, United Kingdom
**Workplace:** hybrid
**Employment type:** Contract
**Department:** Technology

[Apply for this job](http://jobs.workable.com/view/f382cd14-7690-46d6-a2c5-30c63dd3a081)

## Description

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.
