Hey Kaio! Thanks for taking the time to talk with me about your journey! To start, why don’t you tell me about yourself!
I’m originally from Goiânia, Goiás, Brazil but currently live in a small city called Palmas. Well it’s small by Brazil standards, it’s no São Paulo (12 million people) - there are about 400,000 people here. When I first arrived I only had my bike with me, I really like biking so I thought it would be all I’d need, but everything is pretty spread out so I now have a motorcycle as well.
For fun, I’m always reading plus... something else; for a while this was dancing. I learned 4-5 kinds of ballroom dancing, tango, zouki, forró and, of course, Brazil’s popular samba! At some point I realized that I wanted to fight more than I wanted to dance so I started training in jiu jitsu!
Hah! A bit of a change!
Yes, I’ve been doing it for 3 years. After practicing on a daily basis, I can tell you the best defense is to run! Always try to run first in a bad situation, you never know the other person’s intentions, if they have a weapon, or what their training is.
Great advice! So that’s your “something else” right now, but what do you like to read?
I read a lot of different things. I’ve always read fantasy, but lately it’s been more “reality-related” stuff - a lot about leadership (like, a lot) or books that have communication as the main topic. “Extreme Ownership” by Jocko Willink and Leif Brabin is one of my favorites. Jocko has a podcast that I listen to as well and he talks about a book in almost every episode.
I’ve also been reading a lot of war-related books. They’re very interesting even though they get in the way of my sleep. It’s quite hard to sleep after you read about the ugly stuff of war! Though it doesn’t affect my dreams. The only fighting that happens in my dreams is jiu jitsu - I always wake up right after I get a hold locked on my opponent. Always!
So you’re the CTO. How do you describe what you do here at Codelitt?
The shortest description is: my job is to make sure that everyone on the engineering team has what they need to succeed in their tasks. Since I'm no longer a full-time engineer (although I work with engineering as much as I can) my goal is to make sure my team has all the resources they need.
So yes, I’m the CTO, but in the tech world my role goes by a lot of different names. It’s kind of a hybrid of management and engineering. At the end of the day a person in my position is leading, but I also have to be in the trenches to ensure that the quality of the output is something that I myself would be proud of.
How did you end up in software engineering?
I’ve always loved technology. I got my first computer when I was 11 years old. I like to say that I “never really left the chair” even though I grew up with my mom telling me that I’d lose the use of my hands if I worked on the computer all day.
For university, I was initially focusing on Biological Sciences but 2 years in when I was 19 years old I made the switch to software engineering. I used to think these two were totally different, but I realized that a lot of areas, ecology and DNA work for example, are very mathematical in their approach. Also I saw that there were some lessons in biology, like the importance of naming and classification, that are also key in software engineering. We try and fail miserably in engineering, but we’re getting there!
What made you switch?
I became frustrated that I had to go through an entire course to properly work in the biology market. I could do some internships, but they were pretty limited. I also looked into the future and didn’t like the idea of doing research for the university. I believed that the idea was to write papers instead of getting results. There seemed to be too much focus on getting points academically than producing quality output, you know, to be promoted at the university it is about research points, not research results.
Software engineering also gave me the freedom to work where I wanted to. I didn’t have to be in a lab to work. I could use my reasoning to solve problems and get results - I didn’t need something physical, a specimen, to solve a problem. When we studied substances and their effects on rats, we had to go to the lab. I realized I’d rather get the problem that I was supposed to solve and then go off somewhere to think about it.
I’m also a big fan of small victories. You know, the really small things that add up at the end of the day. You can have this in biology, but every advancement is pretty huge since we know so much at this point. With software engineering, you can literally create anything out of thin air. Goals are only limited by time and not by any physical resource.
I like that! So how did you find Codelitt?
So before I started with Codelitt I was working for a tech company in Goiânia. At this point, I had already been studying software engineering for a while. I made up my mind to find the top engineer within my company so I could find out what makes them the best at what they do. This person was Bruno! He would later go on to become the CTO.
A year or so after I met him, Bruno and I had teamed up to lead an effort to create a new product for the company and started discussing the idea of working remotely. One thing I noticed was that there were a lot of positions looking for Ruby engineers, so I teamed up with him to learn it - although he knew quite a lot of it already. We both decided to start looking for remote jobs with US based companies. It was actually Bruno that found Codelitt first!
So before Bruno started working as Codelitt’s CTO, I reached out to him to see if there were any open source projects that I could work on after I’d finished with my day job. For me it was all about practice and the chance to get some more experience. Luckily Bruno said, yes there was a project!
This project was actually the side project for Cody, Codelitt’s Founder, so I had the opportunity to meet him briefly. A few weeks later, Bruno sent me a screenshot of a Slack conversation where Cody was asking Bruno if he “knew this guy Kaio” because they needed a Ruby developer. I was so happy.
I was initially offered a contract job for 3 weeks. Cody made sure this assignment was super clear for me saying something like, “Hey this is the deal - we only have work for 3 weeks. I just want to make sure you understand that if you leave your job for this, then in 3 weeks you won’t have a job anymore.”
This was the first opportunity to work remotely and for the US. It was huge for me! I was terrible at English, though. Like seriously, at one point during the interview Cody said, “Hey Bruno you can continue the interview in portuguese and just let me know what you think.” Honestly though, as soon as I received the screenshot from Bruno I knew I was going to say yes!
With Bruno being the CTO of Codelitt, I had a lot of responsibilities that I wouldn’t normally have had as a junior developer. He was working side by side with the CEO. Career-wise, it was great for me.
Jeff Bezos calls it “regret minimizing”. The idea comes from the question “What will you regret - doing something or not doing something?” If I hadn’t taken the opportunity I know, then I would have regretted it.
What are some of the big differences between then and now?
First thing that comes to mind is the size. I first joined as a contractor and at that time this meant I only had contact with the people that I needed to have contact with: the CTO and COO. We were a total of 7 people then and today we’re 35-40 people typically. Back then the engineering team was only 3 people and more often than not we were working on the same project together.
The amount of projects that we manage at the same time is different too. In the early days it was no more than 2-3. It took a while to run 4 projects. Now we’re much more efficient.
The third biggest difference is communication. In the beginning, communication was easy with so few people and projects. It was almost too easy! Back then, I had direct access to the CTO. You know, I didn’t have to run a question to HR. Anything project-related I ran to the CEO! Now it’s very different.
What are some of your favorite memories or favorite projects that you’ve worked on?
I think about this a lot - I have a lot of good memories. With projects, we always have something new which is always fun. In the beginning, it would often be only myself and another developer on a project, most of the projects in my first two years were like this.
I’d say my favorite project was my first project.
It was the hardest thing I’ve ever done. I don’t think I’ve ever worked so hard in my life. I mean, I’ve probably worked harder on other projects in recent years but I’m stronger than I was then. It’s like a guy going to the gym the first time and trying to lift. It was the first project that I owned fully - pages, process, etc. - I was the one developer tasked with building everything the user will see. Working together with the CTO was huge because he was able to provide me with a ton of technical help. I wasn’t as good as someone should be for this project, so I had to work extra hard for it.
On a common day, I worked 14 hours. Between Aug 1st and Oct 11th I worked 7 days a week, 14 hours a day. I may have taken two Sundays off, but I still worked 6 hours. That was a “day off” for me.
I mention that not because I think it was good. It was NOT healthy. Nowadays I would never accept working like that again. It was a “high cost” experience because it’s not just about the time spent working, it’s also about mental health. At one point I remember getting to my desk and seeing 5 empty cans of Red Bull. Sometimes I’d go to bed at 12am and wake up at 4am.
It was a great experience because it showed me how far I could go.
Although I’d love to say that I was up for continuing on like this if needed, I wasn’t. On Monday Oct. 11th I had it in my mind that I didn’t have the ability to continue working like this anymore - I needed to organize a proper schedule. To be clear, Codelitt never asked me to work on weekends, but since I took on the challenge I wanted to keep going until the end and I didn’t know how to make the deadlines any other way. And I still missed deadlines!
You remember that day very specifically huh?
Yes at 10:30pm on Oct. 11th I’d made up my mind to stop working like that. The funny thing is Oct. 12th comes around and Vincent, the COO, sends me a message saying, “we’re pausing the project.” It was like waking up from a dream - a 2 months and some days dream. Vincent said, “take Tuesday off and come back on Wednesday and you’ll have more work.” I was a little sad knowing I could’ve done more, but really I was mostly happy. It was like getting last place in a marathon - I still finished!
After that Bruno let me know that he’d talked to Vincent and they agreed to keep me on to continue helping out. One month later, I got word that I was hired full time and truly joined the team.
What keeps you coming to work each day? What do you like about working here?
Well the desk is very near my bed.
No really, it’s the challenge. It’s that same feeling of a challenge that drove me to Codelitt. In the company that I was working with before - I’m happy to have worked there, for the record - they used the same technology on every project. Here at Codelitt every month we work with different technology. This was challenging for me in the beginning, getting used to new technology, but now I’m used to this constantly changing. In the beginning, I might be moved to another project with 8 hours notice. One day, on a Friday at 9:30pm I got a message that I was being moved to an Android project. I said, “Ok when do I start?” The response, “tomorrow is as good as any day to start.”
As the CTO I try to take the mindset from my first project and bring it into the challenges we face today. My responsibility is to get things done. I have to make sure projects are being completed, tasks are getting done, and that we are meeting company goals. If it means helping my engineers by jumping on a project, I do it. I have to be a leader and the company is my playground. If I read about a leadership quality that I want to try, I do it. If it works well, great. If it doesn’t, I lose it.
I remember talking to Bruno years ago. He said, “I don’t know why you are so keen to become a senior engineer. At the end of the day it only means that you’re going to get a lot more work - you should be enjoying yourself!” But I wanted to be recognized as a senior engineer for Codelitt. Nowadays, I repeat that to my developers. The challenge is not to just keep existing, but to keep changing and getting better.
And this reminds me of Lewis Caroll when he wrote “Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!”
Short answer, I like knowing that I’m going to be facing a lot of challenges that I don’t know how to tackle each day. I’m confident that I can find the best possible way to solve them.
What are you most excited about in Codelitt’s future?
We are currently working on our internal projects and one of them is kicking off quite well. Internal projects have been talked about since day 1 for me. I’m excited that our team is growing despite issues with the economy. I’ve brought 3 people to the team in the last month alone!
The client projects are great too. At this point we have one of the best projects we’ve ever worked on.
Last is that the technology is changing so fast. Advancements are happening quicker than ever. It’s exciting!
What piece of advice would you give your past self who was just starting off as an intern or beginning their career.
My advice, and I’d have to explain it a little bit, is that reality is whatever we make of it.
A lot of times we accept how things are. We bring this solid mentality to our mind. For example, <holds up paper>, this is a paper. There’s no denying it. But when we are talking about reality in general, this is not just paper. I can see this paper came from a notebook and so I assume that it is for writing. But it’s not just for writing! If we always limit ourselves to how things appear, we are never going to advance as far as we could.
This goes for communication as well. When someone brings you a problem, it’s not necessarily the problem!
Kind of like people who say they don’t like math?
Exactly. The reason they don’t like it usually is because they’ve resolved to stay bad at it. The second you decide this, you limit yourself. It took me a lot of years to figure this out. - I think I was 22. When I decided to do software engineering, I decided that I would learn math and physics. I decided not to accept my self made limitations.
You know, we see things and have the opportunity to decide if we will accept them as they are or if they will be what we decide they will be.
During our daily standups at Codelitt someone always offers a Quote Of The Day at the end. Do you have a favorite quote to live by?
This is easy - “Do or do not, there is no try.” It encapsulates my whole philosophy.
Another one I like is, “you don’t have to be the best, you just have to be the last to stop moving forward.” When I first joined Codelitt it was pretty easy to be the worst (everyone else was awesome!) and I was. To be the best engineer it isn’t about skills, it’s about mentality.
When I started coding, almost everyone around me was better than me. A lot of people had started when they were 14 years old. I kept trying and trying and trying. I didn’t realize this simple summary, you don’t need to be the best, you need to be the last to stop pushing. I read this before I started jiu jitsu and it had a big impact on me.
Don’t try to do things, do things.
Kaio thank you so much, it’s really been a pleasure talking with you. Did I miss anything that I should’ve asked you about?
In case you’ve seen my website, yes, my favorite color is sky blue.