Development Team Lead(Cloud, Python)

Data, Analytics & Insight Warsaw, Poland


Description

Position at Choreograph

Choreograph is a new global data company, to help clients realize the value of their first-party data, consult on and implement their data and technology strategies, and advise on privacy-first approaches to navigate the fast-changing data landscape. Choreograph brings together the specialist data units of GroupM and Wunderman Thompson into a single company with global reach, accessible to all WPP clients and companies.

Choreograph’s core belief is that marketers own their first-party data with consumer permission; respect for privacy and the intentional use of data is at the heart of its approach. Guided by this philosophy, Choreograph will continue to create market-leading tools to support clients in the appropriate and responsible application of data in advertising.

WHO WE ARE LOOKING FOR

Development Team Leader drives the work of the team by providing a mature point of view on technical implementation of tasks delivered by a team. You provide expertise and leadership in the infrastructure and applications space, and use your technical depth and ability to pull together diverse options to produce improved solutions. You provide input into technical decisions from design through to build and implementation.

WHAT YOU’LL DO

  • Deliver day to day leadership to a team of developers located locally or remotely
  • Provide designs and solutions that allow the project teams to deliver software on time and to agreed functional and non-functional specification
  • Provide technical leadership in order to make sure that the designs are implemented using appropriate tools and techniques in line with the approach agreed by the Architecture Chapter
  • Share the technical vision by programming together with the teams you support; pair programming is the best tool to convince people to your way of thinking.
  • Make sure that the team participates in the process of requirements identification alongside the business analysts and product owners
  • Lead the team feature estimation effort.
  • Address any architectural, implementation and infrastructure issues that prevent the team from delivering software; advise on changes needed to remove the root causes of the issues
  • Design and maintaining the topology of applications and services; define, design, own, and guard our APIs
  • Learn and expand the domain knowledge and act as an expert during specification sessions
  • Take part in technical interviews for your team
  • Interface with other tech teams for coordination
  • Make sure that the team maintains the code quality standards, and keep the technical debt to manageable levels
  • Assist the Product owner to schedule upcoming work
  • Identify the resources the team needs to succeed
  • Hire, train, onboard new team members
  • Own the Definition of Ready

WHAT YOU’LL NEED

You have a proven track of:

  • Providing leadership for local and remote development teams
  • Application of architectural design patterns
  • Solving legacy code riddles and always learn from mistakes; you only break something once before you fix it
  • Guiding the evolution of monolithic systems into scalable service oriented ones
  • Architecting systems that are mainly based on cloud solutions
  • Lean delivery, just in time
  • FLuent in Polish language

You can demonstrate the ability to:

  • Write software using one of our core languages (Python, TypeScript)
  • Write software using a service oriented approach. You know its benefits and pitfalls. You can describe them and suggest approaches that address the issues
  • Writing software using test driven development, and behaviour driven development
  • Ability to express your ideas using diagrams and schemas
  • Ability to communicate complex technical and business concepts to a range of audiences
  • Design and implement event driven systems

You have knowledge of:

  • Architectural patterns (Multi-tier, Hexagonal, Microservices)
  • Python 3 family
  • Message and communication patterns: AMQP, RPC, GRPC, REST
  • APIs definition with OpenAPI, and/or Protocol Buffers
  • Testing tools and types of tests (junit family, behave, Jasmine)
  • Specification tools (Gherkin, Fitness)
  • Diagramming solutions (BPMN, ERD, sequence diagrams, UML nice to have)
  • Google Cloud or AWS
  • Relational databases such as PostgreSQL
  • Big Query
  • Sound knowledge of Git
  • Docker, Kubernetes, Helm

It would be nice if you knew:

  • Java and Spring
  • Data warehouse (Hadoop, Hive, Spark, Presto, Kafka)
  • Frontend frameworks (especially Angular)
  • ETL solutions such as Apache Beam, Airflow
  • One or more of the following: machine learning, recommendation systems, natural language processing, or sentiment analysis
  • Continuous Integration and Continuous Delivery such as GitLab
  • Knowledge of networking and cloud-based delivery models
  • Extreme Programming
  • Non relational databases