How could using random values within your specs lead to better documentation and greater confidence? This post will use Ruby and RSpec to introduce some concepts from property based testing.
Sorbet is a Ruby type checker developed by Stripe. What's a type checker? What kind of type checker is Sorbet? Should you use it?
An interview with a Full-Stack Engineer on how she started coding and what it’s like to work at Drivy
How to reimplement iOS's alert for cellular data error
Some small tricks and examples to improve your code
The new proc composition operators: << and >> - a small feature that can easily be overlooked.
We will share with you the reasons why we've changed our Data Warehouse technology from Redshift to Snowflake.
Airflow Architecture at Drivy: a quick overview of Airflow architecture at Drivy
A Ruby gem to run regression tests on your data using a convenient DSL.
Avoid blowing up your memory while running big SQL queries
A few tips and examples to avoid basic security issues in a rails application
Parent Navigation has always been a tough topic on Android. There are not a lot of apps that implement the guidelines correctly, maybe because they are hard to understand or complicated to implement.
Transactional emails are very important for a successful experience. So, how are we dealing with broken email addresses?
Rails 5.2 comes with awesome features: here we'll talk about ActiveStorage
Modern Android development, From Java to Kotlin, Design Tools, ADB, Typesetting and more: key takeaways from this 2018 edition.
Ensuring visual consistency across an application can be tricky: a few tips about how we do it at Drivy.
We started doing hack days to work together on new ideas. It was a lot of fun, so we decided to share how we did it and some of the results we saw.
We will share with you some insights, tips and tricks on how we managed to increase performance, robustness and reliability of Redshift as our usages changed over time.
Illustration of a subtle change to the way that Rails 5.1 tracks model changes in callbacks
One of the most known pain point in API development is keeping up-to-date documentation. Let's see how we managed to do it using unit testing.
A summary of pro tips for enhanced productivity, recently shared by the dev team during a Tech Talk
A handpicked selection of the dotJS talks you should watch first.
The Drivy team was at the 2017 DotCSS conference. Here is a digest of the talks we found the most interesting, including a search engine build in CSS or what can be done with the grid property.
We present how we use Embulk to move data across multiple datasources thousand times a day at Drivy
Sometimes you just need to send a lot of emails, and services that make it really simple can get too expensive. Here is how we sent an e-mail to all our users and what we learnt.
For a few weeks, Drivy has been available in the United-Kingdom. Unlike the others Europeans countries where Drivy operates, the United-Kingdom use a different currency: we had to make some changes in our Android apps to support this.
Making sure that the data we use is of good enough quality is very important. Here is how we ensure that the data we collect, store and process is meeting our quality requirements.
A simple way to sanitize the user's form inputs using the Virtus custom coercion.
To stay agile and reduce risks related to large releases, it's important to be able to ship code fast. In this article we showcase chronologically all the iterations which have lead to what we currently do at Drivy for quick and efficient releases.
A list of plugins and config tricks for maximum productivity with React in Vim
By telling stories in you code, you can offer various levels of details to make the reader's life easier. In this article we go through a refactoring of that kind.
Targeting junior developers, this article shows a simple technique to declutter controllers through the addition of a simple object.
A collection of tips and practices we find useful at Drivy for taking large features from planning to production.
Answering customers' questions is good but fixing the original problem is even better! Here we describe the various steps we took to leverage our users' feedback and questions to improve the overall user experience on our platform.
How to use the new headless version of Chrome to replace PhantomJS and test a Rails application.
How we work to avoid the usual pitfalls of software recruitment: whiteboard coding, trivia questions... instead we look at code the candidate wrote before and discuss real problems encountered at Drivy.
Different tips to design a state machine that improves your codebase quality and eases communication within your team
Android Makers 2017: a quick overview of the conferences we found the most interesting
Feedback from a Junior Full Stack developer at Drivy since six months after graduating from a two-month bootcamp at Le Wagon.
Give more depth to your application's state using value objects. In this article I show one use of a common pattern in order to help you reduce the cognitive load carried by implicit assumptions.
A guided tour through covering common software practices enhancing simplicity. In this article I share my vision of code simplicity is by giving some context about software and code.
These are the slides of a presentation I gave at ParisRB. They present the new developer features of 5.6, 5.7 and what's coming in 8. It also shows how to use some of these features with Rails.
Having a clean git history is really useful for big pull requests. In this article we'll see how to edit previous commits to avoid clutter.
Monitoring your taskqueue to get deeper visibility on usage trends, find out slow jobs or queue congestion. Here's how we do it with a Sidekiq middleware, InfluxDB and Grafana.
Being agile on mobile apps has always been a challenge. You have to deal with users that don't update their apps and with the validation time on iOS. Let's see how to update your app without submitting a new version to the Play Store / App Store.
We sometimes use the Rails console in staging or production to fix rare issues and we've built a tool to have a better visibility and control of commands executed in the console. This article explains why we decided to build this and how we did it.
In order to share a file with other apps, the simplest way seems to be using the external storage as a temporary place to keep your file. However it has many drawbacks: more permissions are needed, you have less control and you leave more mess. Here is a solution to avoid this!