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).
Salt is currently hiring a Software Engineer for a client of ours in Amsterdam. A Software Engineer is responsible for delivering high-quality technical solutions across the organization’s technology stack, products, and platforms. This role owns the implementation of software solutions based on business requirements, provides accurate effort estimation, and consistently delivers well-crafted, maintainable code. The engineer recognizes that the quality of automated testing is as important as production code and continuously refactors both to improve maintainability, reliability, and long-term development velocity. Working closely with cross-functional teams-including product managers, software engineers, AI engineers, and customer support stakeholders-this role contributes to the design, prioritization, and implementation of technical solutions. As part of the AI Automation team, the successful candidate will help build AI-powered capabilities that enhance customer experiences, improve operational efficiency, and empower customer support teams.
Job Responsibility
Design, build, and maintain scalable software applications using modern programming languages, frameworks, and development tools
Write clean, readable, reusable, and maintainable code following established engineering standards and best practices
Refactor and simplify existing codebases by applying appropriate design patterns and software engineering principles
Ensure application quality through comprehensive unit, integration, and automated testing
Maintain data security, integrity, and quality by adhering to organizational standards and security practices
Own services throughout their lifecycle, including development, deployment, monitoring, and ongoing maintenance
Monitor application health, performance, and operational metrics to ensure system reliability
Reduce operational risk by implementing best practices, maintaining documentation, and creating operational runbooks
Support continuous delivery practices, experimentation, and safe production releases
Independently manage deployments and production operations
Investigate and resolve production issues while minimizing customer and business impact
Perform root cause analysis to improve system reliability and prevent recurring incidents
Contribute to incident documentation, postmortems, and continuous operational improvements
Design scalable, secure, and maintainable software solutions that meet current and future business needs
Evaluate architectural options based on technical requirements, cost, scalability, and maintainability
Consider infrastructure, cloud, and operational impacts when introducing new systems or enhancements
Contribute architectural guidance and technical recommendations during solution design discussions
Leverage engineering techniques such as prototyping, proof-of-concepts, and technology evaluations to accelerate delivery
Identify opportunities to improve engineering processes, system performance, and development practices
Contribute to engineering standards, documentation, and technical best practices
Promote code quality, automation, and operational excellence across the team
Mentor junior engineers and support knowledge sharing within the engineering organization
Analyze complex technical challenges to identify root causes and practical solutions
Evaluate alternative approaches and make data-driven technical decisions
Continuously seek opportunities to improve systems, processes, and engineering outcomes
Communicate technical concepts clearly to both technical and non-technical stakeholders
Collaborate effectively with cross-functional teams to deliver business value
Participate actively in design discussions, sprint planning, code reviews, and technical decision-making
Build strong working relationships through active listening, constructive feedback, and transparent communication
Requirements
Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience
Proven experience designing, building, and maintaining microservices-based architectures
Strong proficiency in Java with hands-on experience using frameworks such as Spring Boot and Hibernate
Experience developing and deploying applications on Amazon Web Services (AWS)
Strong experience with relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., DynamoDB, Cassandra)
Experience with Kubernetes and containerized application deployment
Strong understanding of software engineering best practices, including automated testing, CI/CD, and code quality
Excellent analytical and problem-solving skills
Strong written and verbal communication skills
Ability to work effectively both independently and within cross-functional teams
Nice to have
Experience with AI orchestration platforms, workflow automation, or process automation
Experience designing and building Generative AI solutions, AI agents, or agentic workflows
Familiarity with LLM integration, prompt engineering, retrieval-augmented generation (RAG), or AI application development
Experience designing and implementing GraphQL APIs
Exposure to event-driven architectures, distributed systems, and cloud-native application development
Familiarity with observability tools, monitoring, and production performance optimization