Python Developer

Details

Status:
Gearchiveerd
Publicatiedatum:
19-1-2019
Weergaven:
53
Reacties:
3
Op locatie:
Amsterdam
FTE:
40 uur per week

Opdrachtomschrijving

Our client is looking for someone to take the lead in systems architecture and platform evolution. They have two main Python projects, both requiring Python technologists with solid architecture skills in data modelling, inter-service communication, data science / ML and a feel for business modelling and the mapping of core systems to commercial activity.

The first of their projects relates to a re-thinking of the architecture of our ERP system and its relationship to the business. Our client is an online retailer (like AliBaba or Amazon) so you can imagine that the ERP system, which coordinates logistics and stock management, is like the cardiovascular system of our company, delivering products to our customers, stock to our warehouses and financial insight into the finance team.

They have evolved with the ERP system (OpenERP) for some years and it’s served us well. They are going to jump forward some versions (from 7 to 12).

This is a great opportunity to pause, rethink our architecture and radically change the way they use it. There’s an opportunity to refactor business processes by considering a more thoughtful mapping of business functions into the ERP or augmenting it with extensions from their own backend service mesh.

Because they will be jumping from OpenERP (Odoo) 7 to version 12—which implies a Python switch from 2.7 to Python 3—this is essentially a green fields project to think about how the ERP system should map to the business and what backend companion services we should build around it. They are separately building an internal innovation division which we want to leverage the ERP system to the max while remaining loosely coupled to it. That’s a tricky architectural (and business analysis) problem.

So, for that project we’re looking for these skills:

  • Strong data modelling skills in mapping business behaviour into system entities.

  • Good non-technical communication skills to engage with the business and understand the complexities of a multi-country logistics organisation.

  • System architecture skills around making key re-architecture decisions.

  • Lots of experience in inter-service messaging, understanding tradeoffs between synchronous and asynchronous event-driven styles.

  • Experience in Event Sourcing and CQRS designs.

  • Strongly opinionated around data architecture. These entities within the ERP really are the building blocks of our business; they define the DTOs right up into the React frontend.

  • Quite separate to all of that, which will be the main focus for the next year, they are also re-architecting other parts of the business from the ground up and building a data science team and platform for advanced data analytics. Our backend is moving to a service mesh configuration (i.e., a microservice architecture with service instance sidecars) and they are using Kotlin on the JVM with Istio for that.

That presents an opportunity (long awaited) to redesign our data architecture. They are a big fan of immutable data and our database design reflects that. It’s an immutable, append-only design (aka log-centric or Event Sourcing) implemented in Google Cloud’s Bigtable. An immutable time-series, event-based design is the ideal foundation for an analytics framework for the advanced customer experience personalisation we want to deliver via our mobile apps and also for delivering actionable insights that can optimise the logistics parts of our business.

For that work, the main skills we are looking for are much the same as above but with data analysis tools like ElasticSearch, Pandas and TensorFlow. Though, we’re at the start of that journey, so if you have some insight into better tools, we’re completely open to that. In fact, we positively want people to join our team with their own experiences, insights and ideas who can come in and tell us, Even better, you should be doing it like this instead!

Verder kijken

Vergelijkbare open opdrachten