About the role
The challenge: Building a containerized data science environment
- We offer a flexible data platform enabling businesses to create interactive, data-driven decision tools and automations. Our mission is to combine sophisticated data science with a great user interface and experience.
- Our ambition is to create a platform that gives data scientists a flexible, consistent, and simple environment based on Docker containers, where their code can be written in a large variety of languages (Python, R, Go, Scala). This tool then turns their code into stateless functions, that can be easily deployed into powerful data pipelines.
- One of our key projects is building an easily deployable data science environment in Go, which we will open-source in the course of this year.
Go, Docker, Kubernetes, Git
Being fluent in Go is a must . Ideally you have worked on complex applications, maybe even something that has been open-sourced.
We highly appreciate experience in:
- Go engineering
- Containerisation (Kubernetes, Docker)
- Networking (http, http2)
Who we are
- Contiamo is a Berlin-based, fast-growing tech company.
- We are tech-driven and keep a close watch on recent scientific developments and emerging technologies. We love open-source. We are a very international team with interesting people from all over the world (95% of us have relocated to Berlin).
How we work
- We strongly believe in the importance of uninterrupted time to get stuff done and quality over quantity when it comes to working hours. We prefer to keep our schedule meeting-light and work in a library-like atmosphere during the core hours.
- We believe the ability to give and get constructive feedback and express divergent ideas is crucial to make innovation come to life. We live a very open discussion culture and prefer the evaluation of ideas based on merit over top-down decision making.
- We strongly believe in ownership of one's features, from spec to implementation to operation. We also understand that ownership comes with a sense of responsibility towards others that depend on the results of our work.
- We believe that that everybody should be able to find meaning in their work. We match assignments based on both ability and individual interests and discuss your progress and individual needs every 3 months.
- We don't see people as "resources" and genuinely care about each other. We also understand that there's more than fancy perks and cool events to people's satisfaction and engagement. We continuously work towards an environment providing a lot of autonomy, transparency and development opportunities and rely on everybody's feedback to hold us accountable for maintaining our high standards.
About the interview process
How we get to know each other
- We like to start out with a brief 20-30min session for a mutual introduction. We tell you about our company, product and culture and are happy to answer any questions you might have. From your side, we're mostly interested in understanding what kind of challenges you're looking for, what technologies you'd like to work with and what role you'd like to be in.
- If both sides agree that this could be a good fit, we move on to a more technical session. We ask you to walk us through one of your past projects as if we were new colleagues joining you on the job. The ability to communicate effectively and concisely about complex systems and trade-offs between different approaches is key.
- In a second technical session, we discuss some of the technologies and concepts you have used. We also give you a walk-through of our product and solutions, discuss our architecture and components. Finally we try to scope your initial role and focus — should you be joining us.
- In the last session, we discuss the remaining details, logistics and plan your relocation.
We see the interview process as a mutual opportunity to get to know each other — at eye level. That's why we won't ask you to work for free on any coding assignments and always strive for responding within hours, not weeks.