Meet Diogo Rosa, Tech Lead
Diogo dives into his path from developer to tech lead, his favorite technical challenges, and what it’s like being part of the backend engineering team at Whitespectre.
Diogo is a Tech Lead and Backend 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 led 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:
- Diogo’s career at Whitespectre
- Being part of the Rails group at Whitespectre
- The future direction of Ruby on Rails
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 engineer, 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 our wearable healthtech IoT 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 wearable healthtech IoT project like?
It was a fantastic experience - although sometimes a little scary - since the product was very ambitious. Our client partner aimed to replace conventional hospital wristbands with a skin-adhered patient ID device. So they needed custom software to integrate the hospital’s EMR (electronic medical records) system with the cloud platform that we developed for them. This would enable the wearable patient ID device to be printed on patient arrival. Hospitals could then use it to provide ongoing care, streamlining outdated processes.
Seems hard!
Yes, the application 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 skin-adhesive IDs. 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 a large 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 backend 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. 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 a Ruby background makes you feel more heard. It's interesting to be in a company that was built from the ground up with an engineering point of view. 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 within our Ruby on Rails Capability Group. The meetings are very interactive, and they help bring people together.
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 RoR Capability Group?
Everyone at Whitespectre is part of a Capability Group - depending on their area of expertise e.g. Ruby on Rails, React Native, Product Management, Design, etc. We meet regularly as a group to share our project experiences and best practices, or to present something cool that we discovered recently. It's great because someone else on a very different project might be doing something similar, and you can help each other. We try to make it informal so that the barrier of entry is low and everyone can join in the discussion.
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 7 or 6 or 5. 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? Check out the open positions on our Careers page.