Why Should I join CoverWallet?

Jonnyjava Net
Coverwallet Engineering
6 min readFeb 10, 2023

June 2018. I’m alone, in a meeting room, preparing for another interview; my colleagues know I’m actively looking for a job and I received a call a few days before, to apply for a job at CoverWallet.

They are going to open a new office in Valencia, as they are in an upscaling moment. Their backend is heavily based on Ruby on Rails and they need a senior developer. It looks like a serendipitous situation.

The technical part of the interview is hard, but I survive, now, in the last part of the interview it’s my turn to ask some questions; as it’s something I’m used to doing, I know what to expect and I have my strategy prepared.

I ask: “When I look for a job it’s because I want to grow, become a better developer, and find the missing opportunities I can’t find here hopefully in a healthy environment; as you can imagine I need to ensure I’m going to a better place, so I guess you don’t mind if I’ll make you The Joel test, have you ever heard about it?

Interviewer: “Yes of course

Me: “Really? Wow! (he was the first one I met in 10 years), Then let’s go!

Long story short, CoverWallet scored 10 out of 10 points, it was the place I was looking for. After almost 6 years I have recommended it to more than 50 people, and I’m proud to see that some of them are still here and happy at my side.

Every time I speak to someone, trying to explain why they should join CoverWallet, the questions I receive are almost the same, so I thought it’s worth collecting them here; but before starting I have a disclaimer: I’m not selling the company, so do not expect birthday cakes, fancy dinner photos, funny team building histories or the typical blablabla about how nice the environment is and how lovely the colleagues are. Everybody Any company can have that, but we have what just a few do: hard, juicy, challenging, out-of-your-comfort-zone: WORK.

That’s the real meaning behind the question “why should I join CW?” people do me: “is CW a better place to work and grow professionally than the one I’m now?”. Usually what people want to know is:

What’s the challenge? You sell insurance, it does not sound very exciting…

Have you ever thought about how complicated insurance is? Understanding my car insurance drives me crazy, can you imagine how hard it is to simplify the process to insure a shoe factory, a pizza shop or a plumber?

How many companies can offer insurance for that need? How can the user easily understand the differences and compare them? And what about payments? For my little city car, I can swipe my credit card and pay, but what if I own a logistics center and I need insurance for a big truck fleet?

If this is still not enough, think now on a global scale, we operate on 4 continents, and each country has its own rules, laws, restrictions, money, taxes, and hundreds of other differences; are you able even to imagine yourself designing a product that is flexible enough, scalable and customizable to achieve that?

It sounds interesting but what’s the day-to-day way of work like?

As you can imagine with a complex platform, (and so many people, we are 200+ engineers!) we need a fluid organization. Teams are organized in tribes, each one with its own (more or less) well-defined domain, the typical team has a Product Manager, a QA, and a mix of FE, BE, and Salesforce developers and it does SCRUM like the manual says, but of course, there are infinite variants of it. In those years I’ve been in teams working comfortably in pure kanban mode, others with a lightweight SCRUM and I have even been able to deliver things alone with no methodology when there was the need.

There are pure FE, BE, or SF teams, there are liquid teams where people rotate between projects inside the tribe to gain more context and there are even architecture teams where people produce tools for other devs; in other words, it does not matter what your preferences are, there is plenty of space for you.

It sounds like chaos, how do you maintain a good delivery pace without being overwhelmed by legacy code and bugs?

This question usually comes from burned-out people. They work or have worked in a chaotic company and they don’t want to repeat that awful experience.

Luckily it’s not our case; our CTO loves to say “quality is a must” and it’s not just a slogan nor a hippy reference to the boy scout rule; instead it is a set of processes and strategies designed to help us to deliver the best quality every day.

First of all, unit tests are mandatory, no pull request will pass a review if the code doesn’t have a good test coverage; secondly, we have processes and tools in place to measure that the code is in a good shape (like the QualityScorecard or SonarQube), thirdly, we have a QA team who write a lot of E2E automation to ensure we deliver non-breaking changes to production. Finally, each team is the owner of their projects, being free to open any discussion and propose improvements, rebuilds, or any other changes that make sense, no matter the size.

I have to say that it hasn’t always been this way, now our business model is solid, proven, and profitable, so there is space and time to innovate, toughen up the platform, and improve the code. When we were a startup, well, that was another story

What’s your tech stack? (or variants like, I come from language X, may I apply anyway?)

My experience tells me that when people ask about technology what they really want to know is, what and how much they can learn.

My usual answer is that we have a giant tech stack. What is new today becomes obsolete in one year. Yes, the foundation of our platform is RubyOnRails and NodeJS for BE, React for the FE, AMX for Salesforce, and python for Data but there is plenty of space for innovation.

Each team is free to experiment and introduce new technologies as they need, good examples of that are the migrations we did from Heroku to K8s, or from NewRelic to Datadog, the introduction to an Event-based communication, or the actual switch to a DDD approach. Even our CI/CD strategy has evolved through the years and now we are in the middle of the introduction of Monorepos.

In the beginning, there was a monolith, now we have a galaxy of 100+ services interconnected between them and floating in a multiverse powered by a Configuration Management System, so as you can imagine they are huge changes, that not only bring new pieces to the tech stack but new processes, skills, and habits.

Even on a small scale, there is so much to learn; the company encourages people to go out of their boundaries to explore other programming languages, try other roles or cover new positions. There are even cross-group agnostics to technologies called guilds that take care of broad issues that affect every team like security, quality, career definitions, and transparency

Is there any reason you would not recommend joining CoverWallet?

We are not a consultancy company or a tech department that serves software on demand, we are a product company, we deliver value through innovation which means that we work and study a lot and at a very fast pace.

If you can’t stand to be pushed continuously out of your comfort zone, if you don’t like to read technical books, if participating in workshops, masterclasses, and training represent a too big effort for you, then this place is not for you

Other companies have peaks of work, but we don’t; we have a constant pace, but it’s a marathon.

Summarizing: why someone should join us?

You will have a hard time finding another place where you will be able to grow so much, learn so many things at once, and become better, smarter, and more productive. Every time I and my friends look back to our past selves, even just 6 months ago, we see a big difference between what we were and what we are now. Isn’t this the real reason we look for a job?

--

--