A Day in the Life of Diogo, Ruby on Rails Tech Lead

Diogo is a Tech Lead and Ruby on Rails Engineer who works from Lisbon, Portugal. He claims not to be “the typical engineer that will tell you that got into coding when they were six,” but rather someone who has always been curious about how everything works. That curiosity took him to study Computer Science and Electronic Engineering. He joined Whitespectre in 2016, where he’s taken on challenges from infrastructure redundancy, medical-grade security, and monorepos to manage b2b SaaS deployments. When he is not working, you can find him riding his Ducati Monster, traveling, or hanging out with friends.

In this article we cover:

Tell us about how you started at Whitespectre. How experienced were you when you joined?

I had worked on various startups before, so I was pretty experienced, but since I joined in 2016, I have grown a lot at Whitespectre. I’ve worked across three major clients, including leading a major IoT product for three years.

I first started on a team building a large fitness tracking platform for a big California company. I was a mid-senior, and the project’s tech lead was Leonid. He was a great mentor as he really led by example. As the project grew and Leonid had even more responsibilities, I started to step up, trying to be more involved in everything. He once took two weeks of vacation, and I kept everything running. That was my first ‘taste’ of the tech lead role.

How did your role evolve from there?

After being on that project for about a year and a half, I moved to a smaller project but with more lead responsibility. That allowed me to know how to handle a project in its full scope. Still, I lacked the necessary experience of working with a complex application with multiple teams. Together with Nick, the CEO of Whitespectre, we thought it would be good for me to get a grasp of that so I moved on to another product where we had a very large tech team. It was a microservices platform, with separate teams for different parts of an application served to millions of users.

Eventually, after taking more responsibility there, I became a tech lead on the IDION project for three years, leading the team to build out a large backend platform and the infrastructure to connect Rails with Bluetooth.

What’s the critical difference between working in a big team vs. a small one?

When working on a bigger scale, I would say the scope of your decisions is also more significant and you have to be very effective in your communication. For instance, if you’re working for a large client on a significant platform, you might have to work on a document for a tech approach and present it to a team of 60 people. It’s vital to be comprehensive and meticulous.

The good thing is that an experience like that helps you go into the next step. A big part of going from mid-senior to senior to tech lead is getting sharper on the things you take care of.

What’s it like when you move to a different product at Whitespectre?

Overall, I found that every project taught me something new because each one posed a new demand from the tech point of view and the client’s business needs. I guess you could compare it to the feeling you get when you change from one company to another but without the negative parts. In this case, you already know that you’ll be working with other very talented people and with a proper Agile process. That way you can focus on the adrenaline of facing yourself to different challenges, to rewire your brain to other needs.

What was the IDION project like?

It was a fantastic experience - although sometimes a little scary - since the product was very ambitious. IDION aimed at replacing conventional hospital wristbands with a skin-adhered patch ID Shield®. So, they needed custom software to integrate the hospital’s electronic medical records system with IDION’s cloud platform. This would enable custom Shields® to be printed on patient arrival. Hospitals could then provide ongoing care through the Shield®, streamlining outdated processes.

Seems hard!

Yes, the app had to do the Bluetooth interaction with the hardware that was being developed at the same time, so it was fun to see all the data tracking in the backend and how the whole circle connected. The more complex part was making sure that you could reach the product goals without storing any PHI (Protected Health Information). So we would store some representations of the user data because we were just printing shields. And then, the data would come over our server, and we would need to anonymize it on the pipeline altogether.

How did you feel when you finally launched the product?

It was great. I even went to New York for two weeks to launch it at the Lenox Hill Hospital. Certainly, one of the most memorable projects I’ve been part of.

Have you developed a distinct style of leading over the years?

As a lead, something that’s important to me is to convey the message that there are no dumb questions. That’s meaningful, for both mid and seniors, because people get this idea of “Oh, he’s a senior, he can’t have doubts or questions”. No, you can always ask, no matter how experienced you are. Of course, you also have to be responsible for your teammates’ time and try and learn by yourself, first. You should not be the person that keeps pinging everyone for everything. But you should also know that asking for something doesn’t make you sound dumb. It’s just a learning curve, and that curve always grows even if you’re a senior.

What are the other Rails engineers like at Whitespectre? Are they mostly senior?

Many are, yes, but that’s in general in all areas of the company. Looking back, it’s fun to see that on all the projects I’ve worked on here, the leader was very proficient and robust. That makes you want to learn from them, so looking up to someone you work with makes the everyday work very engaging.

Likewise, having a CEO with Ruby background makes you feel more heard, as it provides the company a good structure from the engineering point of view. All of this creates a sense of community, where you can always discuss doubts or ideas with any teammate. Everyone encourages you to share your knowledge and experiences with others in everyday tasks and specific meetings, such as the X-Rails sessions.

Also, I think that regular meetups play a vital role in the community part. Video calls are a great tool, but it’s fun to connect faces. I remember that on my first meetup, I was surprised how much people matched what I imagined them to be like, and after the meetup our connection was even stronger.

Can you tell us more about the X-Team Rails Sessions?

Every two weeks, all Ruby on Rails engineers meet to exchange our experiences during the last two weeks. It’s great because someone else on a very different project might be doing something similar, and you can help each other. Or sometimes, someone shows you a different way of doing that. So they are very interactive, and they help bring people together. Sometimes, new developers can be shy or reluctant, so those sessions are a great space for growing the community.

Finally, what’s your opinion on Rails' state and future direction?

I find it very interesting that Rails is moving to a decoupled state where, if you want to build an API now, you can check out that part of the project. The other great thing is that there’s this feeling that you are developing in a community that it’s moving forward steadily and that continues to drive powerful websites and apps around the globe.

I’ve been working on Rails for many years now, and it has continually evolved in a very sustainable way. Perhaps the updates are slower than with other platforms. Still, they are always very thoughtful, even when moving on major versions like rails 5 to 6 or 3 to 4. All the updates are very straightforward, and, in the end, it’s more than proven that it’s a scalable and very maintainable platform to work.

Want to work with Diogo at Whitespectre? We’re hiring developers.

Ready to get started?

Have a product idea or a business challenge?

Let’s Chat