Own your code from design to production, including tests, deployment, and monitoring.
Maintain and rewrite existing functionality.
Participate in the design and development of features and services.
Solve various product challenges with creative solutions.
Work both autonomously and collaboratively with the team and other Optimove teams.
Follow Agile processes (Scrum) with Product Managers.
Requirements:
B.Sc. in Computer Science or equivalent.
5+ years of professional experience as a software engineer with a strong emphasis on backend development (preferably .NET Core, JavaScript/TypeScript/NodeJS/NestJS).
Excellent knowledge of software design and scalable software architecture.
Experience with Docker and Kubernetes for containerization.
Knowledge of using CI/CD pipelines to deploy applications.
High standards for code quality, testability, maintainability, security, and performance.
Hands-on experience with relational or document-based databases.
Team player with excellent communication and collaboration skills.
Preferred Qualifications:
Hands-on experience with distributed systems based on event streaming (Google Cloud Pub/Sub, Kafka, Google Dataflow, etc.).
Experience with client-side (web) development, preferably with Angular.