We seek a Senior Python Software Engineer to join our Search team and bring new features to life, and support our products' move to modern architecture. You will work closely with the product owner, area architect, and your team members to clarify business needs and technical requirements and define how to support them best. In close collaboration with other teams, your team will introduce new features and improvements to the process to provide a better experience for more than 11 million of our customers!
As our Senior Python Software Engineer in the Search team:
- with your Team and Product Owner, you will be working in a challenging Agile environment in close collaboration with other teams;
- you will participate in team’s technical/architectural discussions and decisions;
- you will develop and continuously deliver applications for one of the most successful pet e-commerce platforms in Europe;
- you will participate in the complete software development life cycle from discovery through coding, testing, deployment and maintenance;
- You will learn and grow your skills daily, striving for mastery using state-of-the-art technologies and practices such as AWS, Microservices, Docker, and more.
At the Search team, our primary responsibility is to design and further implement new features for the Search Engine and the Shop product Catalog API.
Requirements:
Must have
- Experience with Elasticsearch
- Good understanding of data structures and clean code
- Able to understand and apply design patterns
- You are interested in DevOps philosophy
- 5+ years of experience in software development is preferred
- Experience with Flask, FastAPI
- Willing to learn on the job
- Experience with relational and non-relational databases
- Frontend development experience, preferably in React
- Empathetic and able to easily build relationships
- Good verbal and written communication skills
Nice to have
- Experience working with Microservices
- Experience with TDD approach
- Experience in e-commerce domain
Responsibilities:
- Participate in solution investigation, estimations, planning, and alignment with other teams;
- Design, implement, deliver and implement new features for the Search Engine
- Promote and implement test automation (e.g: unit tests, integration tests, e2e tests and performance tests)
- Build and maintain CI/CD pipelines for continuous integration, development, testing and deployment.
- Deploy applications on the cloud using technologies such as Docker, Kubernetes, AWS and Terraform.
- Work closely with the team in an agile and collaborative environment. This will involve code reviews, pair programming, knowledge sharing, and incident coordination.
- Maintain existing applications and reduce technical debt.
Why this position:
- Here are several aspects of our team and work environment that contribute to a positive and fulfilling experience:
- We work in self-organized teams following Scrum methodology, respecting, and valuing everyone´s opinion.
- We learn from each other and share knowledge through pair programming, code reviews, and many training opportunities.
- We deliver value by developing new features, maintaining existing products, and improving all the infrastructure we need, so we would also like to have a colleague who is cross-functional.
- We are committed to delivering high-quality products and believe that continuous delivery, clean code, and a DevOps mindset are key to achieving this goal.
- Our team values a friendly and collaborative environment and greatly encourages open communication and teamwork. We believe in a team approach and do not assign blame; instead, we work together to build and maintain the system.
- We embrace diversity, having colleagues from over 50 countries. This means our working language is English.
These are some of the technologies/frameworks/practices we use:
- Python
- Elasticsearch
- JavaScript, React
- Oracle, PostgreSQL
- CI/CD with Jenkins pipeline
- AWS and Terraform
- Grafana, Sensu, ELK stack
- infrastructure as a code, one-click deployment, C4 diagrams
- Docker, Kubernetes
- Amazon Web Services and cloud deployments (S3, SNS, SQS, RDS, DynamoDB, etc.), using tools such as Terraform or AWS CLI
- Git, Scrum, Pair Programming, Peer Reviewing
- Kibana, Grafana, Sensu