For the past three years (and a few months), I have worked at a consulting company called Caylent. I have actively participated in more than ten projects, from machine learning proof-of-concepts to full data architecture implementations moving terabytes of data around. I decided to write about my experience and help some people who want to know about the company's culture and how it is to work here.

A few essential elements to bring it up:

  1. This is an independent perspective. I'm writing this on my initiative, not as a sponsored piece from Caylent.
  2. Some of the elements here that I will mention, the good parts or the bad ones, can be related not only to Caylent. It can be related to remote work, the consulting industry, or other external topics. Although this can happen, I think it is essential to quote those elements so everybody who joins the company has a complete vision.
  3. My vision will, probably, vary greatly from that of other people. I work on the Cloud Data Engineering practice, but there are different practices, positions, and projects. Some people work on long-term (six months to a year) engagements, others on short-term (weeks, a couple of months) engagements. So, remember that this is my way of seeing the company and nothing else.

The Intro

Before going into the details of my experience working here, I want to talk about a few questions:

  • What is Caylent? - It is an AWS partner consulting company that delivers technical and software architecture solutions in the cloud.
  • What do they work on? - In many technologies, from Kubernetes implementation and on-premise migrations to AWS and big data tools such as AWS EMR/Glue. It can change from proof-of-concepts in development environments, CI/CD pipelines, production implementations, etc.
  • Where are they located? - In the United States, but they have offices and engineers/architects in Argentina, Brazil, Canada, and other countries.

The Good

Where I work, I see great experiences for engineers and architects working on different sides of the company. Here are a few critical points for me:

  1. Diverse Project Exposure: New projects start every week. You can be assigned to one that allows you to work on tools that you have worked on in the past and enjoyed or want to learn deeply. Some people may interpret this as bad since they might not have in-depth knowledge of a product for years, but I see it as a bonus to work with a wide range of tools to get different requirements and projects done.
  2. AWS Partnership: Since Caylent is an AWS Partner, we have a strong relationship with Amazon Web Service. From working with their sales team to acquire new customers to suggest improvements to particular tools for their engineers/architects.
  3. Remote-First Culture: Most of the jobs here are remote, allowing you to meet many great people in different cultures that you might not have faced if working in a regular office environment.
  4. Social Opportunities: The company invests in all hands once a year for the central regions, like the one where I live in Brazil. Although being remote is good, it is awesome to meet people from all over the country and talk with the company's leadership.
  5. Solid Engineers and Practices: Here in Caylent, some people work with the biggest companies in the world, contributing to several well-known projects on the market and still helping to this day. These people help us daily to improve the company with more solid processes and conduct broad trainings. They help us keep up-to-date and build a better engineering culture overall.

The Bad

It is essential to list and understand some of the challenges that come from working here:

  1. Project Assignment Dynamics: You can be assigned to projects or tools you know but want to avoid working on. I saw a case of an engineer who implemented similar tools in 4 different projects in the same year, which was a bit tiresome for him. You can ask to work on particular tools or projects, but there is no guarantee that you will be assigned to those.
  2. Project Duration: Short projects can be interesting because of the variety, but they can be annoying. A bunch of meetings and processes follow the beginning and end of each project: discovery sessions, documentation to read or write, knowledge transfer sessions, and other details. This can be time-consuming and exhausting if you have several short projects in a year, like a different customer per month.
    1. As a counterpoint: I haven't seen many cases like this; when I saw it happen, people would "raise their hand" to their managers and ask for longer projects to get more hands-on and reduce the meeting time. And it would usually work, depending of the demands for upcoming projects.
  3. Detachment of the Product: I would believe that getting to know the team, the product, the stakeholders, and the business details would make me a better engineer/architect. But you need more time to go in-depth on the projects for that process; In Caylent, for a few weeks or a couple of months, you must deliver a high-functional technical solution that can work in production. And there is not enough time to learn about the business or meet with users/customers. Plus, you may need months or even years to be integrated with the product, which we don't usually have as contractors.
  4. Scope and Contracts: That one is tricky since every service company suffers from something that was sold and needed to be delivered within the expectations of each party. Contracts are aimed to be specific enough so the scope can protect Caylent and ensure the customer will receive everything they are paying for. The issue is that there are so many contracts and customers that producing the perfect project scope every time is unrealistic. So, it can be the case where customers asked for a requirement; they thought it was easy after the contract was signed or notified us of a compliance policy later because the team that signed the agreement was not aware of that limitation, and so forth.
    1. Although problems like this happen, I have seen the constant work of the Caylent internal team to have a robust approval process and ensure that each engagement has enough resources and the right amount of scope.

The End

After working here for three years, as the company's first data engineer and later promoted to engineering manager, I still enjoy working here despite the challenges.

I had chances to meet great people, opportunities to build incredible stuff, and the possibility to work with state-of-the-art technologies. I reinforced that I worked with the best people I know related to data/DevOps/Cloud; I was fortunate to have met them, and it is amazing how this person pushed me to become a better engineer every day.

If you want to join Caylent, check their careers and opportunities here. Once you join us, let me know if you have read this blog and give me feedback!