Middle, Senior Python Developer
What is the project and why should you care?
Optimove is a global marketing tech company, recognized as a Leader by Forrester and a Challenger by Gartner. We work with some of the world’s most exciting brands, such as Papa John’s, Staples, and Entain, who love our thought-provoking combination of art and science. With a strong product, a proven business, and the DNA of a vibrant, fast-growing startup, we’re on the cusp of our next growth spurt.
Our R&D operation is a dynamic environment, where every developer can impact the flow of technology – from introducing the smallest library to making big infrastructure changes. We welcome open-minded developers who like to share knowledge and help each other to push Optimove forward using the cutting edge of today’s tech. We are looking for talented developers, and strong and energetic A-players interested in developing cutting-edge technology to make an impact on our company and on the entire MarTech industry.
You will be an excellent fit for this position if you have:
- Python 2/3
- OOP and SOLID principles of knowledge
- Experience in using Test Frameworks Unit and Performance Testing
- Integration, E2E
- Experience with RESTful web services and 3rd party APIs integrations
- Experience with Rest API using FastAPI or similar
- Python 3.6+ features: ayncio, typing, etc.
- Web scraping, scrappy, bs4, selenium
- AWS Serverless stack: Lambda, Kinesis, DynamoDb, SNS, S3, Glue
- Athena
- Docker, ECS, or k8s
- IaC, CloudFormation, CI/CD pipelines
- Optional, as a plus: NodeJS, ML, GCloud, Bi
Here are some of the things you’ll be working on:
- Implement solutions, and contribute to technical design
- Prototyping of new solutions
- Do bug fix and refactor solutions when needed
- Follow engineering processes (code review, grooming and etc.)
- Implement unit tests and other automated tests as appropriate
- Analyse business requirements, transform them into functional/non-functional requirements, provide estimates
- Identify and communicate required changes to business requirements, working closely with stakeholders and presenting work back
- Participate in the recruitment process during CV pre-screening and interviews
- Mentor junior team members and participate in leveling of the team members
- Escalate to Delivery Manager and Employee Relationship Management team in case of talent loss risks