Work with our
technology stack.

We are building a SaaS-enabled marketplace in the air freight industry. On the supply side we work with different airlines all over the world. Our platform maintains a technical integration with each airline which enables us to access routing information, live rates and live capacities from our partners.

On the demand side we are serving freight forwarders which manage the complete supply chain for their shippers combining road, rail, ocean and air. Our freight forwarder customers can access the cargo.one SaaS product to compare offers from the different airlines, book them directly through us and track them from the moment the freight is handed over to the airline until it is successfully picked up again at the destination airport.

Our frontend applications are a mix of Python and Javascript. The flask framework serves as a server-side component, managing the session and serving as a proxy between the backend services and the Javascript layer.

On top of this we are running single page applications based on the Vue.js ecosystem and ES6. We are utilizing a number of tools from crossbrowsertesting to Sentry to ensure quality. Fullstory and Google Analytics help us to understand user interactions and drive the experience in the right direction.

We firmly believe in a service-oriented approach when structuring an application. Python is our main language for backend services and Postgres serves as our default choice for data persistence. All services offer synchronous APIs based on the GRPC framework which means that messages are encoded in protocol buffers, transported with HTTP/2.

From an architectural perspective synchronous APIs are awesome because they are easy to reason about. On the other hand they can be limiting and lead to strong coupling and request chains going through the system. We are mitigating this by orchestrating service interactions through Apache Airflow.

The raw computing power of cargo.one is supplied by the Google Cloud Platform, most of the hardware we utilize runs in their data centers.

Every piece of our software is packaged as a container. The packaging is done on separate build systems with build pipelines based on Gitlab CI. We are strong believers in the Kubernetes ecosystem and use it as the foundation upon which we run our containers. Combined with tools and systems for tasks like centralized logging, monitoring, or credential management designed for a cloud-native environment, our infrastructure allows for fast iteration by not standing in our way.

How we work in an early stage startup

We move fast.

While it sometimes can make sense to take things slower and get it right on the first try, we generally tend to try things out and throw them away if they don't work rather than doing an elaborate pre-study first.

We are focused.

Adapting to changing circumstances is difficult enough, so we work hard on not losing ourselves in dozens of different topics. If everything is important, nothing is.

We are flexible.

Even though we try to plan ahead and figure our what is going to be relevant in the near future, things can change rather rapidly and we have to adapt to those situations.

We are comfortable with some chaos.

There is no defined and structured process for every task that has to be done. We count on our employees to figure it out.

"I’m proud to be working on a project that uses modern technologies to lead an industry into a digital future with a team of professionals who care about healthy development processes."

Yaroslav Nezval

Backend Engineer

How we build awesome tech

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Point Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore

Point Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore

Point Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore

Join our team

Interested in working alongside a diverse team using agile methodologies?
Check out the open positions in our engineering department!

Abdullah Al-Emami

Backend Engineer

Mike Rötgers

CTO & Founder

Mohamed Elaskalani

Frontend Engineer

Yaroslav Nezval

Backend Engineer

View open positions

What our 2-week sprints look like

We're utilizing the Scrum framework with 2-week sprints.
So your short-term goals are very much influenced by this rhythm.

Day 1

Sprint Planning

At the start of every sprint, the development team sits down with the product owner to go through the backlog.

  • Discuss upcoming work and ask questions

  • Discuss high-level solutions and estimate work

  • Plan upcoming sprint

Breakdown tasks in sprint

The Scrum framework promotes self-organization within the development team during the sprint. As a consequence it is up to the team how the stories are approached.

Day 2

Conduct daily scrum

Day 7

Product Backlog Refinement

In the refinement we go through new tickets in the product backlog that could become relevant in the near future. We clarify requirements, improve ticket quality and estimate the difficulty

Review finished tasks with relevant stakeholders along the way

Day 14

Sprint Review

At the end of every sprint, the development team sits down with all relevant stakeholders to inspect the results of the sprint.

Sprint Retrospective

The development team reflects on the past sprint and identifies things that went well and things that could be improved in the next sprints.

We want you to assume responsibility for the sprint together with your team. If you deliver the tasks you picked but the rest of your team struggled and isn't done, no one won anything and potentially no value was delivered.

You will not find tech leads or team leads in our setup. Every member of the development team is equally required and called upon to display leadership and help the team to succeed.

The bigger picture

We want you to understand the industry, the product and our customers. We want you to understand why we are doing what we are doing.

While you will spend most of your time with your Scrum team working on the sprint, we want you to keep an eye on the company objectives and what the other departments are doing and contribute your ideas and thoughts to make better decisions.

The bigger picture

We want you to understand the industry, the product and our customers. We want you to understand why we are doing what we are doing.

While you will spend most of your time with your Scrum team working on the sprint, we want you to keep an eye on the company objectives and what the other departments are doing and contribute your ideas and thoughts to make better decisions.

Join our development team

Our company is still small in size. We are overall 16 people and 7 of us are directly involved in developing the product.

View Open Positions

Interested in building tech with us?

We are currently growing our tech team! Check out the open positions we have and if you are up for the challenge, please apply and send all relevant documents to jobs@cargo.one

View Open Positions