This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Software Engineer is responsible for designing, developing, and maintaining software applications and solutions that meet business needs and ensuring the availability and performance of critical systems and applications. This role involves working closely with product managers, designers, and other engineers to create high-quality, scalable software solutions and automating operations, monitoring system health, and responding to incidents to minimize downtime.
Job Responsibility:
Take ownership of complex software projects from conception to deployment
Manage software delivery scope, risk, and timeline
Quickly translate concepts into working code by strong rapid prototyping skills
Provide technical guidance and mentorship to junior developers
Contribute to both front-end and back-end development using cloud technology
Develop innovative solution using generative AI technologies
Conduct code reviews to ensure code quality and adherence to best practices
Create and maintain documentation on software architecture, design, deployment, disaster recovery, and operations
Stay updated with the latest trends and advancements
Develop and execute unit tests, integration tests, and other testing strategies to ensure the quality of the software
Identify and resolve software bugs and performance issues
Work closely with cross-functional teams, including product management, design, and QA, to deliver high-quality software on time
Integrate systems and platforms to ensure seamless data flow and functionality
Collaborate with data scientists to develop, train, and evaluate machine learning models
Build and maintain MLOps pipelines leveraging cloud platform, including data ingestion, feature engineering, model training, deployment, and monitoring
Deploy machine learning models into production environments, ensuring that they are scalable and maintainable
Design and implement systems and processes to improve the reliability, scalability, and performance of applications
Automate routine operational tasks, such as deployments, monitoring, and incident response, to improve efficiency and reduce human error
Develop and maintain monitoring tools and dashboards to track system health, performance, and availability
Requirements:
Master’s degree with 6 - 8 years of experience in Computer Science, IT or related field OR Bachelor’s degree with 8 - 12 years of experience in Computer Science, IT or related field
Solid foundation in modern software design and engineering practices, with a specific focus incorporating AI and ML into solutions, including low code, microservice, serverless cloud, and containerization platforms
Strong experience on Agile software development teams
Strong proficiency in machine learning algorithms and frameworks (e.g., TensorFlow, PyTorch) and MLOps (e.g., MLflow, Kubeflow, Airflow.)
Hands on experience with Full Stack software development. Proficient in programming language Python (preferred), JavaScript, SQL/NoSQL
Excellent analytical and troubleshooting skills
Strong verbal and written communication skills
Ability to work effectively with global, virtual teams
High degree of initiative and self-motivation
Ability to manage multiple priorities successfully
Team-oriented, with a focus on achieving team goals
Strong presentation and public speaking skills
Nice to have:
Strong understanding of cloud platforms (e.g., AWS, GCP, Azure) and containerization technologies (e.g., Docker, Kubernetes)
Experience with monitoring and logging tools (e.g., Prometheus, Grafana, Splunk)
Experience with data processing tools like Hadoop, Spark, or similar