As Python slowly became our glass ceiling on various CPU intensive tasks we decided to ask around for what to switch to. A language with which we can continue to develop quickly and release often but without GIL (and similar) restrictions. We asked and the cool kids told us to go nuts. So here we are looking for a Gopher to join our ranks.
We are looking for skilled developers to participate in the development of the search-related services of our product.
Our main challenge is the creation and maintenance of highly available APIs to provide our customers with a nontrivial amount of the most relevant itineraries we can offer, as fast as possible.
Our responsibility is to ensure all business logic is correctly implemented. Our search engine is our know-how and people that create and maintain it need to have a deep understanding of it.
You can expect to:
- build high available low latency services around Scylla or other storages where we keep all data about transportation
- create simple and usable APIs for other teams using REST and GRPC
- own the full lifecycle of feature development from design through testing and release
- actively cooperate with other teams who consume or provide the data to it and participate in decisions regarding the future and how we will model our data based on our shared needs
Our requirements are:
- you are a self motivated individual able to work in a distributed team
- proficiency in idiomatic golang
- good knowledge of various implementation recipes for concurrency/parallelization and when to use them
- familiarity with common packages for testing, logging and building microservices
- knowledge about database systems or interest in them
Nice to have:
- familiarity or previous experience with Python as part of the job is also reading current implementations of services which we are replacing
- experience with Gitlab CI and also Gitlab in general as we version our code in self hosted instance of Gitlab
- hands on experience with Cassandra/Scylla
Our current tech stack is:
- we use docker images to package our services
- images are being deployed and orchestrated using rancher or gcp (kubernetes), we choose our orchestrating tool based on our needs, some services must run on bare metal, when this is not a case we use gcp’s kubernetes
- asynchronous pub/sub messaging services – currently it is cloud pub/sub
- scylla as a database to make sure we keep up with our high loaded services
- stackdriver profiler to avoid premature optimizations
- datadog for metrics collection and tracing of requests
- logz.io for querying and storing logs
Why it rocks to be at Kiwi.com:
- We deploy immediately after a job is completed, not after months of QA.
- Do, fail, learn – repeat! We understand that mistakes happen and we learn fast.
- We decide which cutting-edge technologies are appropriate for the task.
- We love contributing and using Open Source.
- We visit and speak at conferences and technological events worldwide.
- We code at hackathons and other competitions.
- We support the local technological community.
- We use our work time wisely with a friendly vacation policy and work schedule.
- We also like to party and hang out together.
- We work, play, relax, workout and even nap in our offices (complete with sauna, gym, masseur, sleeping spots, canteen, chillout zones, free refreshments, etc).
- Dogs, kids and parties are welcome in our offices.
- We also enjoy common benefits, such as meal vouchers, flexible benefits scheme, sick days, VIP Medical Care, flight vouchers, multisport card, etc..
- Besides a fair salary, we can also look forward to quarterly bonuses dependent on our performance.
Your manager to be