Senior/Expert Python Engineer

  • Sherlock
  • Remote job

Senior/Expert Python Engineer

Job description

If you're passionate about your work and using Python in real-life systems, putting Machine Learning prediction and optimisation models to production…

If you’re excited to work with a large-scale, on-premise cluster extended with cloud-based solutions…

If you like to work in a team of talented and passionate Software Engineers, developing your programming skills...

If you’re eager to share your experience, help others, and serve as a technical guide, leading by example...

If you like to contribute to the open-source community...


...then we have some good news for you! We are looking for someone just like you. We want you in our team!

Job requirements

What & How

We value good understanding of the best code practices and at the same time good and open atmosphere at work. You’ll be working in a cross-functional team for one of the biggest retailers on the planet, shaping solutions for a hybrid cloud infrastructure (Hadoop, Apache Spark, Azure), automated CI/CD pipelines and IaaC solutions. We value rapid delivery and use either a Scrum or a Kanban approach. We peer-review 100% of our code and yes, we test the code thoroughly. Last, but not least, we cooperate with each other and value teamwork. We believe that good work-life balance is important for your development and satisfaction and we do highly value your time, passion and dedication.


What we expect

We are looking for a team player who: 


  • is fluent in Python (knowledge of JVM languages is a plus),
  • has at least basic knowledge of (py)Spark and Hadoop stack,
  • is familiar with Linux environments,
  • knows how to write high-quality code, has a good knowledge of fundamental data structures and algorithms, also understands the best practices principles (DRY, YAGNI, SOLID, KISS, composition vs inheritance anyone?),
  • has fluency in English language, as seamless communication is one of the most important aspects of software projects,
  • last, but not least, is a team player (happy to learn, help, share responsibilities and contribute to the team success).


You should come with experience and ability to pick proper tools and be able to strike a balance between good engineering practice and over-engineering as well as new features versus code maintenance - something not obvious. We would also expect you to grasp the business domain of a given project, to guide your choices. But what’s probably most important - you should put heart into your work. If you’re curious, committed, willing to learn and share, and can help and inspire others, you’ll fit the team.