We are looking for a Senior Go Developer to help us build our platform. This includes our main API, AMQP worker daemon as well as several other services.
The refurbed marketplace platform is written mainly in Go, uses PostgreSQL for persistent storage, RabbitMQ for asynchronous messaging, NGINX and Envoy for routing and internal load balancing. All of its infrastructure is deployed on Google Cloud Platform using managed services (database, messaging, etc.) where possible. We use Kubernetes to deploy and scale our platform.
The team has a strong history with *nix systems and deployments, that is why the original version of the platform was running on FreeBSD servers. As the marketplace grew, the system needed to evolve and at the beginning of 2020 the services were transitioned to Google Kubernetes Engine, using Google Cloud SQL (hosted PostgreSQL) for data storage.
While we make good use of the features available in Google Cloud, we are generally building on open-source technologies to stay provider independent.
We plan for much more growth, and it is important to be able to support that growth with a responsive and flexible architecture. The system is currently structured using a core REST API handling all access to the data stores and emitting business events to our AMQP broker. We are currently also rolling out a new gRPC API to supersede the REST API currently in use and will be using Protocol Buffer definitions to drive our API, generate clients, etc.
Events are processed asynchronously using different types of standalone workers. The workers are designed to be tolerant to failures, with automatic retries using different backoff intervals and with proper monitoring.
The platform also has integrations with different third-party services, such as payments, mail, analytics and metrics.
We are looking for a Senior Data Engineer to work in the intersection between engineering and data science. Help us improve our data processing workflows and push them to the next level.
We are looking for a Senior Vue.js Developer to support us in developing our external and internal interfaces. These include our checkout application, customer area and management interfaces for us and our merchants.