When we hire junior machine learning engineers, they’re often surprised by how we work, what we value, and what a normal day in our distributed machine learning team is like.
We asked two of our recent additions, Diana and Pierre, about their experiences working with us over the past year and this is what they told us:
- The autonomy of fully remote work makes them more flexible about designing an ideal work space.
- Working in different time zones turns out to have more advantages than disadvantages.
- They thought data science and algorithm design would be far more important, but they ended up learning more about engineering and effective teamwork.
- The learning curve for the engineering tools and practices was steeper than they thought, but they loved picking up these skills.
If you’d like to join our team, take a look at our jobs page or read about what it’s like to work as part of a distributed machine learning team below.
Trust and autonomy
Diana was surprised by how much inherent trust there was in the company. Everyone worked to their own schedule and had more autonomy than she was used to from previous 9–5 positions. She said,
“I wanted to move partially to Mexico and I was nervous to tell the team. They could have said ‘no’, or told me that I needed to stay in the same time zone as my team, but instead their reaction was ‘Oh that’s so cool, where will you be staying?’
“Now I spend part of the year in Mexico and it’s great. Our team is globally distributed so it just means, when I’m in Mexico, I overlap more with the other half of my team and get to chat with them more during work hours.”
Pierre similarly followed his dream to become a digital nomad after joining us. He now spends time in the Canary Islands, which he finds has many advantages over Paris, where he lived before. He says,
“The fresh air and sun are amazing – it’s really nice compared to the pollution in Paris. I feel much happier here in the Canaries. Becoming a Digital Nomad was a goal and I am very proud and grateful that I managed to achieve it, thanks to the flexibility offered by Data Revenue.”
He finds it much easier to disconnect after work, going for a walk in nature instead of staying in the same space where he worked the entire day.
Working across time zones is more blessing than curse
Our team is distributed across the world. People sometimes assume this makes communication and collaboration difficult, but it actually has significant advantages.
A natural division for communication and coding
Pat is based in the US but works mainly with clients in Europe. His day splits naturally into two distinct components: The morning is for meetings and communicating with colleagues and clients in the EU, and he can focus on coding and other technical work without interruption in the afternoon, while Europe sleeps. Pat says, “I enjoy part of my day being reserved for deep work by default – I don’t have to explicitly make this division as it happens naturally.”
Handing over hot issues to another time zone
When urgent issues arise, engineers in a specific time zone do not have to work until late in the night. Instead, they can pass details of the problem to a team in a different time zone, who can take over. “I can get some rest without stress, knowing that my team is on the problem,” says Pat. And then if the issue is still unresolved, it can easily be handed back again the next morning.
Engineering and teamwork are more important than algorithms
Programming and algorithms are undeniably important for advanced machine learning work, but this “core” is often only a small part of the overall solution.
Far more important than having the perfect algorithm is all the infrastructure and good engineering practices that surround it.
Everyone at Data Revenue understands at least some of the infrastructure or “Ops” work, and some people have discovered they actually enjoy it more than coding. “Some people now spend a majority of their time on Kubernetes and related areas,” says Pat.
It’s easy to teach a good team player a specific skill, like Kubernetes. But teaching team skills is often harder. In all our team members, we look for these team skills that include,
- Written communication: Communicating ideas efficiently – addressing potential questions in advance and writing in a way that’s valuable to both a beginner and an expert – saves so much time and makes work more fun for everyone.
- Supporting your colleagues: Whether by sharing knowledge or helping out on a specific issue, we look for people who can work together to produce something greater than the sum of individual outputs.
- Estimation: Technical estimation is hard in general and impossible to get right every time, but being able to look at a problem and estimate how much time would be required to solve it is a hugely valuable skill.
We trust everyone in the team to communicate with our clients
Diana was also surprised to find herself communicating directly with clients shortly after joining. We often solve challenges related to figuring out how to deploy a tool under specific restrictions or into specific environments. Instead of having long communication chains and playing broken telephone, our engineers talk directly to our client’s engineers to figure out solutions together.
The learning curves are steep but satisfying
Both Diana and Pierre found their first two months “very intense.” They had not used tools like Kubernetes and Terraform before, and had only limited experience with object-oriented programming, testing, IDEs, and Docker.
The imposter syndrome kicked in fast but they both said the team culture of sharing knowledge and very active support more than made up for that. Diana says,
“People are super open and always available to help. No one has ever said ‘I can’t help, I’m too busy’ when I’ve had a question or a problem.”
But while they were intimidated at being thrown in at the deep end, both quickly learned to swim. Diana says, “people think that you can’t learn engineering skills if you don’t have the background, but these skills are totally learnable.”